程序员的自我修养

shadowsocks

换上Mac后,发现shadowsocks居然可以设置全局和自动代理,真实比Windows下方面多了!之前我一直购买的是东哥的服务,一年才50RMB,速度也还可以,720p无压力。自己另有一台DigitalOcean VPS,不用也浪费,搭建一个好了。

Docker安装Shadowsocks

这是我试过最便捷的方式了,强烈推荐。只要下载docker镜像的速度够快,搭建真实几分钟的事情,命令也就两三条,咱们来试试:

配置docker

如果是DigitalOcean或者国内的阿里云,现在都可以选择在创建的时候Docker镜像。这样开启vps就能直接使用docker了。服务器一般我会选择Ubuntu 14.04版本。

如果没有Docker可选,那么也没关系,进如vps之后,自己安装一下即可。

安装shadowsocks

首先通过ssh连接到vps上。因为有了docker之后,就可以下载shadowsocks的镜像:

docker pull oddrationale/docker-shadowsocks

我在国内的阿里云上下载的时候会比较慢,因为不是官方的镜像(官方的镜像阿里云都有备份,这点确实做的很体贴)。

运行设置shadowsocks

输入:

docker run -d -p 1984:1984 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 1984 -k paaassswwword -m aes-256-cfb

这里的1984是服务器端的端口号,paaassswwword是密码, aes-256-cfb是加密方式。

运行:

docker ps

查看shadowsocks是否运行起来了,没问题的话就可以exit退出vps的登录了。

客户端设置

客户端填写好公网ip,端口,加密方式,即可连接。

Ubuntu下安装

首先,建议使用root用户登录,或者使用sudo命名,我这里以root用户为例把。请按顺序执行下面操作哦!

安装shadowsocks

第一次装的时候乱七八杂,也记不起来顺序了,反正用到的就是python版本,通过python-pip下载安装的shadowsocks:

apt-get install python-pip
pip install shadowsocks

配置shadowsocks

配置文件需要自行创建:

vim /etc/shadowsocks.json

写入:

{
    "server":"0.0.0.0", # replace your server IP
    "server_port":4762,
    "local_port":1080,
    "password":"8d779a1ee2db776db8e20adffaa12d0c",
    "timeout":300,
    "method":"aes-256-cfb"
}

安装Supervisor

apt-get update
apt-get install python-pip python-m2crypto supervisor

配置Supervisor

编辑或创建:

vim /etc/supervisor/conf.d/shadowsocks.conf

如果端口 < 1024,把上面的 user=nobody 改成 user=root。

优化

/etc/default/supervisor 最后加一行:

ulimit -n 51200

启动shadowsocks服务

使用Supervisor后台运行shadowsocks:

service supervisor start
supervisorctl reload

查看服务状态

运行状态: supervisorctl status

如果遇到问题,可以检查日志:

supervisorctl tail -f shadowsocks stderr

重启服务

如果修改了 shadowsocks 配置 /etc/shadowsocks.json, 可以重启 shadowsocks: supervisorctl restart shadowsocks

如果修改了 Supervisor 的配置文件 /etc/supervisor/*, 可以更新 supervisor 配置: supervisorctl update

可能出现的异常情况

在我第一次安装的时候,出现过unable to resolve host的情况。解决方法就是将其指向127.0.0.1,编辑/etc/hosts文件,在127.0.0.1后面,添加上自己主机的名称。

参考资料