O paquete socks de Node usa unha instancia SocksClient con command: 'associate' para UDP. A súa cómoda fábrica SocksClient.createConnection() xestiona, en cambio, TCP CONNECT.

O exemplo de asociación do proxecto combina o cliente SOCKS cun socket UDP local independente:

  1. Estableza UDP ASSOCIATE e conserve a súa conexión de control TCP.
  2. Lea o host e o porto do repetidor que devolve o servidor.
  3. Use createUDPFrame() para enmarcar as cargas saíntes coa súa dirección de destino.
  4. Envie os datagramas ao repetidor e despois use parseUDPFrame() nas tramas entrantes do repetidor antes de entregar as cargas á aplicación.

O socket dgram de Node fornece o transporte UDP; non interpreta un URL SOCKS. A asociación e o enmarcado fornecen o protocolo do proxy arredor deses datagramas.

O servidor debe admitir UDP e o extremo do repetidor debe ser accesible. Unha conexión TCP correcta ao porto inicial do proxy non proba esa ruta. Peche os recursos de control e UDP cando a asociación xa non sexa necesaria.

Artigos relacionados