From f58000d8784458d5e8676d6002267b7529ece2ca Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 14 Dec 2006 18:23:51 +0000 Subject: aggiunto supporto proxy SOCKS (es. Tor) git-svn-id: svn://luxion/repos/myProxy/trunk@232 fcb26f47-9200-0410-b104-b98ab5b095f3 --- MyProxy.pl | 22 +++++++++++++++++++--- log-socks.conf | 13 +++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 log-socks.conf 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 -- cgit v1.2.3