自己手工收集编辑翻墙所用到的配置文件是件比较累的事情。最快的方法是 git clone 本项目,修改其中某些选项。
cd /opt
git clone https://github.com/softwaredownload/openwrt-fanqiang
配置文件目录就是 /opt/openwrt-fanqiang/openwrt 不要直接在其中改,而是复制到另外目录再修改:
cp -R /opt/openwrt-fanqiang/openwrt /opt/openwrt-wr2543
其中wr2543改成你的路由器型号。
/opt/openwrt-wr2543 就是下节编译固件要用到FILES参数的值。
├── etc
│ ├── dnsmasq.conf
│ ├── dnsmasq.d
│ │ ├── accelerated-domains.china.conf
│ │ ├── adblock.conf
│ │ ├── bogus-nxdomain.china.conf
│ │ └── gfwlist.conf
│ ├── init.d
│ │ └── shadowsocks
│ ├── shadow
│ ├── shadowsocks.json
│ └── uci-defaults
│ └── defaults
└── usr
└── bin
├── shadowsocks-firewall
└── updatednsmasq
定制固件的前提是你要有一台服务器运行shadowsocks服务端ss-server。
- etc/dnsmasq.conf 设置dnsmasq配置文件目录
- etc/shadow 登陆路由器的密码 fanqiang
- etc/uci-defaults/defaults 默认上网设置及时区等设置
uci-defaults目录下的文件会在路由器第一次启动时由/etc/init.d/boot执行,如果在文件末尾加上exit 0, 则执行就会删除此文件,否则执行成功则删除,不成功则在下次启动时继续执行直到成功。
我们在这个目录下创建一个defaults文件,在这个文件中设置上网参数,时区等。
To set some system defaults the first time the device boots, create a script in the folder
All scripts in that folder are automatically executed by /etc/init.d/boot and if they exited with code 0 deleted afterwards (scripts that did not exit with code 0 are not deleted and will be re-executed during the next boot until they also successfully exit).
- /etc/shadowsocks.json
- server必须改成你的服务器实际IP
- /etc/uci-defaults/defaults
- adslname 和 adslpassword必改
- /usr/bin/shadowsocks-firewall
- 107.89.0.12必须改成你的服务器实际IP
- shadowsocks服务端监听端口:8345
- 文件位置: 服务器/etc/shadowsocks/config.json
- 如更改,路由器里 /etc/shadowsocks.json也相应更改
- 路由器shadowsocks ss-redir 监听端口:8024
- 文件位置: 路由器/etc/shadowsocks.json
- 如更改, 路由器/usr/bin/shadowsocks-firewall也相应更改
- 路由器shadowsocks ss-tunnel监听端口: 7913
- 文件位置: 路由器/etc/init.d/shadowsocks
- 如更改, 路由器 /etc/dnsmasq.d/gfwlist.conf也相应更改
以上端口建议不改。程序运行稳定后,相关密码可以改掉。
- shadowsocks-firewall负责把非亚洲流量转发到本地端口8024
- ss-redir监听端口8024,该端口流量都加密走自己的服务器通道
- dnsmasq把非国内重要域名的dns查询转发本地7913端口
- ss-tunnel监听本地端口7913,把该端口的dns查询转发到自己服务器向8.8.8.8查询
chmod +x usr/bin
chmod +x usr/bin/*
chmod +x etc/uci-defaults
chmod +x etc/uci-defaults/defaults