首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于socks5代理客户端的Golang tls

基于socks5代理客户端的Golang tls
EN

Stack Overflow用户
提问于 2022-02-19 05:51:19
回答 1查看 878关注 0票数 1

我创建了一个拨号程序

代码语言:javascript
运行
复制
dialer := &net.Dialer{}

和TLS拨号器

代码语言:javascript
运行
复制
tlsDialer := &tls.Dialer{
    NetDialer: dialer,
    Config:    &tls.Config{InsecureSkipVerify: true},
}

然后通过以下方法创建socks5代理拨号程序

代码语言:javascript
运行
复制
proxyDialer, err := proxy.SOCKS5("tcp", "127.0.0.1:1080", nil, proxy.Direct)

如何通过socks5代理连接远程服务器?

另一方面,如何按net.Dialer->tls.Dialer->proxy.Dialer顺序嵌套三个拨号程序,并最终使用proxyDialer.Dial("tcp", "remote:port")连接服务器?

我的环境:

  • OS: Windows 10 x64
  • Golang: 1.16 (无CGO)

任何帮助都将不胜感激:)第一次在SOF中问问题,如果我错过了某事,请告诉我:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-19 07:01:09

谢谢你的@Steffen Ullrich

拨号程序用于建立连接,但只有一个连接要建立。使用proxyDialer创建连接,然后在proxyDialer提供的连接上使用tls.Client将其“升级”到tls.Conn。

只需“升级”到tls的代理连接

代码语言:javascript
运行
复制
proxyDialer, err := proxy.SOCKS5("tcp", "proxyserver:1080", nil, proxy.Direct)
conn, err = proxyDialer.Dial("tcp", "server:port")
conn = tls.Client(conn, &tls.Config{InsecureSkipVerify: true})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71182538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档