|
|
hace 6 días | |
|---|---|---|
| __pycache__ | hace 1 semana | |
| scripts | hace 6 días | |
| README.md | hace 1 semana | |
| __init__.py | hace 1 semana | |
| __main__.py | hace 1 semana | |
| cli.py | hace 1 semana | |
| config.json | hace 1 semana | |
| config.py | hace 1 semana | |
| demo-config copy.json | hace 1 semana | |
| protocol.py | hace 1 semana | |
| relay_client.py | hace 1 semana | |
| relay_server.py | hace 1 semana | |
| scheduler.py | hace 1 semana | |
| socks_edge.py | hace 1 semana | |
| transparent_edge.py | hace 1 semana |
mynetspeeder 现在支持 透明接管当前服务器的 direct TCP 出站。
目标场景:
sing-box 的 hy2 19887/19888 入站使用外网sing-box 出站仍然保持 directmynetspeeder 在系统层透明接管这些 direct TCP 流量relay:子节点 VPS 中继edge:主 VPS 透明接管 direct TCP 出站probe:查看节点探测与在线状态OUTPUT 链中的 TCP 连接示例 /home/mynetspeeder/config.json:
{
"strategy": "top3",
"redundancy": 3,
"tcp_warmup_bytes": 1048576,
"tcp_loser_grace_ms": 1500,
"probe_interval": 15,
"relays": [
{"name": "hk1", "host": "1.2.3.4", "port": 9009, "token": "demo", "weight": 100},
{"name": "jp1", "host": "5.6.7.8", "port": 9009, "token": "demo", "weight": 95}
]
}
说明:
relays 可以为空,空时只走当前主 VPS 直接出站把项目目录复制到子节点后,直接执行:
sudo /home/mynetspeeder/scripts/install.sh /opt/mynetspeeder
安装完成后可直接使用全局命令:
mynetspeeder --help
子节点启动 relay:
sudo /opt/mynetspeeder/scripts/start-relay.sh 你的token
子节点停止 relay:
sudo /opt/mynetspeeder/scripts/stop-relay.sh
python3 -m mynetspeeder relay --listen-port 9009 --token demo
准备配置:
cp /home/mynetspeeder/demo-config.json /home/mynetspeeder/config.json
启动透明接管:
sudo /home/mynetspeeder/scripts/start-transparent.sh --capture-uid <sing-box运行UID> /home/mynetspeeder/config.json
停止透明接管:
sudo /home/mynetspeeder/scripts/stop-transparent.sh
查看节点状态:
python3 -m mynetspeeder probe --config /home/mynetspeeder/config.json --once
汇总透明模式胜率:
python3 -m mynetspeeder summary --log-file /var/log/mynetspeeder-edge.log
透明模式启动后:
sing-box 的 direct 出站配置iptables 会把系统的 TCP 出站重定向到 mynetspeeder edgeedge 会同时尝试:
tcp_warmup_bytes 的上行数据会更积极地并发发给所有候选路径tcp_loser_grace_ms 毫秒,再关闭start-transparent.sh 会自动:
只接管指定 UID 的 TCP 出站,避免影响整机连接
创建运行用户 mynetspeeder
以该用户启动 edge
自动排除:
127.0.0.0/8mynetspeeder 自己发起的连接接管全局 OUTPUT 的 TCP 出站流量
iptables 规则是全局级别,除 mynetspeeder 自己和 relay IP 外,其他本机 TCP 流量也会被接管当前服务器已将 sing-box 改为 singbox 用户运行,因此透明接管请直接使用:
sudo /home/mynetspeeder/scripts/start-transparent.sh --capture-uid $(id -u singbox) /home/mynetspeeder/config.json
停止:
sudo /home/mynetspeeder/scripts/stop-transparent.sh
当前版本新增:
iptables + ip6tables 的 TCP REDIRECT 规则,UDP 仅在显式开启时生效说明:
当前版本已支持:
singbox 用户的透明 TCP 接管direct推荐启动命令:
sudo /home/mynetspeeder/scripts/start-transparent.sh --capture-uid 996 /home/mynetspeeder/config.json
当前已发现 UDP 透明接管在部分环境下会产生自环(例如日志里目标变成 127.0.0.1:19080)。
因此当前默认:
如果你要实验 UDP,再显式加:
sudo /home/mynetspeeder/scripts/start-transparent.sh --enable-udp --capture-uid 996 /home/mynetspeeder/config.json