import { io } from 'socket.io-client';
import { SocksProxyAgent } from 'socks-proxy-agent';

const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const socket = io('https://events.example', {
  agent,
  transports: ['polling', 'websocket'],
});

Bruk den faktiske Socket.IO-tjenesten. Node-agenten forhandler SOCKS; socks5h overlater målets DNS til den proxyen. Velg et passende endepunkt fra SOCKS5-proxylisten når tester av offentlige tjenester via offentlige mellommenn er tillatt.

Polling kan lykkes før en senere WebSocket-oppgradering feiler. Undersøk begge veiene og eventuelle transportOptions som overstyrer agenten på øverste nivå.

Eksempelet bruker bevisst disse to transportene. WebTransport bruker en annen implementasjon, og JavaScript som er buntet med nettleseren, følger nettleserens konfigurasjon. Et vanlig WebSocket-endepunkt er heller ikke en Socket.IO-tjener.

Behold den eksisterende hendelses- og gjenoppkoblingslogikken, og koble deretter fra klienten og slipp agenten når tilkoblingene er ferdige.

Relaterte artikler