Associations UDP SOCKS5 avec le paquet socks de Node
Utilisez une association SOCKS5 et le tramage de datagrammes lorsqu'une application Node a besoin d'UDP via un proxy.
Le paquet socks de Node utilise une instance SocksClient avec command: 'associate' pour UDP. Sa fabrique pratique SocksClient.createConnection() gère plutôt TCP CONNECT.
L'exemple d'association du projet combine le client SOCKS avec une socket UDP locale distincte :
- Établissez UDP ASSOCIATE et conservez sa connexion de contrôle TCP.
- Lisez l'hôte et le port de relais renvoyés par le serveur.
- Utilisez
createUDPFrame()pour tramer les charges sortantes avec leur adresse de destination. - Envoyez les datagrammes au relais, puis utilisez
parseUDPFrame()sur les trames entrantes du relais avant de remettre les charges à l'application.
La socket dgram de Node fournit le transport UDP ; elle n'interprète pas une URL SOCKS. L'association et le tramage apportent le protocole du proxy autour de ces datagrammes.
Le serveur doit prendre en charge UDP, et le point de terminaison du relais doit être joignable. Une connexion TCP réussie vers le port initial du proxy ne teste pas ce chemin. Fermez les ressources de contrôle et UDP lorsque l'association n'est plus nécessaire.