Asio ከፕሮክሲው ጋር ከተገናኘ በኋላ የSOCKS5 ልውውጥ ይፈልጋል
SOCKS5ን በAsio ሶኬት ላይ እንደ ፕሮቶኮል ሁኔታ ማሽን ይመልከቱ፤ ሙሉ ንባቦች፣ የተረጋገጡ መልሶች እና የመዳረሻ TLS የCONNECT ስኬት በኋላ ብቻ።
የAsio TCP ሶኬትን ከSOCKS5 አድማጭ ጋር ማገናኘት አንድ ደረጃ ብቻ ያጠናቅቃል፦ ወደዚያ አድማጭ የሚደረግ TCP ግንኙነት። ፕሮክሲው ከመጨረሻው አገልጋይ ጋር እንዲገናኝ አይጠይቅም። ለተፈቀደ የሕዝብ ዒላማ ሙከራ፣ የSOCKS5 ፕሮክሲ ዝርዝር ለዚያ የመጀመሪያ TCP ነጥብ እጩዎችን ያቀርባል፤ አገናኙ ከዚህ በታች ያለውን ልውውጥ ማጠናቀቅ አለበት።
የSOCKS5 አገናኝ ከዚያ የፕሮቶኮሉን ልውውጥ ማከናወን አለበት፦
- ደንበኛው የሚደግፋቸውን የማረጋገጫ ዘዴዎች የሚዘረዝር የቅርጸት 5 ሰላምታ ይላኩ።
- የተመረጠውን ዘዴ ያንብቡ እና አስፈላጊ ሆኖ ሲገኝ የማረጋገጫ ልውውጡን ያከናውኑ።
- CONNECTን ከመዳረሻው አድራሻ ዓይነት፣ አድራሻ እና የኔትወርክ ባይት ቅደም ተከተል ወደብ ጋር ይላኩ።
- መልሱን ያንብቡ፣ ስሪቱን እና የውጤት ኮዱን ያረጋግጡ፣ እና ሙሉውን ተለዋዋጭ ርዝመት ያለው የታሰረ አድራሻ እና ወደብ ይጠቀሙ።
- የተቋቋመውን ጅረት ለመተግበሪያው ፕሮቶኮል አስረክቡ።
socks5::async_proxy_connect የሚባል ረዳት የዚያን ረዳት ከሚያቀርበው የSOCKS አተገባበር ነው። ከboost::asio ጎን መጥራቱ የAsio የTCP ሶኬት በይነገጽ አካል አያደርገውም።
የTCP ንባቦች የመልሱን ክፍል ብቻ ሊመልሱ ይችላሉ። ለሚፈለጉት ባይቶች ንባቦችን ያዋህዱ፣ ከዚያ ቀሪውን ርዝመት ከአድራሻ ዓይነት መስክ ይምረጡ። እያንዳንዱ የአገልጋይ መልስ ቋሚው የIPv4 አቀራረብ አለው ብለው አያስቡ።
ለHTTPS፣ SOCKS CONNECT ከተሳካ በኋላ የመዳረሻውን TLS የእጅ መጨበጫ ያከናውኑ፣ የመዳረሻውን SNI እና የአስተናጋጅ ስም ማረጋገጫ ጠብቀው። የተሳካ የፕሮክሲ መልስ ብቻውን ድረ-ገጹን አያረጋግጥም።
ስረዛ እና የጊዜ ገደቦችን በጠቅላላው የማዋቀሪያ ቅደም ተከተል ላይ ይያዙ። የTCP ግንኙነት መመስረት ጊዜው ካለፈ፣ በኋላ ያሉት ሰላምታ፣ ማረጋገጫ እና CONNECT ልውውጦች ገደብ አልባ ሆነው ይቀራሉ።