新入了一个小米路由器,记录一下折腾过程。
首先自动分流科学上网是必须的。
因为小米的ROM本身就是基于openwrt的,所以第一步只需要先走官方途径拿到root权限。
有了权限就只需要找一个别人造的轮子部署一下即可。
尝试1:
- MT工具箱
这个东西嘛,乍一看还可以。然而有点问题,首先是部署上之后完全无法运行,第二是安全性堪忧(可以直接绕过密码认证,然后只需要利用shadowsocks服务来劫持软件源,即可实现任意代码执行;以及这东西本身就有webshell功能,就非常尴尬)。
尝试2:
https://github.com/blademainer/miwifi-ss 这个repo有点旧,但是无所谓,然而依旧不能用。
仔细看了下原因应该是shadowsocks的binary无法运行。于是开始折腾自己编译。
交叉编译过程和编译的二进制文件整理在这里: https://gist.github.com/ihciah/de493989bd43f76f17ff143daa036e20
尝试3:
迫不得已,只能自己动手。
首先将静态编译好的binary放在 /data/usr/shadowsocks
文件夹里;并准备 chnroutes.txt ( http://f.ip.cn/rt/chnroutes.txt 下载完成后需手动删除第一行的注释)、ipset.cidr_cn.rules (见 gen_rules.sh
)
之后配置启动文件,见 chinadns, ssredir, sstunnel。将这些文件放入 /etc/init.d
并 chmod +x xxx
后,执行 /etc/init.d/xxx enable
开启自动启动。
然后只需要配置 iptables 搞定转发。见 ipt.sh
。这里我们可以为其写一份启动文件,也可以简单地将其放入 /etc/rc.local
文件。当然,在这之前还需要加载ipset: ipset -R < ipset.cidr_cn.rules
。
之后在 /etc/dnsmasq.d
中创建 dns.conf
(见dns.conf文件);这时解析链为 dnsmasq->chinadns->(ss-tunnel or 114dns)。
并不work。
1 ipset -R < ipset.cidr_cn.rules 这个命令执行不了。
ipset v6.20.1: No command specified: unknown argument 1.0.1.0/24
Try `ipset help' for more information.
2 YOUR_IP 是啥?替换为路由器ip地址
3 修改完是否需要重启?