NAME

Net::Proxy::Connector::connect - Create CONNECT tunnels through HTTP proxies

SYNOPSIS

# sample proxy using Net::Proxy::Connector::tcp
#                and Net::Proxy::Connector::connect
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',
        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 is a Net::Proxy::Connector that uses the HTTP CONNECT method to ask the proxy to create a tunnel to an outside server.

Be aware that some proxies are set up to deny the creation of some outside tunnels (either to ports other than 443 or outside a specified set of outside hosts).

This connector is only an "out" connector.

CONNECTOR OPTIONS

Net::Proxy::Connector::connect 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.

AUTHOR

Philippe 'BooK' Bruhat, <book@cpan.org>.

BUGS

All the authentication schemes supported by LWP::UserAgent should be supported (we use an LWP::UserAgent internally to contact the proxy).

This means we should also support NTLM, since it is supported as from libwww-perl 5.66. Net::Proxy::Connector::connect has not been actually tested with NTLM, though. Any report of success or failure with a NTLM proxy will be appreciated.

HISTORY

This module is based on my script connect-tunnel, that provided a command-line interface to create tunnels though HTTP proxies. It was first published on CPAN on March 2003.

A better version of connect-tunnel (using Net::Proxy) is provided this distribution.

COPYRIGHT

Copyright 2006 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.