NAME¶
Net::Proxy::Connector::dual - Y-shaped Net::Proxy connector
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.
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.
AUTHOR¶
Philippe 'BooK' Bruhat, "<book@cpan.org>".
ACKNOWLEDGMENTS¶
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¶
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.