写在前面: 由于使用本方案的人很少,因此不再更新!建议使用其他两种方案!
本站发布的三种shadowsocks在openwrt上的自动科学上网方案:
1、Shadowsocks + Chnroute 实现 OpenWRT / LEDE 路由器自动科学上网
2、Shadowsocks + Redsocks 实现 OpenWRT 路由器自动科学上网 (停止更新)
3、Shadowsocks + GfwList 实现 OpenWRT / LEDE 路由器自动科学上网
本方案在openwrt上运行ss-local(相当于 shadowsocks 客户端以及本地socks5服务端),然后利用 redsocks (相当于socks5客户端)可完成openwrt的自动科学上网。该方案同样使用aa65535提供的包,并且redsocks具有luci界面,方便开关和配置。
本方案适合那些不喜欢国外IP全走代理,而是被墙才走代理的人使用;redsocks2无需chnroute也无需gfwlist,采用自动判断机制,省心省力;但缺点也很明显,自动判断机制会先尝试连接站点,需要等待一个时间连接失败才会转到代理上,等待时间会让有些人难受;而且可能无法应对gfw的中间人攻击,对于非http/https的应用的自动判定可能支持也不太好。
此方案同样推荐搭配ChinaDNS使用,做防DNS污染以及解析优化。
一、安装
首次安装的话,先安装必要的包,确保路由器联网,先更新软件包列表(下载有问题的请手动到openwrt.org下载所有需要的包并上传到路由器上使用opkg install XXX.ipk命令安装):
1 |
opkg update |
shadowsocks有openssl和polarssl两个版本选择,ROM空间吃紧的就选择后者吧。
如果要用polarssl版本的shadowsocks(polarssl体积更小):
1 |
opkg install libpolarssl |
如果要用普通版本(openssl)的shadowsocks,那么(openssl兼容性更好):
1 |
opkg install libopenssl |
然后需要根据自己CPU型号选择包,请选择不带spec的包:
shadowsocks-libev: http://sourceforge.net/projects/openwrt-dist/files/shadowsocks-libev/
chinadns-openwrt: http://sourceforge.net/projects/openwrt-dist/files/chinadns/
luci-app-chinadns: http://sourceforge.net/projects/openwrt-dist/files/luci-app/chinadns/
redsocks2: http://sourceforge.net/projects/openwrt-dist/files/redsocks2/
luci-app-redsocks2: http://sourceforge.net/projects/openwrt-dist/files/luci-app/redsocks2/
最后当然是安装了
1 2 3 4 5 6 |
cd /tmp opkg install shadowsocks-libev_x.x.x-x_ar71xx.ipk opkg install ChinaDNS_x.x.x-x_ar71xx.ipk opkg install luci-app-chinadns_x.x.x-x_all.ipk opkg install redsocks2_x.x.x-x_ar71xx.ipk opkg install luci-app-redsocks2_x.x.x-x_all.ipk |
特别提醒:2015.1.8,由于ChinaDNS-C更名为ChinaDNS,所以包名有变化,此前安装过ChinaDNS-C的,需要手动卸载并重新安装新版。
二、配置
1、配置/etc/shadowsocks.json,格式如下:
1 2 3 4 5 6 7 |
{ "server": "X.X.X.X", "server_port": "443", "password": "password", "local_port": "1080", "method": "rc4-md5" } |
然后启动shadowsocks,并设置开机运行:
1 2 |
/etc/init.d/shadowsocks enable /etc/init.d/shadowsocks start |
2、配置Redsocks2
此步骤可以在luci中完成,指向服务应该就可以看到redsocks2的配置了,保留默认即可,勾选启用,点击“保存并应用”生效。
3、配置DNS转发
先转到Luci中的DNS/DHCP设置中,配置转发DNS为127.0.0.1#5353:
其中,5353是ChinaDNS的端口,如果你在之前设置界面里改了,这里记得别填错。
然后切到HOSTS和解析文件选项卡,勾中“忽略解析文件”
接着配置ChinaDNS,对配置的选项做出说明:
接下来的步骤会有区别,通过ChinaDNS进行防DNS污染及解析结果优化,方案有三:
1、对于shadowsocks是用自己服务器搭建的,推荐方案一,在自己服务器上搭建DNS服务;
2、如果没有这个条件,但服务器支持UDP转发(较新版本Shadowsocks均支持),那么方案二;
3、如果服务器Shadowsocks版本老,不支持UDP转发,那么可用方案三,要求版本>=1.2.0
前两种方案,目前来说是绝对没有DNS污染现象的,此时ChinaDNS的作用完全就是为国外站点做解析优化,因为DNS查询由代理服务器转发,DNS查询的发起者相当于代理服务器,获得的解析结果都是就近于代理服务器的;而方案三则会直面DNS污染,此时ChinaDNS的防污染功能发挥作用,同时方案三无法做到国外网站解析结果优化,因为获得的IP是就近于你的位置的。
然而对于前两种方案,也可能存在一些问题(很少见):详见“Shadowoscks for OpenWRT 拾遗”
引用: 浙江电信闪讯支持路由刷机方案 | 阿尔法的歌
引用: OpenWRT 配合Shadowsocks+ChinaDNS实现科学上网 – x
引用: 值得一读的文章 | 大专栏