++ed by:
AERO

1 PAUSE user

Lucas Theisen
and 1 contributors

NAME

Footprintless::Tunnel - Provides tunneling over ssh

VERSION

version 1.27

SYNOPSIS

    # Standard way of creating tunnels
    use Footprintless;
    my $tunnel = Footprintless->new()->tunnel($coordinate);

    eval {
        $tunnel->open();
        my $local_hostname = $tunnel->get_local_hostname();
        my $port = $tunnel->get_local_port();

        # do stuff with tunnel
    }
    my $error = $@;
    eval {$tunnel->close()};
    die($error) if ($error);

DESCRIPTION

This module provides tunneling over ssh

ENTITIES

    tunnel => {
        ssh => 'ssh -q',
        local_hostname => 'foo',
        local_port => 1234,
        tunnel_hostname => 'bar',
        tunnel_usename => 'fred',
        destination_hostname => 'baz',
        destination_port => 5678,
        control_socket_dir => '/home/me/.ssh/control_socket',
        tries => 10, 
        wait_seconds => 1, 
    }

CONSTRUCTORS

new($entity, $coordinate, %options)

Creates a new tunnel configured by $entities.

METHODS

close()

Closes the tunnel.

get_local_hostname()

Returns the hostname used to access the tunnel.

get_local_port()

Returns the port used to access the tunnel.

is_open()

Returns a truthy value if the tunnel is open.

open([%options])

Opens the tunnel. The available options are:

tries <COUNT>

Number of times to check if the connection is open before giving up. Defaults to 10.

wait_seconds <SECONDS>

Number of seconds to wait between each check to see if the connection is open. Defaults to 1.

AUTHOR

Lucas Theisen <lucastheisen@pastdev.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Lucas Theisen.

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

SEE ALSO

Please see those modules/websites for more information related to this module.