diff options
-rw-r--r-- | config/dnsblacklist/dnsblacklist.tmp | 434 | ||||
-rw-r--r-- | config/dnsblacklist/dnsblacklist.tmp.old | 552 | ||||
-rw-r--r-- | config/freeswitch/disa.js | 156 | ||||
-rw-r--r-- | config/freeswitch_dev/disa.js | 156 | ||||
-rwxr-xr-x | config/ipblocklist/convert.pl | 134 |
5 files changed, 716 insertions, 716 deletions
diff --git a/config/dnsblacklist/dnsblacklist.tmp b/config/dnsblacklist/dnsblacklist.tmp index a00bdb82..73464608 100644 --- a/config/dnsblacklist/dnsblacklist.tmp +++ b/config/dnsblacklist/dnsblacklist.tmp @@ -1,217 +1,217 @@ -<?php
-
- //Blacklist was retrieved from
- //http://cri.univ-tlse1.fr/blacklists/index_en.php
-
- require_once('config.inc');
- require("guiconfig.inc");
- include("head.inc");
-
- //set the config as a global variable
- global $config;
-
- $global_usage = '/usr/local/www/packages/dnsblacklist/blacklists/global_usage';
- $fh = fopen($global_usage, 'r');
- while($line=fgets($fh)) {
- $line = trim($line);
- $line_array = explode (":", $line);
- if (strtolower($line_array[0]) == "name") {
- $name = trim($line_array[1]);
- }
- if (strtolower($line_array[0]) == "name en") {
- $name_en = trim($line_array[1]);
- $category[$name]['name_en'] = $name_en;
- }
- if (strtolower($line_array[0]) == "desc en") {
- $desc_en = trim($line_array[1]);
- $category[$name]['desc_en'] = $desc_en;
- }
- }
-
- //get line count for domains list
- function line_number ($file) {
- $result = trim(exec("wc -l $file"));
- $result_array = explode (" ", $result);
- return $result_array[0];
- }
-
- //print_r($_POST);
- //$x = 0;
- //foreach($_POST['blacklist'] as $value) {
- //$blacklist[$x]['name'] = $val;
- //$blacklist[$value] = 'zzz';
- //echo "\$category[\$x]['name'] = '$val';<br>";
- //echo "\$category['$value'] = 'zzz'; <br/>\n";
- //$x++;
- //}
- //unset($x);
- //echo "<pre>";
- //print_r($_POST["blacklist"]);
- //echo "</pre>";
- //foreach($_POST["blacklist"] as $key => $value) {
- //echo "name: ".$value."<br />";
- //$x++;
- //}
-
-if (count($_POST)>0) {
-
- conf_mount_rw();
-
- $dnsmasqfile = "/usr/local/etc/dnsmasq.conf";
- $targetfile = "/usr/local/etc/dnsmasq.blacklist.conf";
- $includestring = "conf-file=/usr/local/etc/dnsmasq.blacklist.conf";
- $dnsmasqconf = "/usr/local/etc/dnsmasq.conf";
-
- //clear previous values
- $ent = array();
- foreach($category as $key => $value) {
- $ent[$key] = '0';
- }
- $config['installedpackages']['dnsblacklist']['config'][0] = $ent;
- //write_config();
-
- //truncate the dnsmasq.blacklist.conf file
- if (file_exists($targetfile)) {
- $fh = fopen($targetfile, 'w');
- fclose($fh);
- }
-
- if ($_POST['enable'] == 1) {
- //echo "enabled";
- $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 1;
- }
- else {
- //echo "disabled";
- $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 0;
- }
-
- //add the include entry for dnsmasq.blacklist.conf to dnsmasq.conf
- if (file_exists($dnsmasqfile)) {
- $getdnsmasq = file_get_contents($dnsmasqfile);
- if(stristr($getdnsmasq,'conf-file=/usr/local/etc/dnsmasq.blacklist.conf') === TRUE) {
- //include found no need to add it
- }
- else {
- $myfhandle = fopen($dnsmasqconf, 'r+');
- fwrite($myfhandle, $includestring);
- fclose($myfhandle);
- }
- }
- else {
- $my2fhandle = fopen($dnsmasqconf, 'x+');
- fwrite($my2fhandle, $includestring);
- fclose($my2fhandle);
- }
-
- //build the dnsmasq.blacklist.conf
- if (count($_POST["blacklist"]) > 0) {
- foreach($_POST["blacklist"] as $value) {
- //set the current selected values
- $blackfile = "blacklists/$value/domains";
- $config['installedpackages']['dnsblacklist']['config'][0][$value] = 1;
- //if enabled write the selected categories to the dnsmasq.blacklist.conf
- if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) {
- $fh2 = fopen($targetfile, 'a');
- $fh = fopen($blackfile,'r');
- while($line=fgets($fh)) {
- //remove all characters other than alpha numeric period and dash
- preg_match("/([a-zA-Z0-9.-]*)/i", $line, $arraymatches);
- $line = $arraymatches[1];
- fwrite($fh2, "address=/" .$line. "/74.125.45.100". "\n");
- }
- fclose($fh);
- fclose($fh2);
- }
- }
- }
-
- write_config();
- services_dnsmasq_configure();
- sleep(1);
- $savemsg_dnsb = "DNS Blacklist settings have been saved. ";
- conf_mount_ro();
-}
-?>
-
-<?php include("fbegin.inc"); ?>
-<p class="pgtitle">Services: DNS Blacklist</p>
-<form method=POST action="">
-
-<?php
-if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) {
- echo "<input name='enable' type='checkbox' value='1' checked>\n";
-}
-else {
- echo "<input name='enable' type='checkbox' value='1'>\n";
-}
-?>
-
-<strong>Enable DNS Blacklist</strong><br><br>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
-<tr><td class="tabcont" >
-<?php if ($savemsg_dnsb) print_info_box($savemsg_dnsb); ?>
-
-Below is a scroll-box filled with categories you can select to be added to your blacklist. <br><br> Each category has a list of known domains/sites that will be denied access by users of this network.
-<br><br><i>(Note: Using all categories at once will require 300Mb of free memory. The <b>adult</b> category is rather memory intensive, requiring 200Mb.)</i>
-<br><br><br>
-
-
-<div style="height:340px;width:95%;overflow:scroll;">
-<?php
-
-echo "<table>\n";
-foreach($category as $key => $value) {
- $domain_count = line_number("blacklists/$key/domains");
- echo "<tr>\n";
- if ($config['installedpackages']['dnsblacklist']['config'][0][$key] == 1) {
- echo "<td><input type='checkbox' name='blacklist[]' value='$key' checked /></td>\n";
- echo "<td><strong>".$value['name_en']."<strong></td>\n";
- echo "<td>".$value['desc_en']."</td>\n";
- echo "<td><i>($domain_count domains)</i></td>\n";
- }
- else {
- echo "<td><input type='checkbox' name='blacklist[]' value='$key' /></td>\n";
- echo "<td><strong>".$value['name_en']."</strong></td>\n";
- echo "<td>".$value['desc_en']."</td>\n";
- echo "<td><i>($domain_count domains)</i></td>\n";
- }
- echo "</tr>\n";
- $x++;
-}
-echo "</table>\n";
-
-?>
-</div>
-<br />
-<br />
-<!--
-Select a category to edit:
--->
-<?php
-////$tmp_category = array(1=> "Edit Category", );
-////$tmp_category = str_replace(" ", " ", $category);
-//echo "<SELECT name=category>\n";
-//foreach($category as $key => $value) {
-// echo "<OPTION value='".$key."'>".$key."</option>\n";
-// $x++;
-//}
-//echo "</select>\n";
-?>
-<!-- or <u>Add your own domains</u> <i>(Coming Soon)</i>
-<br />
-<br />
--->
-<?php
- //This input guarantees that a POST is sent even if no category is selected.
- echo "<input type='hidden' name='zzz' value='required'>";
-?>
-<input type="submit" value="Save">
-</td>
-</tr>
-</table>
-</form>
-
-<?php include("fend.inc"); ?>
-
-</body>
-</html>
\ No newline at end of file +<?php + + //Blacklist was retrieved from + //http://cri.univ-tlse1.fr/blacklists/index_en.php + + require_once('config.inc'); + require("guiconfig.inc"); + include("head.inc"); + + //set the config as a global variable + global $config; + + $global_usage = '/usr/local/www/packages/dnsblacklist/blacklists/global_usage'; + $fh = fopen($global_usage, 'r'); + while($line=fgets($fh)) { + $line = trim($line); + $line_array = explode (":", $line); + if (strtolower($line_array[0]) == "name") { + $name = trim($line_array[1]); + } + if (strtolower($line_array[0]) == "name en") { + $name_en = trim($line_array[1]); + $category[$name]['name_en'] = $name_en; + } + if (strtolower($line_array[0]) == "desc en") { + $desc_en = trim($line_array[1]); + $category[$name]['desc_en'] = $desc_en; + } + } + + //get line count for domains list + function line_number ($file) { + $result = trim(exec("wc -l $file")); + $result_array = explode (" ", $result); + return $result_array[0]; + } + + //print_r($_POST); + //$x = 0; + //foreach($_POST['blacklist'] as $value) { + //$blacklist[$x]['name'] = $val; + //$blacklist[$value] = 'zzz'; + //echo "\$category[\$x]['name'] = '$val';<br>"; + //echo "\$category['$value'] = 'zzz'; <br/>\n"; + //$x++; + //} + //unset($x); + //echo "<pre>"; + //print_r($_POST["blacklist"]); + //echo "</pre>"; + //foreach($_POST["blacklist"] as $key => $value) { + //echo "name: ".$value."<br />"; + //$x++; + //} + +if (count($_POST)>0) { + + conf_mount_rw(); + + $dnsmasqfile = "/usr/local/etc/dnsmasq.conf"; + $targetfile = "/usr/local/etc/dnsmasq.blacklist.conf"; + $includestring = "conf-file=/usr/local/etc/dnsmasq.blacklist.conf"; + $dnsmasqconf = "/usr/local/etc/dnsmasq.conf"; + + //clear previous values + $ent = array(); + foreach($category as $key => $value) { + $ent[$key] = '0'; + } + $config['installedpackages']['dnsblacklist']['config'][0] = $ent; + //write_config(); + + //truncate the dnsmasq.blacklist.conf file + if (file_exists($targetfile)) { + $fh = fopen($targetfile, 'w'); + fclose($fh); + } + + if ($_POST['enable'] == 1) { + //echo "enabled"; + $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 1; + } + else { + //echo "disabled"; + $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 0; + } + + //add the include entry for dnsmasq.blacklist.conf to dnsmasq.conf + if (file_exists($dnsmasqfile)) { + $getdnsmasq = file_get_contents($dnsmasqfile); + if(stristr($getdnsmasq,'conf-file=/usr/local/etc/dnsmasq.blacklist.conf') === TRUE) { + //include found no need to add it + } + else { + $myfhandle = fopen($dnsmasqconf, 'r+'); + fwrite($myfhandle, $includestring); + fclose($myfhandle); + } + } + else { + $my2fhandle = fopen($dnsmasqconf, 'x+'); + fwrite($my2fhandle, $includestring); + fclose($my2fhandle); + } + + //build the dnsmasq.blacklist.conf + if (count($_POST["blacklist"]) > 0) { + foreach($_POST["blacklist"] as $value) { + //set the current selected values + $blackfile = "blacklists/$value/domains"; + $config['installedpackages']['dnsblacklist']['config'][0][$value] = 1; + //if enabled write the selected categories to the dnsmasq.blacklist.conf + if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) { + $fh2 = fopen($targetfile, 'a'); + $fh = fopen($blackfile,'r'); + while($line=fgets($fh)) { + //remove all characters other than alpha numeric period and dash + preg_match("/([a-zA-Z0-9.-]*)/i", $line, $arraymatches); + $line = $arraymatches[1]; + fwrite($fh2, "address=/" .$line. "/74.125.45.100". "\n"); + } + fclose($fh); + fclose($fh2); + } + } + } + + write_config(); + services_dnsmasq_configure(); + sleep(1); + $savemsg_dnsb = "DNS Blacklist settings have been saved. "; + conf_mount_ro(); +} +?> + +<?php include("fbegin.inc"); ?> +<p class="pgtitle">Services: DNS Blacklist</p> +<form method=POST action=""> + +<?php +if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) { + echo "<input name='enable' type='checkbox' value='1' checked>\n"; +} +else { + echo "<input name='enable' type='checkbox' value='1'>\n"; +} +?> + +<strong>Enable DNS Blacklist</strong><br><br> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabcont" > +<?php if ($savemsg_dnsb) print_info_box($savemsg_dnsb); ?> + +Below is a scroll-box filled with categories you can select to be added to your blacklist. <br><br> Each category has a list of known domains/sites that will be denied access by users of this network. +<br><br><i>(Note: Using all categories at once will require 300Mb of free memory. The <b>adult</b> category is rather memory intensive, requiring 200Mb.)</i> +<br><br><br> + + +<div style="height:340px;width:95%;overflow:scroll;"> +<?php + +echo "<table>\n"; +foreach($category as $key => $value) { + $domain_count = line_number("blacklists/$key/domains"); + echo "<tr>\n"; + if ($config['installedpackages']['dnsblacklist']['config'][0][$key] == 1) { + echo "<td><input type='checkbox' name='blacklist[]' value='$key' checked /></td>\n"; + echo "<td><strong>".$value['name_en']."<strong></td>\n"; + echo "<td>".$value['desc_en']."</td>\n"; + echo "<td><i>($domain_count domains)</i></td>\n"; + } + else { + echo "<td><input type='checkbox' name='blacklist[]' value='$key' /></td>\n"; + echo "<td><strong>".$value['name_en']."</strong></td>\n"; + echo "<td>".$value['desc_en']."</td>\n"; + echo "<td><i>($domain_count domains)</i></td>\n"; + } + echo "</tr>\n"; + $x++; +} +echo "</table>\n"; + +?> +</div> +<br /> +<br /> +<!-- +Select a category to edit: +--> +<?php +////$tmp_category = array(1=> "Edit Category", ); +////$tmp_category = str_replace(" ", " ", $category); +//echo "<SELECT name=category>\n"; +//foreach($category as $key => $value) { +// echo "<OPTION value='".$key."'>".$key."</option>\n"; +// $x++; +//} +//echo "</select>\n"; +?> +<!-- or <u>Add your own domains</u> <i>(Coming Soon)</i> +<br /> +<br /> +--> +<?php + //This input guarantees that a POST is sent even if no category is selected. + echo "<input type='hidden' name='zzz' value='required'>"; +?> +<input type="submit" value="Save"> +</td> +</tr> +</table> +</form> + +<?php include("fend.inc"); ?> + +</body> +</html> diff --git a/config/dnsblacklist/dnsblacklist.tmp.old b/config/dnsblacklist/dnsblacklist.tmp.old index e9fadf57..24d34412 100644 --- a/config/dnsblacklist/dnsblacklist.tmp.old +++ b/config/dnsblacklist/dnsblacklist.tmp.old @@ -1,276 +1,276 @@ -<?php
-//http://cri.univ-tlse1.fr/blacklists/index_en.php
-
- require_once('config.inc');
- require("guiconfig.inc");
- include("head.inc");
-
- //set the config as a global variable
- global $config;
-
- //create a category blacklist array
- $category['abortion'] = 'Abortion information excluding when related to religion';
- $category['ads'] = 'Advert servers and banned URLs';
- $category['adult'] = 'Sites containing adult material such as swearing but not porn';
- $category['aggressive'] = 'Similar to violence but more promoting than depicting';
- $category['antispyware'] = 'Sites that remove spyware';
- $category['artnudes'] = 'Art sites containing artistic nudity';
- $category['astrology'] = 'Astrology websites';
- $category['audio-video'] = 'Sites with audio or video downloads';
- $category['banking'] = 'Banking websites';
- $category['beer'] = 'Sites with information on beer or liquors';
- $category['blog'] = 'Journal/Diary websites';
- $category['cellphones'] = 'Stuff for mobile/cell phones';
- $category['chat'] = 'Sites with chat rooms etc';
- $category['childcare'] = 'Sites to do with childcare';
- //$category['cleaning'] = 'Sites to do with cleaning';
- //$category['clothing'] = 'Sites about and selling clothing';
- $category['contraception'] = 'Information about contraception';
- //$category['culinary'] = 'Sites about cooking et al';
- $category['dating'] = 'Sites about dating';
- $category['desktopsillies'] = 'Sites containing screen savers, backgrounds, cursers, pointers, and themes';
- $category['dialers'] = 'Sites with dialers such as those for pornography or trojans';
- $category['drugs'] = 'Drug related sites';
- $category['ecommerce'] = 'Sites that provide online shopping';
- $category['entertainment'] = 'Sites that promote movies, books, magazine, humor';
- $category['filehosting'] = 'Sites to do with filehosting';
- //$category['frencheducation'] = 'Sites to do with french education';
- $category['gambling'] = 'Gambling sites including stocks and shares';
- $category['games'] = 'Game related sites';
- //$category['gardening'] = 'Gardening sites';
- $category['government'] = 'Military and schools etc';
- //$category['guns'] = 'Sites with guns';
- $category['hacking'] = 'Hacking/cracking information';
- //$category['homerepair'] = 'Sites about home repair';
- //$category['hygiene'] = 'Sites about hygiene and other personal grooming related stuff';
- $category['instantmessaging'] = 'Sites that contain messenger client download and web-based messaging sites';
- //$category['jewelry'] = 'Sites about and selling jewelry';
- $category['jobsearch'] = 'Sites for finding jobs';
- $category['kidstimewasting'] = 'Sites kids often waste time on';
- $category['mail'] = 'Webmail and email sites';
- $category['marketingware'] = 'Sites about marketing products';
- $category['medical'] = 'Medical websites';
- $category['mixed_adult'] = 'Mixed adult content sites';
- $category['mobile-phone'] = 'Sites to do with mobile phones';
- $category['naturism'] = 'Sites that contain nude pictures and/or promote a nude lifestyle';
- $category['news'] = 'News sites';
- $category['onlineauctions'] = 'Online auctions';
- $category['onlinegames'] = 'Online gaming sites';
- $category['onlinepayment'] = 'Online payment sites';
- $category['personalfinance'] = 'Personal finance sites';
- //$category['pets'] = 'Pet sites';
- $category['phishing'] = 'Sites attempting to trick people into giving out private information.';
- $category['porn'] = 'Pornography';
- $category['proxy'] = 'Sites with proxies to bypass filters';
- $category['radio'] = 'non-news related radio and television';
- $category['ringtones'] = 'Sites containing ring tones, games, pictures and other';
- $category['searchengines'] = 'Search engines such as google';
- $category['sect'] = 'Sites about religious groups';
- $category['sexuality'] = 'Sites dedicated to sexuality, possibly including adult material';
- $category['shopping'] = 'Shopping sites';
- $category['socialnetworking'] = 'Social networking websites';
- $category['sportnews'] = 'Sport news sites';
- $category['sports'] = 'All sport sites';
- $category['spyware'] = 'Sites who run or have spyware software to download';
- $category['updatesites'] = 'Sites where software updates are downloaded from including virus sigs';
- $category['vacation'] = 'Sites about going on holiday';
- $category['violence'] = 'Sites containing violence';
- $category['virusinfected'] = 'Sites who host virus infected files';
- $category['warez'] = 'Sites with illegal pirate software';
- $category['weather'] = 'Weather news sites and weather related';
- //$category['weapons'] = 'Sites detailing or selling weapons';
- $category['webmail'] = 'Just webmail sites';
-
- //get line count for domains list
- function line_number ($file) {
- $result = trim(exec("wc -l $file"));
- $result_array = explode (" ", $result);
- return $result_array[0];
- }
-
- //print_r($_POST);
- //$x = 0;
- //foreach($_POST['blacklist'] as $value) {
- //$blacklist[$x]['name'] = $val;
- //$blacklist[$value] = 'zzz';
- //echo "\$category[\$x]['name'] = '$val';<br>";
- //echo "\$category['$value'] = 'zzz'; <br/>\n";
- //$x++;
- //}
- //unset($x);
- //echo "<pre>";
- //print_r($_POST["blacklist"]);
- //echo "</pre>";
- //foreach($_POST["blacklist"] as $key => $value) {
- //echo "name: ".$value."<br />";
- //$x++;
- //}
-
-if (count($_POST)>0) {
- $dnsmasqfile = "/usr/local/etc/dnsmasq.conf";
- $targetfile = "/usr/local/etc/dnsmasq.blacklist.conf";
- $includestring = "conf-file=/usr/local/etc/dnsmasq.blacklist.conf";
- $dnsmasqconf = "/usr/local/etc/dnsmasq.conf";
- //clear previous values
- foreach($category as $key => $value) {
- $config['installedpackages']['dnsblacklist']['config'][0][$key] = '';
- }
- if ($_POST['enable'] == 1) {
- //echo "enabled";
- $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 1;
- }
- else {
- //echo "disabled";
- $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 0;
- }
- //add the include entry for dnsmasq.blacklist.conf to dnsmasq.conf
- if (file_exists($dnsmasqfile)) {
- $getdnsmasq = file_get_contents($dnsmasqfile);
- if(stristr($getdnsmasq,'conf-file=/usr/local/etc/dnsmasq.blacklist.conf') === TRUE) {
- //include found no need to add it
- }
- else {
- $myfhandle = fopen($dnsmasqconf, 'r+');
- fwrite($myfhandle, $includestring);
- fclose($myfhandle);
- }
- }
- else {
- $my2fhandle = fopen($dnsmasqconf, 'x+');
- fwrite($my2fhandle, $includestring);
- fclose($my2fhandle);
- }
- //truncate the dnsmasq.blacklist.conf file
- if (file_exists($targetfile)) {
- $fh = fopen($targetfile, 'w');
- fclose($fh);
- }
- //build the dnsmasq.blacklist.conf
- if (count($_POST["blacklist"]) > 0) {
- foreach($_POST["blacklist"] as $value) {
- //set the current selected values
- $blackfile = "blacklists/$value/domains";
- $config['installedpackages']['dnsblacklist']['config'][0][$value] = 1;
- //if enabled write the selected categories to the dnsmasq.blacklist.conf
- if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) {
- $fh2 = fopen($targetfile, 'a');
- $fh = fopen($blackfile,'r');
- while($line=fgets($fh)) {
- fwrite($fh2, "address=/" .trim($line). "/74.125.45.100". "\n");
- }
- fclose($fh);
- fclose($fh2);
- }
- }
- }
- write_config();
- services_dnsmasq_configure();
- sleep(1);
- $savemsg_dnsb = "DNS Blacklist settings have been saved.";
-}
-?>
-
-<?php include("fbegin.inc"); ?>
-<p class="pgtitle">Services: DNS Blacklist</p>
-<form method=POST action="">
-
-<?php
-if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) {
- echo "<input name='enable' type='checkbox' value='1' checked>\n";
-}
-else {
- echo "<input name='enable' type='checkbox' value='1'>\n";
-}
-?>
-
-<strong>Enable DNS Blacklist</strong><br><br>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
-<tr><td class="tabcont" >
-<?php if ($savemsg_dnsb) print_info_box($savemsg_dnsb); ?>
-
-Below is a scroll-box filled with categories you can select to be added to your blacklist. <br><br> Each category has a list of known domains/sites that will be denied access by users of this network.
-<br><br><i>(Note: Using all categories at once will require 300Mb of free memory. The <b>adult</b> and <b>porn</b> categories are rather memory intensive, requiring 200Mb together.)</i>
-<br><br><br>
-
-function ListFiles($dir) {
-
- if($dh = opendir($dir)) {
-
- $files = Array();
- $inner_files = Array();
-
- while($file = readdir($dh)) {
- if($file != "." && $file != ".." && $file[0] != '.') {
- if(is_dir($dir . "/" . $file)) {
- array_push($files, $dir);
- //$inner_files = ListFiles($dir . "/" . $file);
- //if(is_array($inner_files)) $files = array_merge($files, $inner_files);
- } else {
- //array_push($files, $dir . "/" . $file);
- }
- }
- }
-
- closedir($dh);
- return $files;
- }
-}
-
-
-foreach (ListFiles('/usr/local/www/packages/dnsblacklist/') as $key=>$file){
- echo $file ."<br />\n";
-}
-
-
-
-<div style="height:340px;width:680px;overflow:scroll;">
-<?php
-/*
-echo "<table>\n";
-foreach($category as $key => $value) {
- $domain_count = line_number("blacklists/$key/domains");
- //echo "name: ".$key."<br />";
- echo "<tr>\n";
- if ($config['installedpackages']['dnsblacklist']['config'][0][$key] == 1) {
- // echo "<td><input type='checkbox' name='blacklist[]' value='$key' checked /></td><td><strong>$key<strong></td><td>$value</td><td><i>($domain_count domains)</i></td>\n";
- }
- else {
- // echo " <td><input type='checkbox' name='blacklist[]' value='$key' /></td><td><strong>$key</strong></td><td>$value</td><td><i>($domain_count domains)</i></td>\n";
- }
- echo "</tr>\n";
- $x++;
-}
-echo "</table>\n";
-*/
-?>
-</div>
-<br />
-<br />
-<!--
-Select a category to edit:
--->
-<?php
-////$tmp_category = array(1=> "Edit Category", );
-////$tmp_category = str_replace(" ", " ", $category);
-//echo "<SELECT name=category>\n";
-//foreach($category as $key => $value) {
-// echo "<OPTION value='".$key."'>".$key."</option>\n";
-// $x++;
-//}
-//echo "</select>\n";
-?>
-<!-- or <u>Add your own domains</u> <i>(Coming Soon)</i>
-<br />
-<br />
--->
-
-<input type="submit" value="Save">
-</td>
-</tr>
-</table>
-</form>
-
-<?php include("fend.inc"); ?>
-
-</body>
-</html>
\ No newline at end of file +<?php +//http://cri.univ-tlse1.fr/blacklists/index_en.php + + require_once('config.inc'); + require("guiconfig.inc"); + include("head.inc"); + + //set the config as a global variable + global $config; + + //create a category blacklist array + $category['abortion'] = 'Abortion information excluding when related to religion'; + $category['ads'] = 'Advert servers and banned URLs'; + $category['adult'] = 'Sites containing adult material such as swearing but not porn'; + $category['aggressive'] = 'Similar to violence but more promoting than depicting'; + $category['antispyware'] = 'Sites that remove spyware'; + $category['artnudes'] = 'Art sites containing artistic nudity'; + $category['astrology'] = 'Astrology websites'; + $category['audio-video'] = 'Sites with audio or video downloads'; + $category['banking'] = 'Banking websites'; + $category['beer'] = 'Sites with information on beer or liquors'; + $category['blog'] = 'Journal/Diary websites'; + $category['cellphones'] = 'Stuff for mobile/cell phones'; + $category['chat'] = 'Sites with chat rooms etc'; + $category['childcare'] = 'Sites to do with childcare'; + //$category['cleaning'] = 'Sites to do with cleaning'; + //$category['clothing'] = 'Sites about and selling clothing'; + $category['contraception'] = 'Information about contraception'; + //$category['culinary'] = 'Sites about cooking et al'; + $category['dating'] = 'Sites about dating'; + $category['desktopsillies'] = 'Sites containing screen savers, backgrounds, cursers, pointers, and themes'; + $category['dialers'] = 'Sites with dialers such as those for pornography or trojans'; + $category['drugs'] = 'Drug related sites'; + $category['ecommerce'] = 'Sites that provide online shopping'; + $category['entertainment'] = 'Sites that promote movies, books, magazine, humor'; + $category['filehosting'] = 'Sites to do with filehosting'; + //$category['frencheducation'] = 'Sites to do with french education'; + $category['gambling'] = 'Gambling sites including stocks and shares'; + $category['games'] = 'Game related sites'; + //$category['gardening'] = 'Gardening sites'; + $category['government'] = 'Military and schools etc'; + //$category['guns'] = 'Sites with guns'; + $category['hacking'] = 'Hacking/cracking information'; + //$category['homerepair'] = 'Sites about home repair'; + //$category['hygiene'] = 'Sites about hygiene and other personal grooming related stuff'; + $category['instantmessaging'] = 'Sites that contain messenger client download and web-based messaging sites'; + //$category['jewelry'] = 'Sites about and selling jewelry'; + $category['jobsearch'] = 'Sites for finding jobs'; + $category['kidstimewasting'] = 'Sites kids often waste time on'; + $category['mail'] = 'Webmail and email sites'; + $category['marketingware'] = 'Sites about marketing products'; + $category['medical'] = 'Medical websites'; + $category['mixed_adult'] = 'Mixed adult content sites'; + $category['mobile-phone'] = 'Sites to do with mobile phones'; + $category['naturism'] = 'Sites that contain nude pictures and/or promote a nude lifestyle'; + $category['news'] = 'News sites'; + $category['onlineauctions'] = 'Online auctions'; + $category['onlinegames'] = 'Online gaming sites'; + $category['onlinepayment'] = 'Online payment sites'; + $category['personalfinance'] = 'Personal finance sites'; + //$category['pets'] = 'Pet sites'; + $category['phishing'] = 'Sites attempting to trick people into giving out private information.'; + $category['porn'] = 'Pornography'; + $category['proxy'] = 'Sites with proxies to bypass filters'; + $category['radio'] = 'non-news related radio and television'; + $category['ringtones'] = 'Sites containing ring tones, games, pictures and other'; + $category['searchengines'] = 'Search engines such as google'; + $category['sect'] = 'Sites about religious groups'; + $category['sexuality'] = 'Sites dedicated to sexuality, possibly including adult material'; + $category['shopping'] = 'Shopping sites'; + $category['socialnetworking'] = 'Social networking websites'; + $category['sportnews'] = 'Sport news sites'; + $category['sports'] = 'All sport sites'; + $category['spyware'] = 'Sites who run or have spyware software to download'; + $category['updatesites'] = 'Sites where software updates are downloaded from including virus sigs'; + $category['vacation'] = 'Sites about going on holiday'; + $category['violence'] = 'Sites containing violence'; + $category['virusinfected'] = 'Sites who host virus infected files'; + $category['warez'] = 'Sites with illegal pirate software'; + $category['weather'] = 'Weather news sites and weather related'; + //$category['weapons'] = 'Sites detailing or selling weapons'; + $category['webmail'] = 'Just webmail sites'; + + //get line count for domains list + function line_number ($file) { + $result = trim(exec("wc -l $file")); + $result_array = explode (" ", $result); + return $result_array[0]; + } + + //print_r($_POST); + //$x = 0; + //foreach($_POST['blacklist'] as $value) { + //$blacklist[$x]['name'] = $val; + //$blacklist[$value] = 'zzz'; + //echo "\$category[\$x]['name'] = '$val';<br>"; + //echo "\$category['$value'] = 'zzz'; <br/>\n"; + //$x++; + //} + //unset($x); + //echo "<pre>"; + //print_r($_POST["blacklist"]); + //echo "</pre>"; + //foreach($_POST["blacklist"] as $key => $value) { + //echo "name: ".$value."<br />"; + //$x++; + //} + +if (count($_POST)>0) { + $dnsmasqfile = "/usr/local/etc/dnsmasq.conf"; + $targetfile = "/usr/local/etc/dnsmasq.blacklist.conf"; + $includestring = "conf-file=/usr/local/etc/dnsmasq.blacklist.conf"; + $dnsmasqconf = "/usr/local/etc/dnsmasq.conf"; + //clear previous values + foreach($category as $key => $value) { + $config['installedpackages']['dnsblacklist']['config'][0][$key] = ''; + } + if ($_POST['enable'] == 1) { + //echo "enabled"; + $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 1; + } + else { + //echo "disabled"; + $config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] = 0; + } + //add the include entry for dnsmasq.blacklist.conf to dnsmasq.conf + if (file_exists($dnsmasqfile)) { + $getdnsmasq = file_get_contents($dnsmasqfile); + if(stristr($getdnsmasq,'conf-file=/usr/local/etc/dnsmasq.blacklist.conf') === TRUE) { + //include found no need to add it + } + else { + $myfhandle = fopen($dnsmasqconf, 'r+'); + fwrite($myfhandle, $includestring); + fclose($myfhandle); + } + } + else { + $my2fhandle = fopen($dnsmasqconf, 'x+'); + fwrite($my2fhandle, $includestring); + fclose($my2fhandle); + } + //truncate the dnsmasq.blacklist.conf file + if (file_exists($targetfile)) { + $fh = fopen($targetfile, 'w'); + fclose($fh); + } + //build the dnsmasq.blacklist.conf + if (count($_POST["blacklist"]) > 0) { + foreach($_POST["blacklist"] as $value) { + //set the current selected values + $blackfile = "blacklists/$value/domains"; + $config['installedpackages']['dnsblacklist']['config'][0][$value] = 1; + //if enabled write the selected categories to the dnsmasq.blacklist.conf + if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) { + $fh2 = fopen($targetfile, 'a'); + $fh = fopen($blackfile,'r'); + while($line=fgets($fh)) { + fwrite($fh2, "address=/" .trim($line). "/74.125.45.100". "\n"); + } + fclose($fh); + fclose($fh2); + } + } + } + write_config(); + services_dnsmasq_configure(); + sleep(1); + $savemsg_dnsb = "DNS Blacklist settings have been saved."; +} +?> + +<?php include("fbegin.inc"); ?> +<p class="pgtitle">Services: DNS Blacklist</p> +<form method=POST action=""> + +<?php +if ($config['installedpackages']['dnsblacklist_settings']['config'][0]['enable'] == 1) { + echo "<input name='enable' type='checkbox' value='1' checked>\n"; +} +else { + echo "<input name='enable' type='checkbox' value='1'>\n"; +} +?> + +<strong>Enable DNS Blacklist</strong><br><br> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabcont" > +<?php if ($savemsg_dnsb) print_info_box($savemsg_dnsb); ?> + +Below is a scroll-box filled with categories you can select to be added to your blacklist. <br><br> Each category has a list of known domains/sites that will be denied access by users of this network. +<br><br><i>(Note: Using all categories at once will require 300Mb of free memory. The <b>adult</b> and <b>porn</b> categories are rather memory intensive, requiring 200Mb together.)</i> +<br><br><br> + +function ListFiles($dir) { + + if($dh = opendir($dir)) { + + $files = Array(); + $inner_files = Array(); + + while($file = readdir($dh)) { + if($file != "." && $file != ".." && $file[0] != '.') { + if(is_dir($dir . "/" . $file)) { + array_push($files, $dir); + //$inner_files = ListFiles($dir . "/" . $file); + //if(is_array($inner_files)) $files = array_merge($files, $inner_files); + } else { + //array_push($files, $dir . "/" . $file); + } + } + } + + closedir($dh); + return $files; + } +} + + +foreach (ListFiles('/usr/local/www/packages/dnsblacklist/') as $key=>$file){ + echo $file ."<br />\n"; +} + + + +<div style="height:340px;width:680px;overflow:scroll;"> +<?php +/* +echo "<table>\n"; +foreach($category as $key => $value) { + $domain_count = line_number("blacklists/$key/domains"); + //echo "name: ".$key."<br />"; + echo "<tr>\n"; + if ($config['installedpackages']['dnsblacklist']['config'][0][$key] == 1) { + // echo "<td><input type='checkbox' name='blacklist[]' value='$key' checked /></td><td><strong>$key<strong></td><td>$value</td><td><i>($domain_count domains)</i></td>\n"; + } + else { + // echo " <td><input type='checkbox' name='blacklist[]' value='$key' /></td><td><strong>$key</strong></td><td>$value</td><td><i>($domain_count domains)</i></td>\n"; + } + echo "</tr>\n"; + $x++; +} +echo "</table>\n"; +*/ +?> +</div> +<br /> +<br /> +<!-- +Select a category to edit: +--> +<?php +////$tmp_category = array(1=> "Edit Category", ); +////$tmp_category = str_replace(" ", " ", $category); +//echo "<SELECT name=category>\n"; +//foreach($category as $key => $value) { +// echo "<OPTION value='".$key."'>".$key."</option>\n"; +// $x++; +//} +//echo "</select>\n"; +?> +<!-- or <u>Add your own domains</u> <i>(Coming Soon)</i> +<br /> +<br /> +--> + +<input type="submit" value="Save"> +</td> +</tr> +</table> +</form> + +<?php include("fend.inc"); ?> + +</body> +</html> diff --git a/config/freeswitch/disa.js b/config/freeswitch/disa.js index 5cff6424..f705b79c 100644 --- a/config/freeswitch/disa.js +++ b/config/freeswitch/disa.js @@ -1,78 +1,78 @@ -include("/usr/local/freeswitch/scripts/config.js");
-
- //var admin_pin = ""; //don't require a pin
- //if you choose not to require a pin then then you may want to add a dialplan condition for a specific caller id
- var predefined_destination = ""; //example: 9999
- //predefined_destination leave empty in most cases
- //Use this to define a single destination
- var digitmaxlength = 0;
- var timeoutpin = 7500;
- var timeouttransfer = 7500;
-
- function mycb( session, type, obj, arg ) {
- try {
- if ( type == "dtmf" ) {
- console_log( "info", "digit: "+obj.digit+"\n" );
- if ( obj.digit == "#" ) {
- //console_log( "info", "detected pound sign.\n" );
- exit = true;
- return( false );
- }
-
- dtmf.digits += obj.digit;
-
- if ( dtmf.digits.length >= digitmaxlength ) {
- exit = true;
- return( false );
- }
- }
- } catch (e) {
- console_log( "err", e+"\n" );
- }
- return( true );
- } //end function mycb
-
-
- //console_log( "info", "DISA Request\n" );
-
- var dtmf = new Object( );
- dtmf.digits = "";
-
- if ( session.ready( ) ) {
- session.answer( );
-
- if (admin_pin.length > 0) {
- digitmaxlength = 6;
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav", mycb, "dtmf");
- session.collectInput( mycb, dtmf, timeoutpin );
- //console_log( "info", "DISA pin: " + dtmf.digits + "\n" );
- }
-
- if (dtmf.digits == admin_pin || admin_pin.length == 0) {
-
- //console_log( "info", "DISA pin is correct\n" );
-
- us_ring = session.getVariable("us-ring");
- session.execute("set", "ringback="+us_ring); //set to ringtone
- session.execute("set", "transfer_ringback="+us_ring); //set to ringtone
- session.execute("set", "hangup_after_bridge=true");
-
- if (predefined_destination.length == 0) {
- dtmf.digits = ""; //clear dtmf digits to prepare for next dtmf request
- digitmaxlength = 11;
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_phone_number.wav", mycb, "dtmf");
- session.collectInput( mycb, dtmf, timeouttransfer );
- console_log( "info", "DISA Transfer: " + dtmf.digits + "\n" );
- session.execute("transfer", dtmf.digits + " XML default");
- }
- else {
- session.execute("transfer", predefined_destination + " XML default");
- }
-
- }
- else {
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/your_pin_number_is_incorect_goodbye.wav", mycb, "dtmf");
- console_log( "info", "DISA Pin: " + dtmf.digits + " is incorrect\n" );
- }
-
- }
+include("/usr/local/freeswitch/scripts/config.js"); + + //var admin_pin = ""; //don't require a pin + //if you choose not to require a pin then then you may want to add a dialplan condition for a specific caller id + var predefined_destination = ""; //example: 9999 + //predefined_destination leave empty in most cases + //Use this to define a single destination + var digitmaxlength = 0; + var timeoutpin = 7500; + var timeouttransfer = 7500; + + function mycb( session, type, obj, arg ) { + try { + if ( type == "dtmf" ) { + console_log( "info", "digit: "+obj.digit+"\n" ); + if ( obj.digit == "#" ) { + //console_log( "info", "detected pound sign.\n" ); + exit = true; + return( false ); + } + + dtmf.digits += obj.digit; + + if ( dtmf.digits.length >= digitmaxlength ) { + exit = true; + return( false ); + } + } + } catch (e) { + console_log( "err", e+"\n" ); + } + return( true ); + } //end function mycb + + + //console_log( "info", "DISA Request\n" ); + + var dtmf = new Object( ); + dtmf.digits = ""; + + if ( session.ready( ) ) { + session.answer( ); + + if (admin_pin.length > 0) { + digitmaxlength = 6; + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav", mycb, "dtmf"); + session.collectInput( mycb, dtmf, timeoutpin ); + //console_log( "info", "DISA pin: " + dtmf.digits + "\n" ); + } + + if (dtmf.digits == admin_pin || admin_pin.length == 0) { + + //console_log( "info", "DISA pin is correct\n" ); + + us_ring = session.getVariable("us-ring"); + session.execute("set", "ringback="+us_ring); //set to ringtone + session.execute("set", "transfer_ringback="+us_ring); //set to ringtone + session.execute("set", "hangup_after_bridge=true"); + + if (predefined_destination.length == 0) { + dtmf.digits = ""; //clear dtmf digits to prepare for next dtmf request + digitmaxlength = 11; + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_phone_number.wav", mycb, "dtmf"); + session.collectInput( mycb, dtmf, timeouttransfer ); + console_log( "info", "DISA Transfer: " + dtmf.digits + "\n" ); + session.execute("transfer", dtmf.digits + " XML default"); + } + else { + session.execute("transfer", predefined_destination + " XML default"); + } + + } + else { + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/your_pin_number_is_incorect_goodbye.wav", mycb, "dtmf"); + console_log( "info", "DISA Pin: " + dtmf.digits + " is incorrect\n" ); + } + + } diff --git a/config/freeswitch_dev/disa.js b/config/freeswitch_dev/disa.js index 5cff6424..f705b79c 100644 --- a/config/freeswitch_dev/disa.js +++ b/config/freeswitch_dev/disa.js @@ -1,78 +1,78 @@ -include("/usr/local/freeswitch/scripts/config.js");
-
- //var admin_pin = ""; //don't require a pin
- //if you choose not to require a pin then then you may want to add a dialplan condition for a specific caller id
- var predefined_destination = ""; //example: 9999
- //predefined_destination leave empty in most cases
- //Use this to define a single destination
- var digitmaxlength = 0;
- var timeoutpin = 7500;
- var timeouttransfer = 7500;
-
- function mycb( session, type, obj, arg ) {
- try {
- if ( type == "dtmf" ) {
- console_log( "info", "digit: "+obj.digit+"\n" );
- if ( obj.digit == "#" ) {
- //console_log( "info", "detected pound sign.\n" );
- exit = true;
- return( false );
- }
-
- dtmf.digits += obj.digit;
-
- if ( dtmf.digits.length >= digitmaxlength ) {
- exit = true;
- return( false );
- }
- }
- } catch (e) {
- console_log( "err", e+"\n" );
- }
- return( true );
- } //end function mycb
-
-
- //console_log( "info", "DISA Request\n" );
-
- var dtmf = new Object( );
- dtmf.digits = "";
-
- if ( session.ready( ) ) {
- session.answer( );
-
- if (admin_pin.length > 0) {
- digitmaxlength = 6;
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav", mycb, "dtmf");
- session.collectInput( mycb, dtmf, timeoutpin );
- //console_log( "info", "DISA pin: " + dtmf.digits + "\n" );
- }
-
- if (dtmf.digits == admin_pin || admin_pin.length == 0) {
-
- //console_log( "info", "DISA pin is correct\n" );
-
- us_ring = session.getVariable("us-ring");
- session.execute("set", "ringback="+us_ring); //set to ringtone
- session.execute("set", "transfer_ringback="+us_ring); //set to ringtone
- session.execute("set", "hangup_after_bridge=true");
-
- if (predefined_destination.length == 0) {
- dtmf.digits = ""; //clear dtmf digits to prepare for next dtmf request
- digitmaxlength = 11;
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_phone_number.wav", mycb, "dtmf");
- session.collectInput( mycb, dtmf, timeouttransfer );
- console_log( "info", "DISA Transfer: " + dtmf.digits + "\n" );
- session.execute("transfer", dtmf.digits + " XML default");
- }
- else {
- session.execute("transfer", predefined_destination + " XML default");
- }
-
- }
- else {
- session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/your_pin_number_is_incorect_goodbye.wav", mycb, "dtmf");
- console_log( "info", "DISA Pin: " + dtmf.digits + " is incorrect\n" );
- }
-
- }
+include("/usr/local/freeswitch/scripts/config.js"); + + //var admin_pin = ""; //don't require a pin + //if you choose not to require a pin then then you may want to add a dialplan condition for a specific caller id + var predefined_destination = ""; //example: 9999 + //predefined_destination leave empty in most cases + //Use this to define a single destination + var digitmaxlength = 0; + var timeoutpin = 7500; + var timeouttransfer = 7500; + + function mycb( session, type, obj, arg ) { + try { + if ( type == "dtmf" ) { + console_log( "info", "digit: "+obj.digit+"\n" ); + if ( obj.digit == "#" ) { + //console_log( "info", "detected pound sign.\n" ); + exit = true; + return( false ); + } + + dtmf.digits += obj.digit; + + if ( dtmf.digits.length >= digitmaxlength ) { + exit = true; + return( false ); + } + } + } catch (e) { + console_log( "err", e+"\n" ); + } + return( true ); + } //end function mycb + + + //console_log( "info", "DISA Request\n" ); + + var dtmf = new Object( ); + dtmf.digits = ""; + + if ( session.ready( ) ) { + session.answer( ); + + if (admin_pin.length > 0) { + digitmaxlength = 6; + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav", mycb, "dtmf"); + session.collectInput( mycb, dtmf, timeoutpin ); + //console_log( "info", "DISA pin: " + dtmf.digits + "\n" ); + } + + if (dtmf.digits == admin_pin || admin_pin.length == 0) { + + //console_log( "info", "DISA pin is correct\n" ); + + us_ring = session.getVariable("us-ring"); + session.execute("set", "ringback="+us_ring); //set to ringtone + session.execute("set", "transfer_ringback="+us_ring); //set to ringtone + session.execute("set", "hangup_after_bridge=true"); + + if (predefined_destination.length == 0) { + dtmf.digits = ""; //clear dtmf digits to prepare for next dtmf request + digitmaxlength = 11; + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/please_enter_the_phone_number.wav", mycb, "dtmf"); + session.collectInput( mycb, dtmf, timeouttransfer ); + console_log( "info", "DISA Transfer: " + dtmf.digits + "\n" ); + session.execute("transfer", dtmf.digits + " XML default"); + } + else { + session.execute("transfer", predefined_destination + " XML default"); + } + + } + else { + session.streamFile( "/usr/local/freeswitch/sounds/custom/8000/your_pin_number_is_incorect_goodbye.wav", mycb, "dtmf"); + console_log( "info", "DISA Pin: " + dtmf.digits + " is incorrect\n" ); + } + + } diff --git a/config/ipblocklist/convert.pl b/config/ipblocklist/convert.pl index 44b4add2..f3e9db12 100755 --- a/config/ipblocklist/convert.pl +++ b/config/ipblocklist/convert.pl @@ -1,67 +1,67 @@ -#!/usr/bin/perl -w
-use strict;
-
-if($#ARGV != 1) {
- print("Usage: $0 <input file> <output file>\n");
- exit(1);
-}
-
-my ($line,$title,$iprange,$cidr);
-my $i = 30000;
-
-open(INFILE,'<',$ARGV[0]) or die("Could not open input file $ARGV[0]");
-open(OUTFILE,'>>',$ARGV[1]) or die("Could not open output file $ARGV[1]");
-
-foreach $line (<INFILE>) {
- chomp($line);
- $line =~ s/:((\d{1,3}[-\.]*){8})//;
- $iprange = $1;
- print OUTFILE "#$line\n";
- foreach $cidr (split(/\n/,range($iprange))) {
- print OUTFILE "$cidr\n";
- #print OUTFILE "ipfw -q add 1000 drop ip from any to $cidr\n"; (version 0.1.4)
- #$i++;
- #print OUTFILE "ipfw -q add 1001 drop ip from $cidr to any\n"; (version 0.1.4)
- #$i++;
- }
-}
-
-close(INFILE);
-close(OUTFILE);
-
-sub ntoa {
- return join ".",unpack("CCCC",pack("N",shift));
-}
-sub aton {
- return unpack 'N', pack 'C4', split/\./, shift;
-}
-sub deaggregate {
- my $thirtytwobits = 4294967295;
- my $start = shift;
- my $end = shift;
- my $base = $start;
- my ($step,$output);
- while ($base <= $end) {
- $step = 0;
- while (($base | (1 << $step)) != $base) {
- if (($base | (((~0) & $thirtytwobits) >> (31-$step))) > $end) {
- last;
- }
- $step++;
- }
- if($step == 0) {
- $output .= ntoa($base);
- }else{
- $output .= ntoa($base)."/" .(32-$step);
- }
- $output .= "\n";
- $base += 1 << $step;
- }
- return $output;
-}
-sub range {
- my ($address,$address2) = split /-/, shift;
- $address = aton($address);
- $address2 = aton($address2);
- return deaggregate($address,$address2);
-}
\ No newline at end of file +#!/usr/bin/perl -w +use strict; + +if($#ARGV != 1) { + print("Usage: $0 <input file> <output file>\n"); + exit(1); +} + +my ($line,$title,$iprange,$cidr); +my $i = 30000; + +open(INFILE,'<',$ARGV[0]) or die("Could not open input file $ARGV[0]"); +open(OUTFILE,'>>',$ARGV[1]) or die("Could not open output file $ARGV[1]"); + +foreach $line (<INFILE>) { + chomp($line); + $line =~ s/:((\d{1,3}[-\.]*){8})//; + $iprange = $1; + print OUTFILE "#$line\n"; + foreach $cidr (split(/\n/,range($iprange))) { + print OUTFILE "$cidr\n"; + #print OUTFILE "ipfw -q add 1000 drop ip from any to $cidr\n"; (version 0.1.4) + #$i++; + #print OUTFILE "ipfw -q add 1001 drop ip from $cidr to any\n"; (version 0.1.4) + #$i++; + } +} + +close(INFILE); +close(OUTFILE); + +sub ntoa { + return join ".",unpack("CCCC",pack("N",shift)); +} +sub aton { + return unpack 'N', pack 'C4', split/\./, shift; +} +sub deaggregate { + my $thirtytwobits = 4294967295; + my $start = shift; + my $end = shift; + my $base = $start; + my ($step,$output); + while ($base <= $end) { + $step = 0; + while (($base | (1 << $step)) != $base) { + if (($base | (((~0) & $thirtytwobits) >> (31-$step))) > $end) { + last; + } + $step++; + } + if($step == 0) { + $output .= ntoa($base); + }else{ + $output .= ntoa($base)."/" .(32-$step); + } + $output .= "\n"; + $base += 1 << $step; + } + return $output; +} +sub range { + my ($address,$address2) = split /-/, shift; + $address = aton($address); + $address2 = aton($address2); + return deaggregate($address,$address2); +} |