准备工作
- 一台 ASUS RT-AC86U
- 一个 U盘,后面装 Entware 要用
- 一个没墙的 VPS,我买的搬瓦工 CN2 GIA-E
部署 Shadowsocks
这里我选择用 docker 部署,简单快捷
我是 Ubuntu 18.04 环境,首先安装 docker
sudo apt install docker.io
安装 docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
然后创建 docker-compose.yml
version: "3.7" services: shadowsocks-libev: container_name: shadowsocks-libev image: acrisliu/shadowsocks-libev:latest user: root ports: - "23388:23388/tcp" - "23388:23388/udp" network_mode: "host" volumes: - /root/.acme.sh:/root/.acme.sh:ro environment: - SERVER_ADDR=0.0.0.0 - SERVER_PORT=23388 - METHOD=chacha20-ietf-poly1305 - PASSWORD=<密码> - ARGS=-u restart: always
启动 shadowsocks
sudo docker-compose up
路由器部署 Merlin 固件
在这里下载 merlin 固件
https://www.asuswrt-merlin.net/download
登录路由器 Web 管理界面,进入 系统管理->固件升级->手动固件更新,把下载的 RT-AC86U_384.18_0_cferom_ubi.w 传上去。
更新完固件进入 系统管理->系统设置
打开 JFFS 和下次启动格式化
打开 SSH
然后重启路由器
路由器安装 Entware
首先拿出准备好的 U 盘,格式化成 Ext4,win 上面可以用 AOMEI Partition Assistant
插到路由器的 USB 3.1 口,然后登录路由器的 SSH。
输入 amtm,提示 enter option 时输入 ep,按提示安装 Entware。
Entware 类似于 ubuntu 的 apt,可以管理各种软件包。
路由器安装 ss-merlin
ss-merlin 的 GitHub:https://github.com/Acris/shadowsocks-asuswrt-merlin
首先安装要用到的包
opkg update opkg upgrade opkg install ca-certificates git-http wget
然后安装 ss-merlin
sh -c "$(wget https://cdn.jsdelivr.net/gh/Acris/[email protected]/tools/install.sh -O -)"
装好后配置 ss-merlin
打开 /opt/share/ss-merlin/etc/ss-merlin.conf
里面的 mode 可以选择代理模式,个人感觉 1 比较好使
udp 可以打开,如果之前部署 shadowsocks 的时候跟我一样参数里加了 -u 的话。
然后配置 shadowsocks 客户端参数
打开 /opt/share/ss-merlin/etc/shadowsocks/config.json
修改为
{ "server": "<VPS IP>", "server_port": 23388, "local_address": "0.0.0.0", "local_port": 1080, "password": "<密码>", "timeout": 600, "method": "chacha20-ietf-poly1305", "mode": "tcp_and_udp" }
然后启动 ss-merlin
ss-merlin start
收工
连上你的 WiFi 测试一下效果吧,这里要注意一下,你的路由器要设置成路由模式,AP 和中继模式下透明代理都是不起作用的。