חבילת socks של Node משתמשת במופע SocksClient עם command: 'associate' עבור UDP. המפעל הנוח SocksClient.createConnection() שלה מטפל לעומת זאת ב-TCP CONNECT.

דוגמת האסוציאציה של הפרויקט משלבת את לקוח SOCKS עם שקע UDP מקומי נפרד:

  1. הקימו UDP ASSOCIATE ושמרו על חיבור הבקרה של TCP.
  2. קראו את מארח ה-relay והפורט שהשרת מחזיר.
  3. השתמשו ב-createUDPFrame() כדי למסגר מטענים יוצאים עם כתובת היעד שלהם.
  4. שלחו את הדאטהגרמים ל-relay, ואז השתמשו ב-parseUDPFrame() על מסגרות ה-relay הנכנסות לפני מסירת מטענים לאפליקציה.

השקע dgram של Node מספק הובלת UDP; הוא אינו מפרש כתובת SOCKS. האסוציאציה והמסגור מספקים את פרוטוקול הפרוקסי סביב הדאטהגרמים האלה.

השרת חייב לתמוך ב-UDP, ונקודת הקצה של ה-relay חייבת להיות נגישה. חיבור TCP מוצלח לפורט הפרוקסי הראשוני אינו בודק את הנתיב הזה. סגרו את משאבי הבקרה וה-UDP כאשר אין עוד צורך באסוציאציה.

מאמרים קשורים