פֿאַרבינדן אַן Asio TCP סאָקעט מיט אַ SOCKS5 צוהערער פֿאַרענדיקט בלויז איין שריט: די TCP פֿאַרבינדונג צום צוהערער. עס בעט נישט דעם פּראָקסי זיך פֿאַרבינדן מיט דעם לעצטן סערווער. פֿאַר אַ דערלויבטער פּובליק-ציל פּרובֿ ביטעט די SOCKS5 פּראָקסי ליסטע קאַנדידאַטן פֿאַר דעם ערשטן TCP ענדפּונקט; דער פֿאַרבינדער מוז נאָך אַלץ דורכפֿירן דעם אויסטויש אונטן.

דערנאָך מוז דער SOCKS5 פֿאַרבינדער דורכפֿירן דעם פּראָטאָקאָל אויסטויש:

  1. שיקט אַ גרוס פֿון ווערסיע 5 וואָס ליסטעוועט די אויטענטיפֿיקאַציע מעטאָדן וואָס דער קליענט שטיצט.
  2. לייענט דעם אויסגעקליבענעם מעטאָד און פֿירט דורך זײַן אויטענטיפֿיקאַציע אויסטויש ווען נייטיק.
  3. שיקט CONNECT מיט דעם ציל-אַדרעס טיפּ, אַדרעס און פּאָרט אין נעצווערק-בייט סדר.
  4. לייענט די ענטפֿער, פּרופֿט איר ווערסיע און רעזולטאַט קאָד, און פֿאַרניצט דעם גאַנצן געבונדענעם אַדרעס און פּאָרט פֿון ענדערנדיקער לענג.
  5. גיט איבער דעם אויפגעשטעלטן שטראָם צו דער אַפּליקאַציע פּראָטאָקאָל.

אַן העלפֿער מיטן נאָמען socks5::async_proxy_connect געהערט צו דער SOCKS אימפּלעמענטאַציע וואָס שטעלט צו דעם העלפֿער. אים דערמאָנען לעבן boost::asio מאַכט אים נישט פֿאַר אַ טייל פֿון Asios TCP סאָקעט צווישנפֿלאַך.

TCP לייענען קענען צוריקגעבן בלויז אַ טייל פֿון דער ענטפֿער. צונויפֿשטעלט לייענען פֿאַר די נייטיקע בייט-צאָלן, דערנאָך קלייבט די איבעריקע לענג פֿון דעם אַדרעס-טיפּ פֿעלד. רעכנט נישט אַז יעדע סערווער ענטפֿער האָט דעם פֿאַסטן IPv4 אויסלייג.

פֿאַר HTTPS, פֿירט דורך דעם ציל-TLS האַנטדרוק נאָך SOCKS CONNECT געלונגען, און האַלט דעם ציל-SNI און האָסטנאָמען פּרובֿ. אַ געלונגענע פּראָקסי ענטפֿער אַליין באַשטעטיקט נישט די וועבזײַט.

האַלט אָפּרוף און טערמינען איבער דער גאַנצער אויסשטעל סעקווענץ. אויב די צײַט פֿאַר אויפֿשטעלן די TCP פֿאַרבינדונג פֿאַרלויפֿט, בלײַבן די שפּעטערדיקע גרוס-, אויטענטיפֿיקאַציע- און CONNECT-אויסטוישן אָן גרענעץ.

פֿאַרבונדענע אַרטיקלען