From f81fc8012cbd2307341144d8b866a38291dc6ee9 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Thu, 18 Feb 2021 09:47:47 +0000 Subject: add socks support for cyclades --- INF/Cyclades.pm | 20 +++++++++++++++++--- 1 file 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; -- cgit v1.2.3