SOCKS-sambandið og TLS-sambandið hava ymiskar uppgávur. Fá fyrst eina byturás til málið gjøgnum SOCKS. Byrja so TLS oman á ta rásina og greina málsheimasíðuna, ikki umboðið.

Fyri eitt TLS-endapunkt av HTTPS-slag kann uppsetingin vera:

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();

Fyri eitt alment HTTPS-mál á loyvdari almennari umboðsleið bjóðar SOCKS5-umboðslistin kandidatar til ProxyAddr og ProxyPort. Brotið setur upp flutningsløgini; nýtslan má framvegis senda tað protokollið, sum málið væntar, og lata socketið aftur, tá ið liðugt er.

Varðveit ætlaða mótpartsnavnið

Umboðsendapunktið hoyrir til fyrsta sambandið. TLS SNI og vertsnavnsvátting snúgva seg um example.com. At brúka vertsnavnið á umboðnum í tí stiginu kann biðja um ella vátta skeiva samsíði.

Uppseting av álitisgoymsluni er onnur sjálvstøðug krav. Brúka ætlaðu CA-uppsetingina hjá nýtsluni í staðin fyri eitt callback, sum lítur á alt, avskrivað av einum greiningardømi.

Um SOCKS-stigið miseydnast, loysir broyting av TLS-parametrum ikki tað. Um SOCKS eydnast og TLS miseydnast, varðveit skírteinis- og vertsnavnsvilluna sum prógv í staðin fyri at viðgera hana sum eitt vanligt umboðsstoyt.

Navnini á modulunum hava eisini týdning: IO::Socket::Socks og IO::Socket::SSL bjóða ymiskar byggjarar og uppstigaðferð. Eitt rætt TCP-socket, sum bert náddi umboðnum, hevur ikki lokið SOCKS-málssamráðingini enn.

Skyldar greinar