在 Linode VPS (Ubuntu 11.04) 上搭建 PPTP VPN

最近国内网络的限制愈演愈烈(而 Google Reader 即将关闭的消息更是雪上加霜!)。现在 Linode Tokyo 的 VPS 似乎是在被检测出 SSH 流量之后就会封其 IP。自己的博客在使用 SSH 管理后台时不幸遇害。申请更换 IP 之后,不知怎么的原来的 L2TP VPN 出了什么问题(或许是由于之前在配置时对 IP 进行了硬编码)始终无法连接。于是打算试试看 PPTP VPN。另一方面,Android 4.0 中有一个系统 bug,无法连接 L2TP/IPSec PSK 的 VPN,于是自己的手机和平板已经很久没有连过 VPN 了。同时,最近 Google Play 改变了策略,根据 IP 地址与信用卡地址来判断用户所在国家地区,所以搭建一个 PPTP VPN 的必要性似乎也更强了(笑)。

以下的内容只是一份备忘,是整合了网络上很多其他人提供的信息而成的,在此对他们表示感谢。不过原本的教程或多或少都有些问题,自己对其进行了简单的整理与修正,现在的版本是至少确定能够在 Linode Tokyo ( Ubuntu 11.04 32bit)的环境中成功实现的。同时,在现时点,确认可以在中国移动 GPRS 与中国铁通的宽带网络中正常连接。

以下是控制台的具体步骤:

1、更新系统(可选)

sudo apt-get update
sudo apt-get upgrade

2、安装 PPTP

sudo apt-get install pptpd

3、配置 PPTP

vi /etc/pptpd.conf

添加以下内容并保存(将 YOUR.SERVER.IP.ADDRESS 替换为服务器 IP 地址。例如 10.0.0.19 ,则 remoteip 为 10.0.0.20-255,10.0.0.1):

localip YOUR.SERVER.IP.ADDRESS
remoteip YOUR.SERVER.IP.ADDRESS+1-255,YOUR.SERVER.IP.1

4、添加 PPTP 用户

vi /etc/ppp/chap-secrets

添加用户条目并保存(其中 username 与 password 部分可任意替换):

username * “password” *

5、修改 PPTP 配置

vi /etc/ppp/options

添加 DNS 服务器信息

ms-dns 8.8.8.8
ms-dns 8.8.4.4

6、添加 ipv4 转发

vi /etc/sysctl.conf

添加以下内容并保存退出

net.ipv4.ip_forward=1

7、启用 ipv4 转发

sysctl -p

8、重启 PPTP 服务

/etc/init.d/pptpd restart

9、启用转发

iptables -t nat -A POSTROUTING -s YOUR.SERVER.IP.0/24 -o eth0 -j MASQUERADE

其中 YOUR.SERVER.IP 是服务器 IP 地址的前三段

注意,在重启服务器后一些转发配置将会失效,需要重新配置。可以通过添加启动脚本来避免每次手动执行转发的启用。

在连接时,需要选择“可选加密”(Windows)或是“禁用 MPPE(PPP 加密)”,否则会无法连接。

最后想说的是,PPTP 连接的安全性较 L2TP 要差。所以可能的话,还是要尽快解决现在 L2TP 无法连接的问题才行。

索尼(Sony)发表 Xperia 系列中低端机型 Xperia L 与 Xperia SP

今天索尼移动(SMC)正式发表了 Xperia 家族的两位新成员,定位中低端的 Xperia L 与 Xperia SP。

Xperia L 有一块4.3英寸的 FWVGA 分辨率(854×480)屏幕,8MP 的 Exmor RS 摄像头,以及 Snapdragon S4 Pro 1.7GHz 双核处理器和1GB的 RAM。提供了白、黑、红三色。

Xperia L is the Android mobile designed with Sony’s leading camera expertise.

Xperia SP 则是4.6英寸的 1280×720 分辨率的屏幕,以及与 L 级别基本相当的硬件配置。

Xperia™ SP, the brilliance of Sony inside and out.

这两款手机都出自索尼移动的中国团队,开发代号分别为 TaoShan 与 HuaShan。虽然性能低端,但具有特色的外形以及能够在微光环境下获得较好拍照效果的 Exmor RS 传感器都是加分点。

产品页面(英文):

Xperia L

Xperia SP

Android 中创建震动通知

代码与范例:

说明:这时不会生成状态栏通知。需要注意的是,要在 manifest 中添加 <uses-permission android:name=”android.permission.VIBRATE” /> 权限。

Android 中创建状态栏通知

代码与范例:

说明:NotificationManager 可以通过 getSystemService(NOTIFICATION_SERVICE) 方法取得。它本身还有一些其他的便利方法:

cancel(int id)
删除指定 id 的通知。

cancelAll()
删除本应用程序发出的所有通知。

Android 中一些特定情况下的活动生命周期

Android 中一个 Activity 的标准生命周期可以参考「应用程序基础」中的活动的生命周期一节。

而下面是一些特定情况下的生命周期:

— 从 Launcher 中启动 —

onApplyThemeResource(Resources.Theme theme, int resid, boolean first)
onCreate()
onWindowAttributesChanged (WindowManager.LayoutParams params)
onContentChanged()
onStart()
(*onRestoreInstanceState(Bundle))
onPostCreate(Bundle)
onResume()
onPostResume()
onAttachedToWindow()
onWindowFocusChanged (boolean hasFocus) : true

— 按下 home 键  —

onUserInteraction()
onUserLeaveHint()
onSaveInstanceState()
onResume()
onPostResume()
onWindowFocusChanged (boolean hasFocus) : false
onCreateDescription() : null
onStop()

— 通过长按 Home 键以启动 —

onRestart()
onStart()
onResume()
onWindowFocusChanged (boolean hasFocus) : true

— 通过 Back 键终止 —

onUserInteraction()
onResume()
onWindowFocusChanged (boolean hasFocus) : false
onStop()
onDestroy()
onDetachedFromWindow()

Android 中判断 Home 键被按下

代码与范例:

说明:事实上,Android 本身并不支持对 Home (物理按键或是虚拟按键)键按下的判断。但是 onUserLeaveHint() 是按下 Home 键后一个 Activity 必经的方法,所以在很多时候可以借此实现对 Home 键按下的判断。值得注意的是,这一方法有一个副作用,即,在其他一些离开当前 Activity 的场合下该方法也会被调用。如有必要,可以通过设置 flag 等方式加以区分。

君ノ世界

 

第九弾、「君ノ世界」。

ある日、廊下で本を読んでいる少女と出会った。

 

这次的构想其实在去年就逐渐形成了。使用油彩工具并且选择了无边框的风格,算是一种新的尝试。这次在人体结构上也费了不少心,听取了很多人的意见,也反复修改了数十稿。或许是由于构图上比较强的透视效果也是一个难点,最终仍然不太好,有些别扭。左手的摆法也考虑了很多,而选择了现在的版本。虽然现在的水准还很不够,不过每一次都能切实感到自己经验与技巧的提升,要再接再厉。

这次画中的元素有三件:索尼爱立信的第一款 Android 智能手机 Xperia (SO-01B,即 Xperia X10),以出众的外形与强大的性能成为一时话题。虽然也存在多项缺陷与不足,但作为早期的高端 Android 手机,对索尼爱立信以及现在的索尼移动都有着重要意义。也是自己的第一部智能手机。索尼主动降噪耳机 MDR-NC033,是 NC33 的非零售版本,专供于 Walkman 或是其他支持主动降噪的设备作为附件搭送。有着与准千元级耳机级别相当的优秀音质。同时,由于采用了第二代降噪算法和新式耳塞,比起自己过去使用的 NC22 明显更胜一筹。筒井康隆的最为著名的SF小说「時をかける少女」,也是自己一直以来非常喜欢的一部作品。

 

最近各种状态都相当不错。又或许只是因为不断地有事要做,所以才顾不得去想那些烦心的事吧。对未来有着各种美好的期待,不过也记得,根据经验,所有乐观的估计最后都是不得不大打折扣的。即使如此,还是喜欢相对乐观一些,给生活多添加些希望。

说起来,被说现在自己这样的水平要画写实风格的话一般都会成为黑历史了吧…所以下一次会考虑使用偏卡通一些的风格,这样人体结构的问题也会少很多吧。而偏写实风格的话,则是如果能有个模特就好了(笑)。