没有google的日子实在是太痛苦了。只能用百度,工作学习效率大打折扣。陆陆续续用过不少科学上网的手段,但速度、稳定性和安全度都无法保障。于是出于爱折腾的精神,决定自己用vps架代理。通过海外vps构建科学上网,大大提升工作学习效率。
最初买完VPS想着搭建VPN(因为以前大学时用学校的VPN网速超快),但由于自己对服务器系统毫无基础,在尝试了多个教程后决定放弃。之后参照 Jerry的教程,不到10分钟就能连上google了。以下内容基于教程的个人操作步骤。
服务器选择:DigitalOcean
现在云服务器公司有不少,网上推荐的主要有Linode, DigitalOcean, Bandwagon, AWS等。结合购买成本、网友推荐等因素,我选择了DigitalOcean。
首先注册账号(通过我的邀请链接可以收到\$10的奖励),并充值。
然后就可以创建自己的云主机了。如果没有其他特殊需要,选择\$5/mon的足矣。节点方面,之前别人推荐的都是San Francisco,速度更稳定。但最近(2016年底)我的vps一直登不上,换了两次IP都只能连上一天。(猜测是美国的节点被墙了?)。于是换到了Singapore,目前使用2个月一切正常,网速似乎不如旧金山,但关键是能用。另外操作系统的话,我选择的是ubuntu 14.04 x64
的。
创建SSH key
接下来可以添加SSH key,这一步不是必须的,但是我觉得使用SSH key比使用Digital Ocean为你创建的随机密码好一点。如果不想做这一步,或者你之前已经创建过SSH key的话,可以跳过这一部分。
什么是SSH key
SSH key是一个简单而又安全地连接到你的远端设备的方式,通过它你不需要在网络上传输你的密码。SSH key有public和private两部分,其中private部分存储在你的设备本地,而public部分则需要上传到远程设备上。当你通过ssh连接到远程设备上时,只有私钥和公钥匹配上才能登陆。
如何创建SSH key
第一步,首先查看你本地设备上是否有SSH keys。你可以运行以下指令:
1 | cd ~/.ssh |
如果没有任何输出,说明你需要创建一个新的SSH key:
1 | ssh-keygen -t rsa -C "[email protected]" |
后面的email请替换成你自己的email。接着你就会看到类似下面的信息:
1 | Generating public/private rsa key pair. |
比如我的公钥就生成于:/Users/Jerry/.ssh/id_rsa.pub,接下来就可以把公钥内容传到Digital Ocean上了。
Shadowsocks
在shadowsocks的github主页上有很详细地说明。
在服务器端安装shadowsocks
首先需要远程登录到Digital Ocean的主机上,因为之前已经建好了SSH Key,所以直接用root用户登录即可:
1 | ssh root@VPS IP address |
在 Debian / Ubuntu 下 安装shadowsocks
1 | apt-get install python-pip |
在实际安装下发现很多依赖缺失,需要先执行一下:apt-get update。
启动shadowsocks服务
安装好shadowsocks以后,启动shadowsocks服务可以通过以下指令:
1 | ssserver -p 8836 -k `password` -m rc4-md5 |
但上面的方法很不方便,推荐使用配置文件的方法。首先创建一个文件:/etc/shadowsocks.json,内容如下:
1 | { |
接下来你就可以使用下面这个指令启动服务
1 | ssserver -c /etc/shadowsocks.json |
使用shadowsocks客户端
shadowsocks的客户端支持各大主流平台,而且客户端的配置一般都很简单,只需要配置一下服务器的ip地址和之前设置好的连接密码即可。