Net::P...ct_ssl(3pm)

πŸ“¦
version 0.13 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– 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 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