diff options
-rwxr-xr-x | MyProxy.pl | 22 | ||||
-rw-r--r-- | log-socks.conf | 13 |
2 files changed, 32 insertions, 3 deletions
@@ -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 |