介绍
tor-stem 是一款用于控制和管理 Tor 匿名网络服务的 Node.js 模块。使用此模块可以快速的在你的应用中自动化控制 Tor 的代理。本教程将会详细的介绍如何安装和使用此模块来实现该功能。
安装
使用 npm 命令进行安装:
npm install tor-stem --save
使用
在 Node.js 应用中引入 tor-stem:
const tor = require('tor-stem');
创建 Tor 控制器
首先需要通过 tor.connect() 方法创建一个用于与 Tor 管理接口通信的控制器对象:
const control = await tor.connect({ port: 9051, password: 'test' });
其中选项中包含:
- port - Tor 控制器监听的端口号(默认为 9051)
- password - Tor 控制器访问密码。该密码需要在 Tor 配置文件中使用 HashedControlPassword 命令进行设置。
设置代理服务器
与 Tor 集成最常见的一种操作是使用其作为一个代理。首先,我们需要利用控制器对象创建配置对象并将其设置为所需的配置:
const config = await control.getConf(); config.set('SocksPort', 9050); config.set('SocksBindAddress', '0.0.0.0'); await control.setConf(config);
这里设置了 SocksPort 和 SocksBindAddress,第一个指定了 Socks 代理监听的端口号为 9050,而后一个指定了代理 IP 地址。
重新加载 Tor 配置
修改完 Tor 配置文件后需要重新读取来应用这些配置:
await control.signal('SIGHUP');
随机获取新的 Tor 身份
默认情况下,Tor 连接使用它随机生成的身份。要获取新的身份,可以调用:
await control.signal('NEWNYM');
示例代码
-- -------------------- ---- ------- ----- --- - -------------------- ----- -------- ------ - ----- ------- - ----- ------------- ----- ----- --------- ------ --- ----- ------ - ----- ------------------ ----------------------- ------ ------------------------------ ----------- ----- ------------------------ ----- ------------------------- -- -- --- ------- ------- -------- ----- --- --------------- -- ------------------- ------- ----- ---- - ---------------- ----- ------- - ---------- ----- ---------------- ----- --- ----- ---- ------ --- ------------------------------------------ ---------- ------------ ---------- ---- -- -- --- -- - -------------- ----- -- - ------------------------------ --- ------------- -- -- - -------------------- ---------------- --- --- ------------------- --- -- - ------------------- ---------------- --- - -------
总结
tor-stem 是一个很好的 Tor 控制器操作工具,它可以让你轻松地将 Tor 集成到你的 Node.js 应用中,tor-stem 除了上面的内容,还有其它功能,期待大家去挖掘。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056c9881e8991b448e60a2