logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

Connector Options

       Net::Proxy::Connector::connect accepts the following options:

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.

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.

License

       This program is free software; you can redistribute it and/or modify it under  the  same  terms  as  Perl
       itself.

perl v5.38.2                                       2024-05-15                Net::Proxy::Connector::connect(3pm)

Name

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

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.

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

See Also