安装Shadowsocks翻墙

VPS上的VPN已经配置好了,并且可以使用了,但是对我来说不是很方便,因为我平时要靠VPN免费上网的,不可能同时挂两个VPN出来,于是就有了本文。

Linode给我的感觉就是IPv4很慢,但是IPv6还不错,是因为GFW暂时还没有照顾IPv6的原因吗?这就不得而知了。

进入正题,本文没有什么原创的地方,大部分是搬运自Line牛的博客。我在此就是记录下。

Server:

1.安装pip和shadowsocks

Debian

1
2
apt-get install python-pip
pip install shadowsocks

CentOS:

1
2
yum install python-setuptools && easy_install pip
pip install shadowsocks

2.使用:

1
2
3
4
5
6
7
8
9
10
11
#开启服务
ssserver -p 443 -k password -m rc4-md5

#如果要后台运行:
sudo ssserver -p 443 -k password -m rc4-md5 --user nobody -d start

#如果要停止:
sudo ssserver -d stop

#如果要检查日志:
sudo less /var/log/shadowsocks.log

使用配置文件:
创建一个配置文件/etc/shadowsocks.json ,这里我走的是IPv6的代理,IPv4的自己在github上有

1
2
3
4
5
6
7
8
{
"server":"::",
"server_port":8118,
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb"
}

好吧大概说下,server是服务器的地址,ipv6就写成::就可以了。然后server_port是服务器的端口,local_port是本机端口。这里的password要说下,里面配置的是明文密码,然后在传输的时候会用aes加密,一开始我以为是密文,还纠结了一下。

1
2
3
4
5
6
启动服务:
ssserver -c /etc/shadowsocks.json
以守护进程形式运行:

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

Client:

我这里说的Client其实不是真正在用的Client,是我一台在学校的服务器(172.18.19.xx),算是中继服务器吧,因为我拨号上网之后就没有IPv6了,所以我就用了这个。

Windows客户端就直接参见Line的博文吧:http://blog.l1n3.net/debian-7-5-install-shad0ws0cks/
下面我说下Linux的

1
2
3
wget http://dl.chenyufei.info/shadowsocks/latest/shadowsocks-local-linux64-1.1.4.gz
gunzip shadowsocks-local-linux64-1.1.4.gz
chmod a+x shadowsocks-local-linux64-1.1.4.gz

然后:

1
2
3
4
5
6
7
8
9
10
11
12
13
shadowsocks-local-linux64-1.1.4 --help

Usage of shadowsocks-local-linux64-1.1.4:
-b="": local address, listen only to this address if specified
-c="config.json": specify config file
-d=false: print debug message
-k="": password
-l=0: local socks5 proxy port
-m="": encryption method, default: aes-256-cfb
-p=0: server port
-s="": server address
-t=300: timeout in seconds
-version=false: print version

于是我们直接:

1
shadowsocks-local-linux64-1.1.4 -d=false -k="服务器的密码" -m="aes-256-cfb" -l=8118 -p=8118 -s="服务器的IP,写成ipv6的"

这样其实就已经可以了。
但是呢我不想每次都在中继服务器上输入这么长的命令,那就搞配置文件吧。

1
2
3
4
5
6
7
8
[root@mediciyan ~]# cat /etc/shadowsocks.json
{
"server":"xxxx:xxxx::xxxx:xxxx:xxxx:xxxxx",
"server_port":8118,
"local_port":8118,
"password":"99cc41fa1xxxxxxxxxxxxxx",
"method":"aes-256-cfb"
}

嗯,密码是明文的,我是为了好记就放了个md5上去了。
然后就可以运行:

1
2
shadowsocks-local-linux64-1.1.4 -c /etc/shadowsocks.json
#这里记住不要和Server那里搞混了哈.

为了不挂断
我们使用screen就可以啦。

好了暂时就这样吧。