Хорошо, вот решение. Я перепробовал множество прокси-агентов, и единственный из них - «socks5-http-client».
Другие агенты выдавали всевозможные ошибки при использовании протокола SOCKS5.
const http = require("http");
const Agent = require("socks5-http-client/lib/Agent"); // Constructor
let agent = new Agent({
socksHost: 'localhost', // Defaults to 'localhost'.
socksPort: 9050 // Defaults to 1080.
});
http.get({
hostname: "www.google.com", // Can be also onion address if used behind TOR
port: 80,
agent: agent,
method: 'GET'
}, (res)=>{
console.log("Connected");
res.pipe(process.stdout);
//Process res
}).on('error', (err) => {
console.error(`Got error: ${err.message}`);
});
Такой агент может быть передан в любые библиотеки, которые используют http.Agent, например socket.io, ws и т. Д.