Можно ли создать несколько подключений WebSocket к серверу, используя разные прокси-серверы Socks5 в Node.js?

Я пытаюсь программно создать несколько подключений к моему серверу через веб-сокет, где каждый веб-сокет использует свой прокси-сервер Socks5. Я не нашел способа создать соединение через веб-сокет. Я видел, что серверы веб-сокетов через прокси существуют, но не наоборот.

Я искал несколько дней, но безрезультатно; Я не нашел источников о том, как это делать.

1 ответ

Я нашел решение. Изначально я пытался использовать прокси-серверы HTTP/HTTPS, но каждый раз терпел неудачу, однако я попробовал прокси-серверы SOCK5, и... они работали безупречно. Вот модифицированный код, взятый со страницы Socks-Proxy-Agent на GitHub, здесь используется бесплатный прокси из списка прокси. https://github.com/TooTallNate/proxy-agents/tree/main/packages/socks-proxy-agent

      let WebSocket = require('ws').WebSocket;
let SocksProxyAgent = require("socks-proxy-agent").SocksProxyAgent;

const agent = new SocksProxyAgent(
    'socks5://192.252.216.81:4145'
);

var socket = new WebSocket('ws://echo.websocket.events', { agent });

socket.on('open', function () {
    console.log('"open" event!');
    socket.send('hello world');
});

socket.on('message', function (data, flags) {
    console.log('"message" event! %j %j', data, flags);
    socket.close();
});

Результат:

      "open" event!
"message" event! {"type":"Buffer","data":[101,99,104,111,46,119,101,98,115,111,99,107,101,116,46,101,118,101,110,116,115,32,115,112,111,110,115,111,114,101,100,32,98,121,32,76,111,98,46,99,111,109]} false
"message" event! {"type":"Buffer","data":[104,101,108,108,111,32,119,111,114,108,100]} false
Другие вопросы по тегам