#!/usr/bin/perl $connect_failed=0; print"Content-type: text/html\n\n "; if ($ENV{'QUERY_STRING'}eq"action=connect"){ print ""; } if ($ENV{'QUERY_STRING'}eq"action=connecting"){ if(-e "/var/run/ppp0.pid"){ print ""; } else { if (`ps -A | grep chat` eq ""){ $connect_failed=1; } else{ print ""; } } } print "

Paul's firewall

"; if ($ENV{'QUERY_STRING'}eq"action=connect"){ print"

Connecting!

"; exec("/usr/sbin/ppp-on 1>> /var/log/pppd.log 2>> /var/log/pppd.log"); } if ($ENV{'QUERY_STRING'}eq"action=connecting"){ $connect_failed || print "

Still connecting

"; $connect_failed && print "

Connect Failed. Sorry.

"; } if ((stat("/var/run/ppp0.pid"))[7]){ $dialtime=(stat("/var/run/ppp0.pid"))[9]; $dialtime=time-$dialtime; $hours=int($dialtime/3600); $mins=int($dialtime/60-(60*$hours)); $secs=int($dialtime-((($hours*60)+$mins)*60)); print"Connected $hours:$mins:$secs
"; } else { print "Not Connected
"; } open $file,"/var/log/pppd.log"; read $file,$lines,1024; print "
".$lines."
";