การเชื่อมโยง UDP ของ SOCKS5 กับแพ็กเกจ socks ของ Node
ใช้การเชื่อมโยง SOCKS5 และการใส่เฟรมดาตาแกรมเมื่อแอปพลิเคชัน Node ต้องการ UDP ผ่านพร็อกซี
แพ็กเกจ socks ของ Node ใช้ instance SocksClient พร้อม command: 'associate' สำหรับ UDP ส่วน factory SocksClient.createConnection() ที่สะดวกจะจัดการ TCP CONNECT แทน
ตัวอย่างการเชื่อมโยง ของโปรเจกต์รวมไคลเอนต์ SOCKS กับซ็อกเก็ต UDP ภายในเครื่องที่แยกต่างหาก:
- สร้าง UDP ASSOCIATE และคงการเชื่อมต่อควบคุม TCP ไว้
- อ่านโฮสต์และพอร์ตของรีเลย์ที่เซิร์ฟเวอร์ส่งกลับมา
- ใช้
createUDPFrame()เพื่อใส่เฟรมเพย์โหลดขาออกพร้อมที่อยู่ปลายทาง - ส่งดาตาแกรมไปยังรีเลย์ จากนั้นใช้
parseUDPFrame()กับเฟรมรีเลย์ขาเข้าก่อนส่งเพย์โหลดให้แอปพลิเคชัน
ซ็อกเก็ต dgram ของ Node ให้การขนส่ง UDP แต่ไม่ตีความ URL ของ SOCKS การเชื่อมโยงและการใส่เฟรมให้โปรโตคอลพร็อกซีรอบดาตาแกรมเหล่านั้น
เซิร์ฟเวอร์ต้องรองรับ UDP และปลายทางของรีเลย์ต้องเข้าถึงได้ การเชื่อมต่อ TCP ที่สำเร็จไปยังพอร์ตพร็อกซีเริ่มต้นไม่ได้ทดสอบเส้นทางนั้น ปิดทรัพยากรควบคุมและ UDP เมื่อไม่ต้องการการเชื่อมโยงแล้ว