从 TOR / HTTP 代理下运行 Node.js 脚本
·
要求:
-
Node.js使用
got、socks-proxy-agent和cross-spawnNPM 模块 -
Docker Desktop适用于 Mac、Windows 和 Linux
$ npm install got socks-proxy-agent cross-spawn --save
进入全屏模式 退出全屏模式
const got = require("got");
const spawn = require("cross-spawn");
const { SocksProxyAgent } = require("socks-proxy-agent");
// Launch a TOR proxy via Docker
// @see https://github.com/osminogin/docker-tor-simple
const proxy = spawn("docker", [
...["run", "--rm", "-i", "-a", "stdout"],
...["-p", "127.0.0.1:9050:9050/tcp"],
...["osminogin/tor-simple:latest"],
]);
// Wait until the socks5 proxy server is up and running
proxy.stdout.on("data", (data) => {
process.stderr.write(data);
if (data.toString().includes("Opened Socks listener")) {
run().finally(() => proxy.kill("SIGINT"));
}
});
// Configure an HTTP client using socks5 proxy
const client = got.extend({
agent: {
https: new SocksProxyAgent("socks5://localhost:9050"),
},
});
// TODO: Write some code that requires a proxy
async function run() {
const body = await client.get("https://jsonip.com/").json();
console.log("Client IP:", body.ip);
}
进入全屏模式 退出全屏模式
链接
- GOT 通过 SOCKS5 代理 (TOR)
更多推荐
所有评论(0)