പ്രോക്സിയുമായി ബന്ധിപ്പിച്ച ശേഷം Asio-ന് SOCKS5 കൈമാറ്റം വേണം
Asio സോക്കറ്റിന് മുകളിൽ SOCKS5-നെ ഒരു പ്രോട്ടോക്കോൾ അവസ്ഥാ യന്ത്രമായി കാണുക; പൂർണ്ണ വായനകൾ, സാധൂകരിച്ച മറുപടികൾ, CONNECT വിജയിച്ചതിന് ശേഷം മാത്രം ലക്ഷ്യത്തിന്റെ TLS.
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 കൈമാറ്റങ്ങൾ പരിധിയില്ലാതെ തുടരും.