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::dual - Y-shaped Net::Proxy connector

Acknowledgments

       This    module   is   based   on   a   script   named   sslh,   which   I   wrote   with   Frédéric   Plé
       "<frederic.ple+sslh@gmail.com>" (who had the original insight about the fact that not all  servers  speak
       first on the wire).

       Frédéric wrote a C program, while I wrote a Perl script (based on my experience with connect-tunnel).

       Now that "Net::Proxy" is available, I've ported the Perl script to use it.

Author

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

Connector Options

       This connector can only work as an "in" connector.

       The "server_first" and "client_first" options are required: they are hashrefs containing the options
       necessary to create two "out" Net::Proxy::Connector objects that will be used to connect to the requested
       service.

       The Net::Proxy::Connector::dual object decides between the two services by waiting during a short
       timeout. If the client sends some data directly, then it is connected via the "client_first" connector.
       Otherwise, at the end of the timeout, it is connected via the "server_first" connector.

       host
           The hostname on which the connector will listen for client connections.  Default is "localhost".

       port
           The port on which the connector will listen for client connections.

       server_first
           Typically an "out" connector to a SSH server or any service that sends a banner line.

       client_first
           Typically an "out" connectrot to a web server or SSL server.

       timeout
           The timeout in seconds (can be decimal) to make a decision.  Default is 1 second.

Description

       Net::Proxy::Connecter::dual is a Net::Proxy::Connector that can forward the connection to two distinct
       services, based on the client connection, before any data is exchanged.

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::dual(3pm)

Name

       Net::Proxy::Connector::dual - Y-shaped Net::Proxy connector

See Also