我的一部老手机mi5splus,我已为它换过两次屏幕了,虽然已经老了 但是仍不舍得扔掉,拿它折腾一下,记录折腾过程。
由于旧手机不支持STA AP并发模式,我使用ota网卡上网,开启热点作为AP
手机已经root,termux中部署了singbox,在inbounds中添加tproxy入站
1 2 3 4 5 6
| { "type": "tproxy", "tag": "tproxy-in", "listen": "127.0.0.1", "listen_port": 1081 }
|
为了防止回路,在路由规则中添加本地规则 直接出站
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| "route": { "rules": [ { "ip_cidr": ["127.0.0.0/8"], "outbound": "direct-out" }, { "ip_cidr": [ "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "100.64.0.0/10" ], "outbound": "direct-out" }, ] }
|
iptables 规则设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| iptables-save > iptables.v4.bak
iptables -t mangle -A OUTPUT -m owner --uid-owner $TERMUX_UID -j RETURN
iptables -t mangle -A PREROUTING -d 127.0.0.1/32 -j RETURN
iptables -t mangle -A PREROUTING -i wlan0 -p udp --dport 67 -j RETURN
iptables -t mangle -A PREROUTING -i wlan0 -p udp --sport 68 -j RETURN
iptables -t mangle -A PREROUTING -i wlan0 -d 192.168.31.0/24 -j RETURN
iptables -t mangle -A PREROUTING -i wlan0 -p tcp -j TPROXY --on-ip 127.0.0.1 --on-port 1081 --tproxy-mark 1
iptables -t mangle -A PREROUTING -i wlan0 -p udp -j TPROXY --on-ip 127.0.0.1 --on-port 1081 --tproxy-mark 1
echo 1 > /proc/sys/net/ipv4/ip_forward
ip rule add fwmark 1 table 100
ip route add local default dev lo table 100
|
这样就透明代理了热点中的客户端。