#!/usr/bin/perl -w
#
### Calomel.org Squid User-Agent Randomizer
### squid_ua_random.pl
#

my $infile = "/etc/squid/squid.conf";

open F,$infile or die "Could not open $infile ($!)";
undef $/; # Tell perl to slurp whole file in one piece.
$txt = <F>;
close F;

my $useragent = &ruseragent;

$txt =~ s/^(header_replace User-Agent ).*/$1$useragent/m;

open F,">$infile.$^T.$$" or die "Could not create $infile.$^T.$$ ($!)";
print F $txt;
close F;

rename "$infile.$^T.$$", $infile
or die "Error renaming $infile.$^T.$$ to $infile ($!)";

sub rdig{
  my @digits = qw/name1 name2 name3 name4 name5/;
  srand(time ^ $$ ^ unpack "%32L*", `ps -ael | gzip`);
  $digits[int(rand(@digits))];
}

sub ruseragent{
  join '',&rdig,"/1.0 (",&rdig,")";
}
