diff options
author | fishsoupisgood <github@madingley.org> | 2021-02-18 09:47:47 +0000 |
---|---|---|
committer | fishsoupisgood <github@madingley.org> | 2021-02-18 09:47:47 +0000 |
commit | f81fc8012cbd2307341144d8b866a38291dc6ee9 (patch) | |
tree | e5aecdd95170b14a929a7196fca5cda8e436ab69 | |
parent | 2980bfe8ff5e23f3b75e455bdf096e22b933c5a5 (diff) | |
download | inf-f81fc8012cbd2307341144d8b866a38291dc6ee9.tar.gz inf-f81fc8012cbd2307341144d8b866a38291dc6ee9.tar.bz2 inf-f81fc8012cbd2307341144d8b866a38291dc6ee9.zip |
add socks support for cyclades
-rw-r--r-- | INF/Cyclades.pm | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/INF/Cyclades.pm b/INF/Cyclades.pm index e058af5..7a0647b 100644 --- a/INF/Cyclades.pm +++ b/INF/Cyclades.pm @@ -4,6 +4,7 @@ package INF::Cyclades; use Net::Telnet; use Data::Dumper; +use IO::Socket::Socks; sub flush($) { my $self = shift; @@ -251,9 +252,22 @@ sub new ($;$) { $self = bless $self, $class; - $self->{telnet}->open( Host => $self->{iphost}, - Port => $self->{port} - ); + if ( not exists $parm->{proxy_port} ) { + $self->{telnet}->open( + Host => $self->{iphost}, + Port => $self->{port} + ); + } + else { + + my $sock = IO::Socket::Socks->new( + ProxyAddr => $parm->{proxy_host}, + ProxyPort => $parm->{proxy_port}, + ConnectAddr => $self->{iphost}, + ConnectPort => $self->{port} + ) or die $SOCKS_ERROR; + $self->{telnet}->fhopen($sock); + } unless ( $self->sync ) { $self->{telnet}->close; |