Skip to content

badafans/socksforward

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SocksForward

一个带 Web 管理界面的端口转发工具:将本机/服务器上的 TCP/UDP 监听端口转发到目标地址,并通过指定的 SOCKS5 节点作为出口连接目标。

功能

  • Web 管理页面:添加/编辑/删除 SOCKS5 节点与转发规则
  • 支持协议:TCP / UDP / Both
  • 配置热更新:在 Web 页面修改后自动写入配置文件并立即生效
  • 灵活配置:通过命令行参数设置管理密码和 UDP 超时时间

快速开始

1) 运行

在项目根目录执行:

go run main.go -port 8080 -config config.json -password 123456 -timeout 30
  • -password 参数指定 Web 管理密码(默认为 123456)。
  • -timeout 参数指定 UDP 会话空闲超时时间(默认为 30 秒)。

2) 打开 Web 管理页

浏览器访问:

http://localhost:8080/

使用启动参数中指定的密码登录。

3) 添加 SOCKS5 节点与转发规则

  • 先在「SOCKS5 节点」里新增一个节点(填写 host:port,可选用户名/密码)
  • 再在「转发规则」里新增规则:
    • 协议:TCP / UDP / Both
    • 监听地址:支持直接填写端口号,例如 80808443;也支持 0.0.0.0:5353 这类 host:port
    • 目标地址:例如 example.com:4431.1.1.1:4438.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:801.2.3.4:443,不支持仅写域名或仅写端口

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages