编译安装shadowsocks

shadowsocks-libev是shadowsocks众多版本中的一种,它使用libuv + C 编写,500不到的代码,资源消耗非常小,再破的VPS都能跑得起来。相对于其他版本的shadowsocks,shadowsocks-libev不会出现掉进程或cpu 100%的问题。

这里是搭建服务器
1.安装必要组件
centos执行 yum install gcc libtool openssl-devel -y
debian执行 apt-get install libtool libssl-dev gcc -y
2.安装git
centos执行 yum install git -y
debian执行 apt-get install git -y
装完了执行 git –version ,如果出版本号则安装成功。
3.下载shadowsocks-libev源码包并编译
git clone https://github.com/madeye/shadowsocks-libev.git
cd shadowsocks-libev
./configure
make && make install
4.运行shadowsocks
nohup /usr/local/bin/ss-server -s IP地址 -p 端口 -k 密码 -m 加密方式 &
比如:nohup /usr/local/bin/ss-server -s magicwall.cn -p 1080 -k admin888 -m table &
5.加入开机启动
echo “nohup /usr/local/bin/ss-server -s IP地址 -p 端口 -k 密码 -m 加密方式 &” >> /etc/rc.local

这里是在路由器上的设置
原理
利用ChinaDNS作为dns解析服务器,起到防止DNS污染作用和缓存作用!再利用ipset进行端口转发到shadowsocks指定的本地端口,还有再配合/etc/shadowsocks/ignore.list进行分流。(忽略国内的IP段,国内网站不走代理!国外网站自动识别为被污染的IP段,然后进行代理)
6.路由器上启动服务
/etc/init.d/shadowsocks enable
/etc/init.d/chinadns enable
/etc/init.d/chinadns start
/etc/init.d/shadowsocks start
在路由器上做个定时任务
先做一个更新脚本/sbin/update-chinadns.sh

#!/bin/sh
LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
wget -4 --spider --quiet --tries=1 --timeout=3 www.google.com
if [ "$?" == "0" ]; then
    echo '['$LOGTIME'] No problem, the normal operation of shadowsoks.' >> /var/log/shadowsocks_watchdog.log 2>&1
else
    echo '['$LOGTIME'] Shadowsoks abnormal operation, update the ignore list and restarting shadowsocks.' >> /var/log/shadowsocks_watchdog.log 2>&1
    wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt
    cp /etc/chinadns_chnroute.txt /etc/shadowsocks/ignore.list
    /etc/init.d/shadowsocks restart
fi

然后在计划任务里面加入

30 6 * * * /sbin/update-chinadns.sh
30 5 * * * /sbin/reboot

7.在路由器的服务中的ChinaDns,勾选启用
chinadns
保存并且应用
上游DNS服务器包括国内DNS服务器和国外DNS服务器(至少要填写一个国内和一个国外的这样才能使ChinaDNS正常运行),还有国内DNS服务器建议你根据自己的情况填写当地ISP DNS ,国外的也是这样,也可以保持我们原始的默认配置。
注意!本地端口根据自己的情况做出适当的改变!双向过滤除非网络情况特殊,不然不建议开启!
勾选启动压缩指针可以减少DNS解析延迟时间!建议开启!
8.在路由器的RA-MOD中的shadowsocks,勾选启用,并且设置服务器的信息
shadowSocks
保存并且应用
注意!刚才填写的ChinaDNS的本地端口要跟这里填写的一致,不然ChinaDNS就不能完成解析,将会无法解析!
9.更新Dnsmasq,将DNS转发给ChinaDNS
dns
10.禁止解析文件
dns-2
忽略此解析文件防止对解析结果进行干扰!
11.无需任何设置,系统会自动根据境内境外的IP选择是否使用代理服务器

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。