Asio wuxuu u baahan yahay is-dhaafsiga SOCKS5 ka dib marka uu ku xirmo proxy-ga
U qaado SOCKS5 sida mishiinka xaaladda borotokoolka ee sarreeya Asio socket, iyadoo akhris buuxa, jawaabo la xaqiijiyay iyo TLS u socda bartilmaameedka oo keliya ka dib marka CONNECT guulaysto.
Ku xirista Asio TCP socket iyo dhegeysanaha SOCKS5 waxay dhammeysaa hal tallaabo: xiriirka TCP ee dhegeysanahaas. Ma weydiisato proxy-ga inuu ku xirmo server-ka ugu dambeeya. Tijaabo dadweyne oo la oggolaaday, liiska proxy-ga SOCKS5 wuxuu bixiyaa musharraxiin barta TCP ee ugu horreysa; isku-xiraha wali waa inuu dhammeeyaa is-dhaafsiga hoose.
Kadib isku-xiraha SOCKS5 waa inuu fuliyaa is-dhaafsiga borotokoolka:
- Dir salaanta nooca 5 oo taxaysa hababka xaqiijinta ee macmiilku taageero.
- Akhri habka la doortay oo samee is-dhaafsiga xaqiijintiisa marka loo baahdo.
- Dir CONNECT oo wata nooca cinwaanka bartilmaameedka, cinwaanka iyo dekedda ee habka byte-ka shabakadda.
- Akhri jawaabta, hubi nooca iyo koodka natiijada, oo isticmaal cinwaanka xidhanyar iyo dekedda buuxda ee dhererka beddelka ah.
- U dhiib qulqulka la aasaasay borotokoolka barnaamijka.
Kaaliyaha la yiraahdo socks5::async_proxy_connect wuxuu ka tirsan yahay hirgelinta SOCKS ee bixisa kaaliyahaas. Magacaabistiisa agteeda boost::asio kama dhigto qayb ka mid ah is-dhexgalka TCP socket ee Asio.
Akhriska TCP waxa uu soo celin karaa qayb ka mid ah jawaabta oo keliya. Isku dar akhriska tirada byte-yada loo baahan yahay, kadibna dooro dhererka hadhay goobta nooca cinwaanka. Ha u malayn in jawaab kasta oo server-ku leedahay qaabka IPv4 ee go'an.
HTTPS, samee gacan-qaadista TLS ee bartilmaameedka ka dib marka SOCKS CONNECT guulaysto, adigoo ilaalinaya SNI iyo xaqiijinta magaca martida ee bartilmaameedka. Jawaab proxy oo guulaysatay keligeed ma xaqiijiso website-ka.
Hayso joojinta iyo waqtiyada dhammaadka inta lagu jiro dhammaan taxanaha habaynta. Haddii waqtiga samaynta xiriirka TCP dhamaado, is-dhaafsiyada salaanta, xaqiijinta iyo CONNECT ee dambe waxay ahaan doonaan xad la'aan.