Net::P...ct_ssl(3pm)
π Net::P...ct_ssl(3pm) β aka Net::Proxy::Connector::connect_ssl π
okay bestie, buckle up, this is the page from Net::P...ct_ssl(3pm) and it's literally about building SSL/CONNECT tunnels through HTTP proxies π¦
β¨ NAME β¨
Net::Proxy::Connector::connect_ssl β Create SSL/CONNECT tunnels through HTTP proxies π
πΈ SYNOPSIS πΈ
no thoughts, just vibes, and also this exact code:
# sample proxy using Net::Proxy::Connector::tcp
# and Net::Proxy::Connector::connect_ssl
use Net::Proxy;
# listen on localhost:6789
# and proxy to remotehost:9876 through proxy.company.com:8080
# using the given credentials
my $proxy = Net::Proxy->new(
in => { type => 'tcp', port => '6789' },
out => {
type => 'connect_ssl',
host => 'remotehost',
port => '9876',
proxy_host => 'proxy.company.com',
proxy_port => '8080',
proxy_user => 'jrandom',
proxy_pass => 's3kr3t',
proxy_agent => 'Mozilla/4.04 (X11; I; SunOS 5.4 sun4m)',
},
);
$proxy->register();
Net::Proxy->mainloop();
π DESCRIPTION π
Net::Proxy::Connecter::connect_ssl is a Net::Proxy::Connector that uses the HTTP CONNECT method to ask the proxy to create a tunnel to an outside server. The data is then encrypted using SSL. π₯
obviously, you'll need a server that understands SSL (or a proxy using Net::Proxy::Connector::ssl) at the other end. no cap, that part is not optional.
this connector is only an "out" connector. it's giving one-directional. π
and listen, in addition to the options listed below, this connector accepts all "SSL_..." options to IO::Socket::SSL. They are transparently passed through to the appropriate IO::Socket::SSL methods when upgrading the socket to SSL. slay, it just does that. β¨
π§ CONNECTOR OPTIONS π§
Net::Proxy::Connector::connect_ssl accepts the following options:
heads up bestie, the raw manpage has this little stray line sitting right here before the list, so i'm keeping it exactly as-is because rules are rules: out"
hostβ The destination host. π―portβ The destination port. πͺproxy_hostβ The web proxy name or address. πproxy_portβ The web proxy port. πproxy_userβ The authentication username for the proxy. πproxy_passβ The authentication password for the proxy. π€«proxy_agentβ The user-agent string to use when connecting to the proxy. π΅οΈ
π METHODS π
The Net::Proxy::Connector::connect_ssl connector has an extra method, obtained from Net::Proxy::Connector::ssl:
β upgrade_SSL
$connector->upgrade_SSL( $sock )
This method will upgrade a cleartext socket to SSL. If the socket is already in SSL, it will carp(). likeβ¦ it's gonna yell at you, gently, but it's gonna yell. π
π AUTHOR π
Philippe 'BooK' Bruhat, "<book@cpan.org>". π
π¦ HISTORY π¦
Because Net::Proxy blocks when it tries to connect to itself, it wasn't possible to pass an SSL-encrypted connection through a proxy with a single script: you needed one for the SSL encapsulation, and another one for bypassing the proxy with the "CONNECT" HTTP method. the way that era of networking just said "run two scripts, it's fine" π
See Net::Proxy::Connector::connect and Net::Proxy::Connector::ssl for details.
π COPYRIGHT π
Copyright 2007-2014 Philippe 'BooK' Bruhat, All Rights Reserved.
β¨ LICENSE β¨
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
and that's the whole page, bestie!! π«Ά this icon of a manpage came to you courtesy of perl v5.38.2, dated 2024-05-15, and yeah the footer really does say Net::P...ct_ssl(3pm) because apparently we abbreviate now π
mwah, go build a tunnel π
π¦ where this page comes from
- debian trixie: libnet-proxy-perl 0.13-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-proxy-perl 0.13-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-proxy-perl 0.13-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms