Golang中Tor的TCP连接

Awn*_*Awn 4 tcp tor go

可以通过tor网络启动TCP连接吗?我环顾四周但没有找到它.

如果没有,是否有类似TCP的东西 - 像websockets - 可以用来代替?

注意:目前没有源代码供我发帖,因为还没有.这只是事先的研究.

jch*_*jch 17

tor节点充当端口9050上的SOCKS代理.对包含在内的SOCKS5协议的支持golang.org/x/net/proxy:

import "golang.org/x/net/proxy"
Run Code Online (Sandbox Code Playgroud)

为了通过tor建立连接,首先需要创建一个Dialer通过本地SOCKS5代理的新内容:

dialer, err := proxy.SOCKS5("tcp", "127.0.0.1:9050", nil, nil)
if err != nil {
    log.Fatal(err)
}
Run Code Online (Sandbox Code Playgroud)

要使用此拨号程序,您只需调用dialer.Dial而不是net.Dial:

conn, err := dialer.Dial("tcp", "stackoverflow.com:80")
if err != nil {
    log.Fatal(err)
}
defer conn.Close()
Run Code Online (Sandbox Code Playgroud)