一个带 Web 管理界面的端口转发工具:将本机/服务器上的 TCP/UDP 监听端口转发到目标地址,并通过指定的 SOCKS5 节点作为出口连接目标。
- Web 管理页面:添加/编辑/删除 SOCKS5 节点与转发规则
- 支持协议:TCP / UDP / Both
- 配置热更新:在 Web 页面修改后自动写入配置文件并立即生效
- 灵活配置:通过命令行参数设置管理密码和 UDP 超时时间
在项目根目录执行:
go run main.go -port 8080 -config config.json -password 123456 -timeout 30-password参数指定 Web 管理密码(默认为123456)。-timeout参数指定 UDP 会话空闲超时时间(默认为30秒)。
浏览器访问:
http://localhost:8080/
使用启动参数中指定的密码登录。
- 先在「SOCKS5 节点」里新增一个节点(填写
host:port,可选用户名/密码) - 再在「转发规则」里新增规则:
- 协议:TCP / UDP / Both
- 监听地址:支持直接填写端口号,例如
8080、8443;也支持0.0.0.0:5353这类host:port - 目标地址:例如
example.com:443、1.1.1.1:443、8.8.8.8:53 - 出口节点:选择刚创建的 SOCKS5 节点
- 勾选「立即启用」后会立刻开始监听并转发
程序会在服务端输出中文访问日志,包含:
- Web 管理请求:请求类型、方法、路径、来源地址(IP:端口)、状态码、耗时
- TCP 转发请求:协议、来源地址(IP:端口)、规则名、监听地址、目标地址、节点名
- UDP 新会话:协议、来源地址(IP:端口)、规则名、监听地址、目标地址、节点名
- TCP/UDP 建连失败:会记录来源地址、规则名、目标地址和错误信息
-port:Web 管理端口(默认8080)-config:配置文件路径(默认config.json)-password:Web 管理密码(默认123456)-timeout:UDP 会话空闲超时时间(单位:秒,默认30)
- TCP:监听
listen,每个新连接都会通过 SOCKS5 节点建立到target的 TCP 连接,并进行双向转发 - UDP:监听
listen,按客户端地址维护会话;通过 SOCKS5 的 UDP ASSOCIATE 进行转发,会话空闲超过timeout秒会自动清理 - Both:同时开启 TCP 与 UDP 两种监听
- Web 管理界面未内置 HTTPS,建议通过反向代理(如 Nginx)配合 TLS 证书使用。
- 建议设置复杂的管理密码。
- 规则显示「启动失败」:说明监听失败或 SOCKS5 节点不可用/不可达,可检查节点地址、认证信息、端口占用以及目标地址格式
- 目标地址必须是
host:port:例如example.com:80、1.2.3.4:443,不支持仅写域名或仅写端口