summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfishsoupisgood <github@madingley.org>2021-02-18 09:47:47 +0000
committerfishsoupisgood <github@madingley.org>2021-02-18 09:47:47 +0000
commitf81fc8012cbd2307341144d8b866a38291dc6ee9 (patch)
treee5aecdd95170b14a929a7196fca5cda8e436ab69
parent2980bfe8ff5e23f3b75e455bdf096e22b933c5a5 (diff)
downloadinf-f81fc8012cbd2307341144d8b866a38291dc6ee9.tar.gz
inf-f81fc8012cbd2307341144d8b866a38291dc6ee9.tar.bz2
inf-f81fc8012cbd2307341144d8b866a38291dc6ee9.zip
add socks support for cyclades
-rw-r--r--INF/Cyclades.pm20
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;