summaryrefslogtreecommitdiffstats
path: root/INF/Cyclades.pm
diff options
context:
space:
mode:
Diffstat (limited to 'INF/Cyclades.pm')
-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;