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

How to connect to a Tor bridge from node.js?

我是 Tor 新手。我最近成功地从 node.js 执行了一个查询,而 运行 我 PC 上的一个 tor 服务器实例。

我用过下面这段代码:

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);
});

我想在我的电脑上 运行 没有 Tor 服务器的情况下连接到 Tor。我相信这可以通过 Tor 网桥实现。我已从 https://bridges.torproject.org/bridges:

检索到一个 IP 地址
2.91.117.71:443 3C2AAD50197ACE1A43C822BBE282E0534603A31F

我不太确定如何使用这些信息。我试过设置:

    agentOptions: {
        socksHost: '2.91.117.71',
        socksPort: 443
    }

但是我超时了:

{ [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' }

我的问题是:

  1. 是否可以从 node.js 使用 https 连接到 public Tor 服务器?
  2. 如果是怎么办?

Tor-Bridge 用于无法连接到正常 Tor-Network 的人,因为他们的 ISP 阻止了众所周知的 Tor-Servers。 如果第一个连接是通过网桥完成的,那么以后就不会有问题,因为通常这些网桥不是每个人都知道的,所以它们通常不会被 ISP 阻止,因为它们看起来像普通服务器。

您仍然需要一个 Tor 客户端来连接它们。

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

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

如果this library有效,您可以试试。

Tor 网桥不是您想要使用的。对我有用的是使用 Debian(Ubuntu 14.04 是我喜欢的)设置 VPS(看看 digitalocean SSD 每月 5 美元)并安装 tor 和 nodejs 除非你想尝试一种语言,它已经有一个成熟的文档体系来连接和操作 tor,比如 Python(我对 Tor 的首选语言)。

然后您可以 运行 来自 VPS 的相同代码,它会起作用,这样您就不会在本地计算机上执行代码,并且您可以更改您的 IP 地址VPS 只要它适合你,并使用诸如代理链之类的东西来反弹你正在通过 TOR 之外的其他代理查找的流量。

希望对您有所帮助。