使用 DigitalOcean 和 shadowsocks 来科学上网
使用了各种不稳定的VPN服务以后,我还是觉得自己搭VPS比较靠谱。DigitalOcean 提供了可伸缩的 VPS,最便宜的服务器是每个月$5,虽然对于学生来说不算便宜,但好在一开始充$5送$10,而且成功申请到 Github Student pack 的话,还可以得到$100。ShadowSocks 是科学上网的利器,在 Github 上已经得到了五千多个 Star,使用的人极多、影响极深。而且它对各个平台的支持也非常好,目前我在 Windows/Mac/iOS 三个平台上都拥有了科学上网的环境。
DigitalOcean
首先注册账号,激活邮箱自不必说。激活后就会收到$10的奖励,但是仅仅这样还是无法在 DigitalOcean 上创建虚拟主机。你需要绑定信用卡或者直接向你的账户里冲入$5才能正式开始使用。我的话,是在 paypal 账号上绑定了一张银联的卡来付款的,按这几天的汇率大概¥31左右吧。(另外附上我的邀请链接,嘿嘿:https://www.digitalocean.com/?refcode=09e0142818aa)
然后你就可以创建你的云主机了,选择 $5/mon 的那一档来支撑 shadowsocks 的服务足矣。经过测试 San Francisco 的机房延迟最低,平均在230ms左右。而 Singapore 的机房延迟在280ms,还有5%左右的丢包率。所以经过几次创建后又销毁重新创建地倒腾,我最后还是选择了使用 San Francisco 的节点。另外操作系统的话,我选择的是ubuntu 14.04 x64
的。
创建 SSH key
接下来可以添加 SSH key,这一步不是必须的,但是我觉得使用 SSH key 比使用 DigitalOcean 为你创建的随机密码好一点。如果不想做这一步,或者你之前已经创建过 SSH key 的话,可以跳过这一部分。
什么是 SSH key
SSH key 是一个简单而又安全地连接到你的远端设备的方式,通过它你不需要在网络上传输你的密码。SSH key 有 public 和 private 两部分,其中 private 部分存储在你的设备本地,而 public 部分则需要上传到远程设备上。当你通过 ssh 连接到远程设备上时,只有私钥和公钥匹配上才能登陆。
如何创建 SSH key
第一步,首先查看你本地设备上是否有 SSH keys。你可以运行以下指令:
如果没有任何输出,说明你需要创建一个新的 SSH key:
后面的 email 请替换成你自己的 email。接着你就会看到类似下面的信息:
比如我的公钥就生成于:/Users/Jerry/.ssh/id_rsa.pub,接下来就可以把公钥内容传到 DigitalOcean 上了,如下图所示:
Shadowsocks
其实在 shadowsocks 的github主页上有很详细地说明,但是为了本文的完整性,还是将这些操作放在本文中以供参考。
在服务器端安装shadowsocks
首先需要远程登录到 DigitalOcean 的主机上,我租用的 San Francisco 的机房 IP 地址是 104.236.177.232。而因为之前已经建好了 SSH Key,所以直接用 root 用户登录即可:
在 Debian / Ubuntu 下 安装 shadowsocks
我在实际安装下发现很多依赖缺失,所以需要先执行一下:apt-get update。另外也有一些同学会选择 CentOS 的服务器,附上在 CentOS 下安装 shadowsocks 的方法:
启动 shadowsocks 服务
安装好 shadowsocks 以后,启动 shadowsocks 服务可以通过以下指令:
但上面的方法很不方便,我还是推荐使用配置文件的方法。首先创建一个文件:/etc/shadowsocks.json,示例如下:
接下来你就可以使用下面这个指令启动服务
使用shadowsocks客户端
shadowsocks 的客户端支持各大主流平台,而且客户端的配置一般都很简单,只需要配置一下服务器的ip地址和之前设置好的连接密码即可。
参考资料
本文的版权归作者 邹润阳 所有,采用 Attribution-NonCommercial 3.0 License。任何人可以进行转载、分享,但不可在未经允许的情况下用于商业用途;转载请注明出处。感谢配合!