由于某些原因原作者删除了在 GitHub 上 Shadowsocks 的代码仓库并且停止对代码的维护,但是这并不妨碍SS在服务器上的安装。wiki 上的资料都还在,我在安装过程中根据 Shadowsocks 官网以及在 Github 上的资料完成本次安装。
一台 VPS
我推荐两家我用过的服务商吧,一家是Vultr,也是我正在使用的,没有信用卡的话也可以使用PayPal支付;另一家是搬瓦工(Bandwagon)。
搬瓦工有低配且便宜的选择,如果只是用于科学上网也还可以,目前在亚洲没有机房。Vultr相比搬瓦工费用能高一丢丢,最低配置(15GB SSD,1CPU,768MB Memory,1000GB Bandwidth)也不算差,除了科学上网放个网站也足矣。目前我使用东京节点的机子,进行路由跟踪你会发现会绕道美国,也有绕道香港的,这和当前所处的网络环境也有一定的关系。
现在Vultr正在做活动,使用我的Vultr邀请链接注册购买,你可获20美元而我可以拿30美元,前提是你往账户里充上10美元哈。不多说了,下面的内容才是重点。
安装 Shadowsocks
CentOS:
1 | # yum install python-setuptools && easy_install pip |
Debian / Ubuntu:
1 | # apt-get install python-pip |
服务器系统一般默认安装了 Python ,查看当前版本:
1 | # python --version |
确保服务器安装的是 Python 2.6 or 2.7
配置 Shadowsocks
创建一份配置文件/etc/shadowsocks.json
例如:
1 | { |
参数:
server:服务器IP地址
server_port:SS服务指定端口
local_address:本地服务地址,默认127.0.0.1
local_port:本地服务端口,常用1080
password:SS服务密码,禁止使用默认密码mypassword
timeout:服务超时,单位秒s
method:加密方式,默认aes-256-cfb
fast_open:TCP Fast Open ,true or false
配置多用户账号:
1 | { |
配置大同小异,如果文件写错运行会有错误提示。
使用 Shadowsocks
安装并写好配置后即可运行:
1 | # ssserver -c /etc/shadowsocks.json |
如果你通过SSH终端成功运行该命令,当关掉终端窗口服务随即终止。所以需要执行SS服务后台运行:
1 | # ssserver -c /etc/shadowsocks.json -d start |
如果要检查日志:
1 | # less /var/log/shadowsocks.log |
启动成功后,在各个平台设置好后即可使用。
某些情况导致 Shadowsocks 无法正常使用
防火墙禁止端口访问
SS 安装了也配置了,启动服务也没问题,但是在电脑或者手机连接上直接超时了。这可能是防火墙的问题,Vultr 的CentOS 7 默认打开了防火墙,而 Ubuntu 14.04 则没有。
可清空防火墙所有规则:
1 | # iptables -F |
个人觉得没必要清空规则,相反,我们可以手动添加规则确保 SS 所使用的端口能正常使用:
1 | # firewall-cmd --zone=public --add-port=8088/tcp --permanent |
port即在配置文件里写的端口,执行后规则立即生效。
也可以通过修改/etc/firewalld/zones/public.xml
文件,增加所要使用的端口,比如增加8088端口:
1 | <port protocol="tcp" port="8088"/> |
保存后,运行:
1 | # firewall-cmd --complete-reload |
配置生效。
socket.error: [Errno 99] Cannot assign requested address
在国内主机我尝试搭建 SS 也碰到过这个问题,具体解决办法是将 server
的 IP 设置为 0.0.0.0
即可解决上述问题,配置这样写:
1 | { |
最后
感谢clowwindy的贡献,希望 Shadowsocks 能助你轻松科学上网。