Если фри, то выше кинули, если через сервисы, можно также "вдохновиться" моим скриптом решалки Яндекс капчи, там ровно такая же суть, но прикручено решение через антигейт (с ручными индусами), но можно так и любой сервис с индусами прикрутить. Решение на гуру не чекал, баланса небыло на аке)
Прокси для WS (Node JS)
-
Здравствуйте. Изучаю работу с Node JS, понадобилось разрулить дела по ВебСокетам. Есть такой код:
await (new Promise((resolve, reject) => { WebSocket = require("ws"); var SocksProxyAgent = require('socks-proxy-agent'); var endpoint = 'ws://echo.websocket.org'; var proxy = 'socks://127.0.0.1:9050'; // create an instance of the `SocksProxyAgent` class with the proxy server information var agent = new SocksProxyAgent(proxy); // initiate the WebSocket connection var ws = new WebSocket(endpoint,[], { agent: agent }); ws.on("open", function open() { global.tost = "connected"; console.log('Сработало событие OPEN у сокета'); }); ws.on("message", function incoming(data) { global.tost = data; ws.send(JSON.stringify({ type: 'CHAT_MESSAGE', data: { message: 'test' } })); console.log('Отправили сообщение серверу'); console.log('Получили такой ответ:'); console.log(global.tost); } }); ws.on("close", function close() { global.tost = "disconnected"; console.log(global.tost); resolve(); }); }));Скрипт выполняется до бесконечности, и сайт не даёт соединиться по вебсокету, вроде как.
Использую модули:
https://www.npmjs.com/package/ws
https://github.com/TooTallNate/node-socks-proxy-agentМожет кто подсказать как прикрутить прокси к сокетам? http или socks5, это без разницы. За любую помощь буду очень благодарен.
-
@Cruzel Всё прекрасно работает:
await (new Promise((resolve, reject) => { var WebSocket = require('ws'); var SocksProxyAgent = require('socks-proxy-agent'); var proxy = 'socks://127.0.0.1:9150'; var endpoint = 'wss://echo.websocket.org/'; var agent = new SocksProxyAgent(proxy); var socket = new WebSocket(endpoint, { agent: agent }); socket.on('open', function () { console.log('open event!'); socket.send('hello world'); }); socket.on('message', function (data, flags) { console.log(data); resolve() socket.close(); }); }));
Вот тестовый скрипт
Используется Tor, он должен быть запущен