Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

具备Host和SNI以及IP地址过滤的TCP数据转发

Notifications You must be signed in to change notification settings

badafans/SecureTCPRelay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

SecureTCPRelay

SecureTCPRelay 是一个灵活且安全的 TCP 转发代理,支持动态选择转发目标和基于域名的访问控制。该程序能够处理 非TLS(HTTP & WS)和TLS(HTTPS & WSS),并根据配置自动选择目标地址进行转发。

特性

  • 动态转发:根据配置,程序可以将流量转发到不同的目标地址。
  • 基于 IP 和域名的访问控制:允许配置白名单 IP 范围和域名模式。
  • 活跃连接跟踪:实时跟踪并记录当前活跃连接数量。
  • 支持多个目标地址:根据需要转发TCP到不同的目标地址。
  • Host 与 SNI 支持:基于域名过滤,能够拦截非白名单域名请求。
  • TLS 与 非TLS 端口共用:能够识别并处理 TLS 和 非TLS 请求,只需暴露一个端口即可。

安装

将项目克隆到本地并编译:

git clone https://github.com/badafans/SecureTCPRelay.git
cd SecureTCPRelay
go build

使用

启动代理服务器并配置监听地址、转发目标地址、允许的 IP 范围和域名列表:

./SecureTCPRelay -src=<local-address> -dst=<forward-addresses> -cidr=<allowed-cidrs> -domain=<allowed-domains>
  • -src: 本地监听的 IP 和端口(默认 0.0.0.0:1234)
  • -dst: 转发的目标 IP 和端口,多目标模式用逗号分隔(第一个是非TLS地址,第二个是TLS地址,多出部分地址无效)
  • -cidr: 允许的来源 IP 范围 (CIDR),多个范围用逗号分隔(默认 0.0.0.0/0,::/0)
  • -domain: 允许的域名列表,用逗号分隔,支持通配符*,默认转发所有域名

示例

要在 0.0.0.0:8080 上监听并将流量转发到 192.168.1.100:80192.168.1.100:443,同时允许来自 192.168.1.0/24 的 IP 并允许访问 abc.com*.example.org 的域名,你可以使用以下命令:

./SecureTCPRelay -src=0.0.0.0:8080 -dst=192.168.1.100:80,192.168.1.100:443 -cidr=192.168.1.0/24 -domain=abc.com,*.example.org

非TLS(HTTP & WS)的请求将被转发到 192.168.1.100:80 ,TLS(HTTPS & WSS)的请求将被转发到 192.168.1.100:443

配置说明

CIDR 配置

CIDR 配置用于限制允许的客户端 IP 地址范围。例如,192.168.1.0/24 允许来自 192.168.1.0192.168.1.255 的所有 IP 地址。

域名列表

域名列表用于控制允许的目标域名。支持通配符 *。例如,*.example.com 将匹配 sub.example.comwww.example.com 等域名。

贡献

欢迎对 SecureTCPRelay 进行贡献。如果你有建议或发现了问题,请提交问题报告或拉取请求。

许可证

SecureTCPRelay 采用 MIT 许可证。

About

具备Host和SNI以及IP地址过滤的TCP数据转发

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /