Ukuxhumana kwe-SOCKS nokwe-TLS kunemisebenzi ehlukene. Qala uthole ukugeleza kwamabhayithi okuya endaweni oya kuyo nge-SOCKS. Bese uqala i-TLS phezu kwalokho, uhlonza iwebhusayithi yendawo oya kuyo hhayi i-proxy.

Endaweni yokugcina ye-TLS yohlobo lwe-HTTPS, ukuhlelwa kungaba:

use IO::Socket::Socks;
use IO::Socket::SSL;

my $target = 'example.com';
my $socket = IO::Socket::Socks->new(
    SocksVersion => 5,
    ProxyAddr => '127.0.0.1',
    ProxyPort => 1080,
    ConnectAddr => $target,
    ConnectPort => 443,
) or die $!;

IO::Socket::SSL->start_SSL(
    $socket,
    SSL_hostname => $target,
    SSL_verifycn_name => $target,
    SSL_verifycn_scheme => 'http',
    SSL_verify_mode => SSL_VERIFY_PEER,
) or die IO::Socket::SSL::errstr();

Ngompothi we-HTTPS womphakathi endleleni ye-proxy yomphakathi evunyelwe, uhlu lwama-proxy e-SOCKS5 lunikeza abazongenela i-ProxyAddr ne-ProxyPort. Lesi siqephu sakha izingqimba zokuthutha; uhlelo kusafanele luthumele iphrothokholi elindelwe yindawo bese luvala isokhethi uma luqedile.

Gcina igama lomlingani elihlosiwe

Indawo yokugcina ye-proxy ingeyokuxhumana kokuqala. I-TLS SNI nokuqinisekiswa kwegama lomsingathi kumayelana example.com. Ukusebenzisa igama lomsingathi we-proxy kuleso sigaba kungacela noma kuqinisekise ubunikazi obungalungile.

Ukuhlelwa kwesitoreji sokuthembela kungenye imfuneko ezimele. Sebenzisa ukuhlelwa kwe-CA okuhlosiwe uhlelo esikhundleni se-callback ethemba konke, ekhotshelwe esibonelweni sokuxilonga.

Uma isigaba se-SOCKS sehluleka, ukushintsha amapharamitha e-TLS ngeke kukulungise. Uma i-SOCKS iphumelela kanti i-TLS yehluleka, gcina iphutha lesitifiketi negama lomsingathi njengobufakazi esikhundleni sokukuthatha njengokuphazamiseka kwe-proxy okujwayelekile.

Amagama amamojula nawo abalulekile: i-IO::Socket::Socks ne-IO::Socket::SSL zinikeza abakhi nokuziphatha kokuthuthukisa okuhlukene. Isokhethi ye-TCP eluhlaza efinyelele kuphela ku-proxy ayikakaqedi ukuxoxisana ngendawo ye-SOCKS.

Izihloko ezihlobene