El paquet socks de Node utilitza una instància SocksClient amb command: 'associate' per a UDP. La seva còmoda fàbrica SocksClient.createConnection(), en canvi, gestiona TCP CONNECT.

L'exemple d'associació del projecte combina el client SOCKS amb un sòcol UDP local separat:

  1. Establiu UDP ASSOCIATE i conserveu la seva connexió de control TCP.
  2. Llegiu l'amfitrió i el port del repetidor que retorna el servidor.
  3. Utilitzeu createUDPFrame() per emmarcar les càrregues sortints amb la seva adreça de destinació.
  4. Envieu els datagrames al repetidor i després utilitzeu parseUDPFrame() sobre les trames entrants del repetidor abans de lliurar les càrregues a l'aplicació.

El sòcol dgram de Node proporciona el transport UDP; no interpreta cap URL SOCKS. L'associació i l'emmarcat proporcionen el protocol del servidor intermediari al voltant d'aquests datagrames.

El servidor ha de suportar UDP i el punt final del repetidor ha de ser accessible. Una connexió TCP correcta al port inicial del servidor intermediari no prova aquest camí. Tanqueu els recursos de control i UDP quan l'associació ja no calgui.

Articles relacionats