summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2006-12-14 18:23:51 +0000
committerdakkar <dakkar@luxion>2006-12-14 18:23:51 +0000
commitf58000d8784458d5e8676d6002267b7529ece2ca (patch)
tree714725ca5aeb8b048e77eb2c85a778449aaf2791
parentmerge da dechirico (diff)
downloadmyProxy-f58000d8784458d5e8676d6002267b7529ece2ca.tar.gz
myProxy-f58000d8784458d5e8676d6002267b7529ece2ca.tar.bz2
myProxy-f58000d8784458d5e8676d6002267b7529ece2ca.zip
aggiunto supporto proxy SOCKS (es. Tor)
git-svn-id: svn://luxion/repos/myProxy/trunk@232 fcb26f47-9200-0410-b104-b98ab5b095f3
-rwxr-xr-xMyProxy.pl22
-rw-r--r--log-socks.conf13
2 files changed, 32 insertions, 3 deletions
diff --git a/MyProxy.pl b/MyProxy.pl
index 34ffe9c..1251057 100755
--- a/MyProxy.pl
+++ b/MyProxy.pl
@@ -7,10 +7,9 @@ use HTTP::Response;
use Log::Log4perl;
use FindBin;
use YAML;
+use Getopt::Long;
-# qui dovrei inizializzare log4perl
-Log::Log4perl::init("$FindBin::Bin/log.conf");
-
+my $LOGCONF="$FindBin::Bin/log.conf";
my $PORT=3128;
my @PATFILES=map {"$FindBin::Bin/adzap/scripts/$_"} qw(prematch.list squid_redirect postmatch.list);
my $ZAPSDIR="$FindBin::Bin/adzap/zaps";
@@ -212,9 +211,26 @@ sub jumpFilter {
}
{
+ my $socks=0;
+ GetOptions('socks|s!' => \$socks,
+ 'port|p=i' => \$PORT,
+ 'log|l=s' => \$LOGCONF,
+ );
+ Log::Log4perl::init($LOGCONF);
my $logger=Log::Log4perl->get_logger('MyProxy.main');
$logger->info("Loading...");
for (@PATFILES) {loadPatterns($_)};
+ if ($socks) {
+ $logger->info("Using SOCKS");
+ require LWP::Protocol::http::SocksChain;
+ LWP::Protocol::implementor( http => 'LWP::Protocol::http::SocksChain' );
+ @LWP::Protocol::http::SocksChain::EXTRA_SOCK_OPTS=( Chain_Len => 1,
+ Debug => 0,
+ Random_Chain => 0,
+ Auto_Save => 1,
+ Restore_Type => 1,
+ );
+ }
my $proxy=HTTP::Proxy->new(port=>$PORT);
$proxy->push_filter(request => HTTP::Proxy::HeaderFilter::simple->new(\&doFilter));
$proxy->push_filter(request => HTTP::Proxy::HeaderFilter::simple->new(\&jumpFilter));
diff --git a/log-socks.conf b/log-socks.conf
new file mode 100644
index 0000000..671281d
--- /dev/null
+++ b/log-socks.conf
@@ -0,0 +1,13 @@
+log4perl.rootLogger=INFO,FILE
+
+log4perl.appender.CONSOLE=Log::Log4perl::Appender::ScreenColoredLevels
+log4perl.appender.CONSOLE.layout=Log::Log4perl::Layout::PatternLayout
+log4perl.appender.CONSOLE.layout.ConversionPattern=%d %M> %m %n
+
+log4perl.appender.FILE=Log::Log4perl::Appender::File
+log4perl.appender.FILE.mode=append
+log4perl.appender.FILE.filename=proxy-socks.log
+log4perl.appender.FILE.layout=Log::Log4perl::Layout::PatternLayout
+log4perl.appender.FILE.layout.ConversionPattern=%d %M> %m %n
+
+#log4perl.logger.MyProxy.filter.jumpFilter=DEBUG