#!/usr/bin/perl use POSIX qw(strftime); $| = 1 ; $banner="/etc/banners"; $reurlb="http://my.host/banner.html"; $porno="/etc/porn"; $reurlp="http://my.host/pr.html"; $nobanner="/etc/nobanners"; $log="/usr/local/squid/logs/redir.log"; # Open logfile open (LOG, ">> $log"); # init date/time variable $d = strftime "%d.%m.%Y/%H:%M:%S", localtime; # Read banner list if (-e "$banner") {open (BANNER,"$banner"); chomp(@ban=); close (BANNER);} else {printf (LOG "$d Cant' open $banner - $!\n");close(LOG);die;} # Read porno list if (-e "$porno") {open (PORNO,"$porno"); chomp(@por=); close (PORNO);} else {printf (LOG "$d Cant' open $porno - $!\n");close(LOG);die;} # Read nobanner list if (-e "$nobanner") {open (NOB,"$nobanner"); chomp(@noban=); close (NOB);} else {printf (LOG "$d Cant' open $nobanner - $!\n");close(LOG);die;} close (LOG); # Redirect cycle while(chomp($url=<>)) { @mass = split(/ /, $url); $url=$mass[0]; $normalurl=$url; $ip=$mass[1]; $ident=$mass[2]; $met=$mass[3]; $u="";$ok=""; @mass = split(/\?/, $url); $lurl=$mass[0]; # Search in banner list for($i=0;$i> $log"); printf (LOG "$d $ip > [$ok]$normalurl\n"); close (LOG); } print ("$url $ip $ident $met\n"); }