Het Node-pakket socks gebruikt een SocksClient-instantie met command: 'associate' voor UDP. De handige fabriek SocksClient.createConnection() verwerkt in plaats daarvan TCP CONNECT.

Het associatievoorbeeld van het project combineert de SOCKS-client met een aparte lokale UDP-socket:

  1. Stel UDP ASSOCIATE in en houd de TCP-besturingsverbinding vast.
  2. Lees de relayhost en -poort die de server teruggeeft.
  3. Gebruik createUDPFrame() om uitgaande payloads met hun bestemmingsadres te framen.
  4. Stuur de datagrammen naar de relay en gebruik daarna parseUDPFrame() op inkomende relayframes voordat je payloads aan de applicatie aflevert.

De dgram-socket van Node levert UDP-transport; hij interpreteert geen SOCKS-URL. De associatie en framing leveren het proxyprotocol rond die datagrammen.

De server moet UDP ondersteunen en het relay-eindpunt moet bereikbaar zijn. Een geslaagde TCP-verbinding naar de oorspronkelijke proxy-poort test dat pad niet. Sluit de besturings- en UDP-resources wanneer de associatie niet meer nodig is.

Gerelateerde artikelen