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

标签 node.js https tor

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

我想在我的 PC 上不运行 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 客户端就像一个 socks 代理,只是通过 Tor 网络代理您的请求。

如果 this library 你可以试试有效。

关于node.js - 如何从 node.js 连接到 Tor 网桥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30344212/

相关文章:

node.js - node.js 可以在 UNIX 套接字上监听吗?

web-services - 通过 HTTPS 发送的密码加密

networking - net/http GET 请求错误 tls 收到长度为 20527 的超大记录

apache - 在 Apache 中选择 (TLS 1.3) 曲线

python - 使用 polipo 和 tor 与 python mechanize 浏览器显示一个站点上的 IP,而不是另一个站点上的 IP

java - 安卓/Java : How to use Tor-Onion-Proxy-Library?

go - exec: 在 $PATH 中找不到可执行文件

node.js - 用户套接字与服务器断开连接后如何发送消息

javascript - Node.js:记录忽略的错误

node.js - 对 BigQuery 的 HTTPS 查询 - 缺少必需参数