DOKK / manpages / debian 12 / libnet-proxy-perl / Net::Proxy::Connector::dual.3pm.en
Net::Proxy::Connector::dual(3pm) User Contributed Perl Documentation Net::Proxy::Connector::dual(3pm)

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

"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.

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.

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

This module is based on a script named sslh, which I wrote with Frederic Ple "<sslh@wattoo.org>" (who had the original insight about the fact that not all servers speak first on the wire).

Frederic 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.

Copyright 2006 Philippe 'BooK' Bruhat, All Rights Reserved.

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

Hey! The above document had some coding errors, which are explained below:

Non-ASCII character seen before =encoding in 'Frederic'. Assuming CP1252
2021-12-26 perl v5.32.1