DigitalOcean VPS 科学上网体验

今天 glgoo 暂停服务了,赖以生存的 Google 曲线救国方案没了,GoAgent 又太慢,遂想折腾个 VPS 搭个代理解决科学上网的燃眉之急。

DigitalOcean 作为一个 VPS 提供商新秀,以其高性价比的优势一直与高富帅的老大哥 Linode 争夺市场。最近更是在 GitHub 针对高校学生的优惠活动「GitHub Student Developer Pack」中推出免费 $100 的优惠服务,如果以最便宜的 $5/月 计算,可以用小两年了。对于长这么大还没玩过VPS的孩子来说,这诱惑太大了。用VPS来科学上网当然有点大材小用了,更多的是想在VPS架一些自己的网站(非博客)、跑些脚本、学点东西。

但是对于普通学生来说要拿到这100刀还是比较麻烦的。首先,你得有个 GtiHub 账号,并且验证了你的 edu 邮箱(之前笔者在 GitHub 推出学生免费私人仓库时已经验证过了,再次感谢GitHub)。然后点击GitHub Student Developer Pack 活动页面中「Get your pack」按钮,就可以看到合作产品的优惠活动了,这里包括了来自 NameCheap 的免费 .ME 域名,再次推荐。

通过上图的链接和邀请码注册后,就可看到100刀了,但是还需要绑定个人信用卡或者使用 Paypal 支付5刀才能激活。前者可以用财付通的运通虚拟国际卡,但是目前已经不开放申请了。所以就用Paypal支付5刀吧。Paypal的激活就此略过。这之后就顺利的拿到 $105 了。

第一个VPS

接着就能快速创建VPS了,选择 $5/月的足矣,机房最好选在旧金山,DigitalOcean 美国西海岸机房速度还是非常优秀的,比纽约的要好,千万不能选新加坡,因为貌似还没有国内专线所以速度不敢恭维。如果已经创建了你的 Droplet 又想换机房,可以参考这篇博客。完成后便会收到含有主机 IP、登陆账户、密码的邮件。

在 Mac/Linux 上可以直接在终端 ssh 到 VPS。Windows 的话我使用的 PuTTY。接着你就可以操控你的 VPS 了。

ShadowSocks 科学上网

ShadowSocks 说自己是一个「可穿透防火墙的轻量代理」。OK!这正是我想要的,能满足我科学上网的需求就够了。ShadowSocks 的 GitHub Wiki 主页上已经有详细的中文使用说明了。但作为搬运工,还是简要说明下吧。

1.在服务端安装 shadowsocks 库

apt-get install python-pip
pip install shadowsocks

2.创建配置文件/etc/shadowsocks.json。示例:

{
"server":"服务器 IP 地址",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}

上述配置,只需要修改serverpassword,其他默认即可。

在服务器上运行 ssserver -c /etc/shadowsocks.json 即可。如果要在后台运行, 请使用 SuperVisor.

3.在 Mac/Windows 推荐使用客户端 Shadowsocks GUI 连接代理。配置也非常简单,注意server ip 和 password 改成自己的。

Mac 端的启动后可以自动实现全局科学上网,并根据 GFWList 区分墙内外流量。Windows 端的需要配合浏览器代理一起使用,Chrome 的话推荐 SwitchySharp切换代理设置。把浏览器代理设为下列参数即可:

协议: socks5
地址: 127.0.0.1
端口: 你填的 local_port

如果无法安装 SwitchySharp,可以先用下列参数启动 Chrome,强制它使用代理:

Chrome.exe --proxy-server="socks5://127.0.0.1:1080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

移动端也可以参考Ports and Clients下载对应软件。但是只能在其内置浏览器中科学上网,所以移动端上 ShadowSocks 就不如 VPN 方便。

4.完成

后台运行

如果要在后台运行,请使用 supervisor

执行

apt-get update
apt-get install python-pip python-m2crypto supervisor
pip install shadowsocks

编辑 /etc/supervisor/conf.d/shadowsocks.conf

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autorestart=true
user=nobody

/etc/default/supervisor 最后加一行:

ulimit -n 51200

执行

service supervisor start
supervisorctl reload

如果遇到问题,可以检查日志:

supervisorctl tail -f shadowsocks stderr

如果修改了 shadowsocks 配置 /etc/shadowsocks.json, 可以重启 shadowsocks:

supervisorctl restart shadowsocks

如果修改了 Supervisor 的配置文件 /etc/supervisor/*, 可以更新 supervisor 配置:

supervisorctl update

最后看看效果,访问 Google 和 Youtube 的速度如下:

总体很满意,打开 Google 秒开,校园网看 Youtube 1080视频无压力。用来科学上网绝对是没问题了。甩 GoAgent 好几条街了。

后记

DigitalOcean VPS + ShadowSocks 能基本满足科学上网的需求了。但是我说了用 VPS 来科学上网就大材小用了,如果你只是为了科学上网,或者你不是程序员,看到 VPS 什么的就头大,那最好的办法就是买个 VPN ,方便实惠速度又快。在这里我比较推荐 云梯VPN,算是国内比较出色的一款服务,最低10元/月,基本上国外网站都是秒开,看Youtube视频无压力,配置安装基本都傻瓜一键式,覆盖多平台(我这么做广告,是不是应该给点广告费啊)。唯一要吐槽的就是居然只有包年套餐!

需要的可以走这里:云梯VPN。线路推荐使用新加坡1号。

-EOF-