服务器里安装shadowsocks的移植版shadowsocks-libuv。
yum install wget gcc gcc-c++ openssl-devel zip unzip -y wget https://github.com/dndx/shadowsocks-libuv/archive/master.zip unzip master.zip cd shadowsocks-libuv-master vi config.h
1.修改配置文件,编辑/root/shadowsocks-libuv-master/config.h这个文件,具体路径是具体情况而异。
#define SERVER_PORT 是服务端口
#define PASSWORD 是密码
推荐改掉密码,前面的“#”不要删掉。
2.编译
./configure make make install
一般修改端口号和密码即可,端口号不要弄太常见的
修改完成后make编译
1 | make |
到此安装完成,如果你服务器开启了iptables防火墙则需要将shadowsocks端口号如10086加入防火墙中
1 | iptables -I INPUT -p tcp -m tcp --dport 10086 -j ACCEPT #加入规则 |
2 | service iptables save #保存 |
3 | iptables -L -n #查看的iptables规则 |
安装完成后我们可以将server文件任意改名或者移动位置,例如我移动到/root下改名为socksserver
1 | mv ./server /root/socksserver |
后台运行
1 | nohup /root/socksserver & |
如果不希望看到nohup.out,可以改为
1 | nohup /root/socksserver > /dev/null 2>&1 & |
设置开机启动,可以参照CentOS 程序开机自启动方法总结
1 | echo "nohup /root/socksserver > /dev/null 2>&1 &" >> /etc/rc.d/rc. local |
如果想临时修改参数
1 | $ ./server -? |
2 | ./server: invalid option -- ? |
3 | Shadowsocks Version:0.2 libuv(0.9) Written by Dndx(idndx.com) |
4 | Usage: ./server [-l listen] [-p port] [-k keyfile] [-f pidfile] [-m rc4|shadow] |
5 |
6 | Options: |
7 | -l : Override the listening IP ip地址 |
8 | -p : Override the listening port 端口号 |
9 | -k : Override the listening password 密码 |
10 | -f : Override the pidfile path pidfile位置 |
11 | -m : Override the encryption method 加密方式 |
【关于客户端】
shadowsocks的客户端现在还不太成熟,个人推荐http://sourceforge.net/projects/shadowsocksgui/files/dist/
yingwa更方便,适合新人,但我不喜欢,似乎访问任何网站都要代理一下(只是一下),令我反感。
安卓、IOS也有客户端,我没有试过。
【关于加密方式】
默认的加密方式为table,我也推荐使用这种加密,因为速度最快。
【关于更改端口、密码、加密方式】
没有配置文件,默认的配置就是在编译之前你所编辑的config.h文件,编译后,这些配置被编译到socksserver这个二进制文件里了。所以改密码的方法需要在启动命令里加参数,格式为:
比如,我只想把密码改为ilucong,所以我要kill掉shadowsocks进程,然后执行这个启动命令: ,同时也要修改一下开机启动里面的脚本。
【关于掉进程】
这个程序有个bug,经常掉进程,如果 查不到shadowsocks on po这条进程的话则说明进程掉了,需要重新开启。不过不用担心,我们可以使用linux自带的crontab定时任务功能彻底杜绝断线的可能。具体方法再发。