Total Pageviews

Tuesday 6 April 2021

Linux下的全局代理程序staff

安裝:  pip install moses就会安装好staff.

which staff

会显示:

/usr/local/bin/staff

staff是一个透明代理,通过与 moses 配合可以自动转发 所有 DNS 请求和 TCP 连接, poor man's VPN :)

使用方法(假设 Moses 客户端运行在 127.0.0.1:1080 上):

staff -p 127.0.0.1:1080

然后用 iptables 添加这三条规则(当然 eth0 要替换成你自己的网络接口):

❯ iptables -t nat -I OUTPUT -o eth0 -p udp --dport 53  -j DNAT --to 127.0.0.1:32000
❯ iptables -t nat -I OUTPUT -o eth0 -p tcp --dport 80  -j DNAT --to 127.0.0.1:32000
❯ iptables -t nat -I OUTPUT -o eth0 -p tcp --dport 443 -j DNAT --to 127.0.0.1:32000

这样所有 DNS 请求和目标端口是 80、443 的 TCP 连接都会走 Moses 代理。

你也可以更进一步,用 geoip 规则忽略某墙国的 IP (需要安装 xtables-addons ):

❯ iptables -t nat -I OUTPUT -o eth0 -p tcp -m geoip ! --dst-cc CN -j DNAT --to 127.0.0.1:32000

要查看其他选项的用法,执行 staff -h .

from https://github.com/l04m33/moses

No comments:

Post a Comment