NAME
Net::Proxy::Connector::connect_ssl - Create SSL/CONNECT tunnels through HTTP proxies
SYNOPSIS
# sample proxy using Net::Proxy::Connector::tcp# and Net::Proxy::Connector::connect_ssluse Net::Proxy;# listen on localhost:6789# and proxy to remotehost:9876 through proxy.company.com:8080# using the given credentialsmy $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.
This connector is only an "out" connector.
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.
CONNECTOR OPTIONS
Net::Proxy::Connector::connect_ssl accepts the following options:
"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().
AUTHOR
Philippe 'BooK' Bruhat, "<[email protected]>".
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.
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.