如何从node.js连接到Tor桥?

Jér*_*nge 5 https tor node.js

我是Tor的新手.我最近设法在我的PC上运行tor服务器实例时从node.js执行查询.

我使用了以下代码:

var Agent = require('socks5-https-client/lib/Agent');
var request = require("request");

var q = "https://www.example.com/";

request({
    url: q,
    agentClass: Agent,
    agentOptions: {
        socksHost: 'localhost',
        socksPort: 9050 // Defaults to 1080.
    }
}, function(err, res) {
    console.log(err || res.body);
});
Run Code Online (Sandbox Code Playgroud)

我想在没有在我的电脑上运行Tor服务器的情况下连接到Tor.我相信这可以通过Tor桥实现.我从https://bridges.torproject.org/bridges检索了一个IP地址:

2.91.117.71:443 3C2AAD50197ACE1A43C822BBE282E0534603A31F
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用这些信息.我试图设置:

    agentOptions: {
        socksHost: '2.91.117.71',
        socksPort: 443
    }
Run Code Online (Sandbox Code Playgroud)

但我得到一个超时:

{ [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' }
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 是否可以通过node.js中的https连接到公共Tor服务器?
  2. 如果有,怎么样?

B4d*_*0bi 4

Tor 桥用于那些无法连接到正常 Tor 网络的人,因为他们的 ISP 阻止了众所周知的 Tor 服务器。如果第一次连接是通过网桥完成的,那么之后就不会出现问题,因为通常这些网桥并不为所有人所知,因此它们通常不会被 ISP 阻止,因为它们看起来像普通服务器。

您仍然需要 Tor 客户端才能连接到它们。

如果没有 Tor 客户端,就无法连接到 Tor 网络。

在你的第一个代码中,你的 Tor 客户端就像一个袜子代理,只是通过 Tor 网络代理你的请求。

你可以试试这个库是否有效。