Asiok SOCKS5 trukaketa behar du proxira konektatu ondoren
Hartu SOCKS5 protokolo-makina gisa Asio socketaren gainean: irakurketa osoak, balioztatutako erantzunak eta helmugako TLS CONNECT arrakastatsua izan ondoren bakarrik.
Asio TCP socket bat SOCKS5 entzule batera konektatzeak urrats bat betetzen du: entzule horrekiko TCP konexioa. Ez dio proxiri azken zerbitzarira konektatzeko eskatzen. Baimendutako helburu publikoko proba baterako, SOCKS5 proxy zerrendak lehen TCP mutur horretarako hautagaiak eskaintzen ditu; konektoreak beheko trukaketa osatu behar du oraindik.
SOCKS5 konektoreak gero protokolo-trukaketa exekutatu behar du:
- Bidali 5. bertsioako agurra, bezeroak onartzen dituen autentifikazio-metodoak zerrendatuz.
- Irakurri hautatutako metodoa eta egin haren autentifikazio-trukaketa behar denean.
- Bidali CONNECT helmugaren helbide-mota, helbidea eta ataka sareko byte-orderan.
- Irakurri erantzuna, egiaztatu bertsioa eta emaitza-kodea, eta kontsumitu luzera aldakorreko helbide eta ataka lotuak osorik.
- Eman ezarritako korrontea aplikazioaren protokoloari.
socks5::async_proxy_connect izeneko laguntzailea laguntzaile hori ematen duen SOCKS inplementazioarena da. boost::asio ondoan izendatzeak ez du Asio-ren TCP socket interfazearen parte bihurtzen.
TCP irakurketaek erantzunaren zati bat soilik itzul dezakete. Konposatu irakurketak behar diren byte-kopuruetarako, eta gero aukeratu gainerako luzera helbide-mota eremutik. Ez pentsa zerbitzari-erantzun bakoitzak IPv4 diseinu finkoa duenik.
HTTPSrako, egin helmugaren TLS esku-uzketa SOCKS CONNECT arrakastatsua izan ondoren, helmugaren SNI eta ostalari-izenaren egiaztapena mantenduz. Proxy erantzun arrakastatsuak bakarrik ez du webgunea autentifikatzen.
Mantendu ezeztapena eta epeak konfigurazio-sekuentzia osoan. TCP konexioa ezartzeko denbora amaitzen bada, ondorengo agur, autentifikazio eta CONNECT trukaketak mugarik gabe geratzen dira.