summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2007-02-28 17:26:21 +0000
committerdakkar <dakkar@luxion>2007-02-28 17:26:21 +0000
commita82108a3de5c49c78d753ac2c7bfbdfe63e00383 (patch)
treeecd1f4163cb7421406fd93b80c977d411c920ae3
parentpaio di siti aggiunti (diff)
downloadmyProxy-a82108a3de5c49c78d753ac2c7bfbdfe63e00383.tar.gz
myProxy-a82108a3de5c49c78d753ac2c7bfbdfe63e00383.tar.bz2
myProxy-a82108a3de5c49c78d753ac2c7bfbdfe63e00383.zip
aggiunto viaProxy
git-svn-id: svn://luxion/repos/myProxy/trunk@243 fcb26f47-9200-0410-b104-b98ab5b095f3
-rwxr-xr-xMyProxy.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/MyProxy.pl b/MyProxy.pl
index 31cf179..800f152 100755
--- a/MyProxy.pl
+++ b/MyProxy.pl
@@ -8,6 +8,7 @@ use Log::Log4perl;
use FindBin;
use YAML;
use Getopt::Long;
+use LWP::UserAgent;
my $LOGCONF="$FindBin::Bin/log.conf";
my $PORT=3128;
@@ -218,6 +219,24 @@ sub jumpFilter {
}
{
+ my $viaLogger=Log::Log4perl->get_logger('MyProxy.filter.viaProxy');
+ my $ua=LWP::UserAgent->new(
+ keep_alive=>2,
+ parse_head=>0,
+ );
+ $ua->proxy('http','http://exelion:3128/');
+ $ua->requests_redirectable([]);
+sub viaProxy {
+ my ($self,$headers,$request)=@_;
+ my $uri=$request->uri;
+ $viaLogger->debug("Forwarding $uri");
+ return if $uri !~ m|^http://(.*?)bloglines.com/|;
+ my $response=$ua->request($request);
+ $self->proxy->response($response);
+}
+}
+
+{
my $socks=0;
GetOptions('socks|s!' => \$socks,
'port|p=i' => \$PORT,
@@ -241,6 +260,7 @@ sub jumpFilter {
my $proxy=HTTP::Proxy->new(port=>$PORT,engine=>'ScoreBoard');
$proxy->push_filter(request => HTTP::Proxy::HeaderFilter::simple->new(\&doFilter));
$proxy->push_filter(request => HTTP::Proxy::HeaderFilter::simple->new(\&jumpFilter));
+ #$proxy->push_filter(request => HTTP::Proxy::HeaderFilter::simple->new(\&viaProxy));
$logger->info("Running on port ".$proxy->port());
$proxy->start();
}