tcpproxy 用于写 TCP 代理 tcpproxy

channel2017-06-23 02:10:13 • 3259 次点击    
这是一个分享于 2017-06-23 02:10:13 的项目,其中的信息可能已经有所发展或是发生改变。

包 tcpproxy 允许用户构建 TCP 代理,可选地根据 HTTP/1 主机头和 TLS 连接中的 SNI 主机名进行路由决策。

使用示例

var p tcpproxy.Proxy
p.AddHTTPHostRoute(":80", "foo.com", tcpproxy.To("10.0.0.1:8081"))
p.AddHTTPHostRoute(":80", "bar.com", tcpproxy.To("10.0.0.2:8082"))
p.AddRoute(":80", tcpproxy.To("10.0.0.1:8081")) // fallback
p.AddSNIRoute(":443", "foo.com", tcpproxy.To("10.0.0.1:4431"))
p.AddSNIRoute(":443", "bar.com", tcpproxy.To("10.0.0.2:4432"))
p.AddRoute(":443", tcpproxy.To("10.0.0.1:4431")) // fallback
log.Fatal(p.Run())
Latest commit to the undefined branch on unknown
Download as zip
授权协议:
BSD
开发语言:
Go 查看源码»
3259 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传