使用VPS和Shadowsocks科学上网

  近来goagent越发地不好使了,VPN封死一片,在手机上常用的fqrouter也一度传出不再更新的消息,后来作者虽然坚持更新,但却无法在GooglePlay上下载应用。最近开始使用Shadowsocks实现科学上网,相关介绍可以参考Wiki

Shadowsocks 是一个安全的socks5代理,用于保护网络流量,是一个开源项目。通过客户端以指定的密码、加密方式和端口连接服务器,成功连接到服务器后,客户端在用户的电脑上构建一个本地socks5代理。使用时将流量分到本地socks5代理,客户端将自动加密并转发流量到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

  如上所述,使用Shadowsocks需要一个服务器端。网上可以搜到很多免费的服务器,但大多速度缓慢,连接也不稳定。想要获得最佳科学上网体验,还是得选择付费的服务器,或者自己搭建一个。下面介绍使用VPS配置自己专属Shadowsocks服务器端的方法。

0. 建立VPS

  首先要有一个海外VPS。关于VPS服务选择的讨论有很多,这里选择DigitOcean,其提供的最低套餐为5美元/月,首次注册赠送10美元,其旧金山机房速度不慢,白天轻松满速。

  在https://www.digitalocean.com/注册并登陆,注册时使用的邮箱会用来接收初始密码等信息。登陆后,点击界面左上角的“Create Droplet”按钮,开始建立VPS:

图 1

图 1

然后进行相关配置。如果只是用作Shadowsocks的服务器,在“Select Size”一栏选择最低一档5美元/月(“$5/mo”)即足够使用:

图 2

图 2

在“Select Region”一栏,选择“San Francisco”,传说中连接大陆的最速机房:

图 3

图 3

“Available Settings”可以不管:

图 4

图 4

在“Select Image”一栏,可以依个人爱好选择,这里以Ubuntu为例:

图 5

图 5

点击“Create Droplet”完成设置:

图 6

图 6

稍等片刻:

图 7

图 7

完成后,点击左侧的“Droplet”,即可看到刚才建立的VPS了。

图 8

图 8

1. 登陆VPS

  在上面完成VPS配置后,登陆账号的邮箱内会收到VPS的相关信息,格式如下:

Droplet Name: XXX
IP Address: 192.241.XXX.XXX
Username: root
Password: ujdqrlcaxmzs

  现在就可以登陆到VPS了。DigitOcean提供了网页版的登陆环境,也可以在http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html处下载putty.exe,使用PuTTY进行登陆。

  运行putty.exe,在“Host Name”一栏输入邮件中的IP Address,“Connect Type”选中“SSH”,点击“Open”。

图 9

图 9

  然后在“login as:”后面输入邮件中提供的用户名“root”,在“root@192.241.XXX.XXX’s password:”后面输入邮件中提供的密码,注意这里输入密码是完全没有显示的,你的键盘没有坏(可以复制后,在PuTTY中点击右键,即可粘贴),就可以完成登陆。第一次登陆会强制要求修改密码。

图 10

图 10

2. 配置并启动Shadowsocks服务器端

  然后依次执行:

apt-get update
apt-get install python-pip
apt-get install -y python-setuptools
pip install git+https://github.com/shadowsocks/shadowsocks.git@master

  如果过程中询问“Do you want to continue? [Y/n]”,输入“Y”继续。

  之后可以使用如下命令启动Shadowsocks服务器端:

ssserver -p 443 -k password -m rc4-md5

   其中“443”为端口号,“password”为密码,“rc4-md5”位加密方式,可以根据需要进行修改。也可以使用如下的命令在后台运行Shadowsocks服务器端:

sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start

  启动后会出现如下的状态信息:

2015-03-24 10:28:24 INFO     loading libcrypto from libcrypto.so.1.0.0
started

3. 配置并启动Shadowsocks客户端

  在https://sourceforge.net/projects/shadowsocksgui/files/dist/下载最新的客户端,解压后运行Shadowsocks.exe,根据之前的配置完成输入,点击确定。这里服务器端口、密码和加密三项都是在前面使用ssserver 命令时配置的,最下面的“代理端口”则是本地代理的端口,稍后会作说明。

图 11

图 11

  在系统托盘的Shadowsocks图标上点击右键,选择“启动系统代理”,就会为IE设置代理,IE就可以科学上网了。如果其他浏览器或应用(如迅雷)也要使用Shadowsocks,只需找到对应代理服务器设置的地方进行设置,代理服务器IP地址为之前的服务器IP地址,代理服务器端口为配置Shadowsocks客户端时的“代理端口”(默认为1080)。

图 12

图 12