Pakiet socks dla Node używa dla UDP instancji SocksClient z command: 'associate'. Jego wygodna fabryka SocksClient.createConnection() obsługuje natomiast TCP CONNECT.

Przykład asocjacji w projekcie łączy klienta SOCKS z osobnym lokalnym gniazdem UDP:

  1. Ustanów UDP ASSOCIATE i zachowaj jego połączenie sterujące TCP.
  2. Odczytaj host i port przekaźnika zwracane przez serwer.
  3. Użyj createUDPFrame(), aby ramkować wychodzące ładunki z ich adresem docelowym.
  4. Wyślij datagramy do przekaźnika, a następnie użyj parseUDPFrame() na przychodzących ramkach przekaźnika przed dostarczeniem ładunków do aplikacji.

Gniazdo dgram Node zapewnia transport UDP; nie interpretuje adresu SOCKS. Asocjacja i ramkowanie zapewniają protokół proxy wokół tych datagramów.

Serwer musi obsługiwać UDP, a punkt końcowy przekaźnika musi być osiągalny. Udane połączenie TCP z początkowym portem proxy nie testuje tej ścieżki. Zamknij zasoby sterujące i UDP, gdy asocjacja nie jest już potrzebna.

Powiązane artykuły