0) { conf_mount_rw(); $ent = array(); if ($_POST['enable'] == 1) { //echo "enabled"; $config['installedpackages']['ipblocklist_settings']['config'][0]['enable'] = 1; //Process list by downloading and extracting $myFile = "lists.txt"; $myWFile = "wlists.txt"; $fileContents = file_get_contents($myFile); $fileWContents = file_get_contents($myWFile); $lines = explode(PHP_EOL, $fileContents); $Wlines = explode(PHP_EOL, $fileWContents); //Remove DIR lists to eliminate duplates exec("rm -R lists"); exec("rm -R Wlists"); //Process each list URL, Extract, and put in DIR lists exec("mkdir lists"); exec("mkdir Wlists"); foreach ($lines as $line) { exec("fetch -o lists $line"); $filename = basename($line); //Extract list exec("gzip -d lists/$filename"); } foreach ($Wlines as $Wline) { exec("fetch -o Wlists $Wline"); $Wfilename = basename($Wline); //Extract Whitelist exec("gzip -d Wlists/$Wfilename"); } //Prep pfctl mwexec("touch lists/ipfw.ipfw"); mwexec("touch Wlists/whitelist"); //Now clear ipfw, and process each list to ipfw commands mwexec("sh convert-execute.sh"); } else { //echo "disabled"; $config['installedpackages']['ipblocklist_settings']['config'][0]['enable'] = 0; //Clear Lists mwexec("ipfw -f flush"); mwexec("pfctl -t ipblocklist -T kill"); mwexec("rm -R /usr/local/www/packages/ipblocklist/lists"); mwexec("sed -i -e '/ipblocklist/d' /tmp/rules.debug"); mwexec("pfctl -o basic -f /tmp/rules.debug"); //Clear errorOUT.txt mwexec("rm errorOUT.txt"); } write_config(); //services_dnsmasq_configure(); sleep(1); $savemsg_dnsb = "IP-Blocklist settings have been saved/updated. "; conf_mount_ro(); } ?>

Firewall: IP-Blocklist

\n"; } else { echo "\n"; } ?> Enable IP-Blocklist

"; } else { echo ""; } ?> Enable Logging

Usage
Add direct link to list and press (Example: Level1, Level2, Level3)
Compressed lists should have .gz extention and follows PeerBlock syntax

Warning! - Apply after firewall change or state reset. Use at your own risk.
Current Status = "; ob_start(); $results = exec("pfctl -s rules | grep -c ipblocklist"); ob_end_clean(); if ($results > '2') echo "Running"; else echo "NOT running"; //Get Errors if exists ob_start(); $results = exec("tail -r errorOUT.txt"); ob_end_clean(); echo "
"; echo $results; echo ""; //Get IP Count echo "
You are blocking "; ob_start(); $results = exec("pfctl -T show -t ipblocklist |grep -v -c Z"); ob_end_clean(); echo $results; echo " IPs"; ?>

"; ?>