一、说点题外话

表示一开始并没有想走科学上网的道路,因为毕竟兔爬墙(见一些好物)还是可以很好解决访问谷歌搜索和谷歌学术的。但是自己做的项目需要一个服务器,需要那种可以监听端口的,BAE端口扩展服务已关闭已经满足不了需求了。在国内找了一圈vps,没有能支付得起的,于是打起了国外vps的主意。

找了很多vps评测的网站,推荐的提供商就是vultr搬瓦工ramnode,因为我只想找那种每年不超过100块的。

于是便兴冲冲的去了vultr网去挑他们的$2.5/月的vps,机房的地点只有纽约和迈阿密,都在东海岸。但这也丝毫抵挡不住我的热情,开了一台迈阿密的vps,付款倒是挺方便,可以使用支付宝支付,充值金额至少$10。付款、部署、开机一气呵成,但是给的vps ip却连不上,网页控制台倒可以连上。去搜索了这一类问题,才吓了一跳,原来有的国外ip已经被GFW给屏蔽了,解决方法就是删除已经部署的vps从而来更换ip地址。这倒没有难倒我,重新部署就重新部署,因为vultr的vps是按照小时收费的,所以部署完之后短时间之内就删除会扣费$0.01的。重新部署了一台还是不行,于是接连部署了十几台,依旧不行,结果还被扣费了0.12美元。看样子这个服务商是废了,一气之下提了个工单,将账户里的余额退回,按照网站提示,美国东部时间9点人家才会上班,查了下时间人家那边才凌晨2点多。算了,先去别的地方试下吧。

在去搬瓦工网站之前,去网站搜了下搬瓦工和ramnode的负面消息,结果搬瓦工的负面新闻报表。因为搬瓦工的vps也是很廉价的,于是就会有很多国人在上面搭建ss或者ssr服务器,造成GFW大面积封杀搬瓦工的ip。唉,没办法,那试一试ramnode吧。

打开ramnode官网,找了一款最便宜的vps,128MB内存+12G SSD+500G流量,每年只要15刀。对于项目来说128MB内存倒还是可以用的,毕竟不是什么特别消耗内存的程序,于是下单付款一气呵成,这个网站不支持支付宝,但是可以用paypal付款。用银行卡绑了个paypal完成了支付。vps部署完成之后就又呵呵了,服务器的ip依旧连不上,用ping工具查看,国外一片绿,国内一片红,又被墙了。然后就提了个工单说分配的ip我连不上,申请更换下vps的ip。本想着应该过很长时间才会解决,结果只过了5分钟不到就收到回复说已经更换好了。试了下新换的ip,同样被墙了,没办法只能再提工单。这次描述的很详尽,就说我们国家有个GFW,你能不能给我找个我们可以访问的ip。

360截图20180313184255252.jpg

本来不抱啥希望的,因为不可能让人家一个个ip给我试下来,过了几分钟他又回我了,说给我找了个ip,他用ping工具测了国内是可以ping通。心里一群卧槽跑了过去,没想到技术人员这么尽责。感谢ramnode,让我找到了一台便宜的vps。

360截图20180313184255252.jpg

二、vps科学上网

下面就说正事了。vps完美的申请下来了,项目却还没做好,还处于本地开发阶段,想着vps闲着也是闲着,便打起了搭建ss服务器的想法。

搭建的时候才发现原来搭建ss服务器原来这么简单。这里采用的是python版本的ss服务器。搭建步骤如下

  • 首先更新软件源,sudo apt-get update
  • 安装python的pip工具,sudo apt-get install python-pip
  • 安装ss服务器软件,sudo pip install shadowsocks

一切安装完毕之后,我们还需要创建一个配置文件,用来说明我们使用的加密算法、监听端口、用户名和密码等,格式如下

单个用户的配置
{
"server":"my_server_ip",
"server_port":8388,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"rc4-md5"
}

多用户的配置
{
"server":"my_server_ip",
"port_password":{
  "9001":"pwd001",
  "9002":"pwd002",
  "9003":"pwd003"
  },
"local_address":"127.0.0.1",
"local_port":1080,
"timeout":300,
"method":"rc4-md5"
}

各个字段的含义

字段含义
server服务器的IP,VPS的公网IP,注意这也将是服务端监听的IP地址
server_port服务器端口
local_port本地端口
password用来加密的口令
timeout超时时间(单位/秒)
method加密方式。可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″,
等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”。

Tips:加密方式推荐使用rc4-md5,因为 RC4 比 AES 速度快好几倍,如果用在路由器上会带来显著性能提升。旧的 RC4 加密之所以不安全是因为 Shadowsocks 在每个连接上重复使用 key,没有使用 IV。现在已经重新正确实现,可以放心使用。

创建完之后,执行下面命令即可完成ss服务器启动,在PC端使用ss客户端按照配置连接即可。

sudo ssserver -c /etc/shadowsocks.json -d start