Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 312 → Rev 313

/alcasar.sh
878,6 → 878,8
# compatibilité des logs avec awstats
$SED "s?^# emulate_httpd_log.*?emulate_httpd_log on?g" /etc/squid/squid.conf
$SED "s?^access_log.*?access_log /var/log/squid/access.log?g" /etc/squid/squid.conf
# pour éviter les message d'erreur lors des changement d'état des interfaces réseaux
$SED "s?^SQUID_AUTO_RELOAD.*?SQUID_AUTO_RELOAD=no?g" /etc/sysconfig/squid
# Initialisation du cache de Squid
/usr/sbin/squid -z
} # End of param_squid ()
/scripts/etc/alcasar-bl-categories-default
File deleted
/scripts/etc/alcasar-bl-categories-enabled
0,0 → 1,18
adult
agressif
dangerous_material
dating
drogue
gambling
hacking
malware
marketingware
mixed_adult
phishing
redirector
sect
strict_redirector
strong_redirector
tricheur
warez
ossi
/scripts/sbin/alcasar-bl.sh
7,8 → 7,8
DIR_tmp="/tmp/blacklists"
FILE_tmp="/tmp/fileFilter.txt"
DIR_DANSGUARDIAN="/etc/dansguardian/lists"
BL_CATEGORIES_AVAILABLE="/usr/local/etc/alcasar-bl-categories-available"
BL_CATEGORIES_DEFAULT="/usr/local/etc/alcasar-bl-categories-default"
BL_CATEGORIES="/usr/local/etc/alcasar-bl-categories"
BL_CATEGORIES_ENABLED="/usr/local/etc/alcasar-bl-categories-enabled"
DIR_DNS_FILTER_AVAILABLE="/usr/local/etc/alcasar-dnsfilter-available"
DIR_DNS_FILTER_ENABLED="/usr/local/etc/alcasar-dnsfilter-enabled"
IP_RETOUR="192.168.182.1"
34,13 → 34,13
# Adaptation de la BL Toulouse à la structure Dnsmasq
function adapt () {
# On récupère le nom des répertoire (catégories)
find $DIR_DANSGUARDIAN -type f -name domains > $BL_CATEGORIES_AVAILABLE
find $DIR_DANSGUARDIAN -type f -name domains > $BL_CATEGORIES
# On supprime le suffice "/domains"
$SED "s?\/domains??g" $BL_CATEGORIES_AVAILABLE
$SED "s?\/domains??g" $BL_CATEGORIES
rm -f $DIR_DNS_FILTER_AVAILABLE/*
echo -n "Adaptation de la BL Toulouse. Veuillez patienter : "
# On copie les fichiers de domaine pour chaque catégorie
for PATH_FILE in `cat $BL_CATEGORIES_AVAILABLE`
for PATH_FILE in `cat $BL_CATEGORIES`
do
DOMAINE=`basename $PATH_FILE`
echo -n "."
52,14 → 52,6
$SED "s?.*?address=/&/$IP_RETOUR?g" /tmp/dnsmasq-bl.tmp
mv /tmp/dnsmasq-bl.tmp $DIR_DNS_FILTER_AVAILABLE/$DOMAINE.conf
done
# on adapte le fichier $BL_CATEGORIES_AVAILABLE au choix de catégorie par défaut
$SED "s?^[^#]?#&?g" $BL_CATEGORIES_AVAILABLE # on commente ce qui ne l'est pas
for ENABLE_CATEGORIE in `cat $BL_CATEGORIES_DEFAULT`
do
$SED "/^.*$ENABLE_CATEGORIE/d" $BL_CATEGORIES_AVAILABLE
$SED "1i\/etc\/dansguardian\/lists\/blacklist\/$ENABLE_CATEGORIE" $BL_CATEGORIES_AVAILABLE
done
echo
}
 
# Permet d'activer/désactiver les catégories de la BL
67,8 → 59,17
# un peu de ménage
rm -rf $DIR_DNS_FILTER_ENABLED/*
$SED "/\.Include/d" $DIR_DANSGUARDIAN/bannedsitelist $DIR_DANSGUARDIAN/bannedurllist
# on affecte les catégories
for i in `cat $BL_CATEGORIES_DEFAULT`
# on adapte le fichier $BL_CATEGORIES au choix de catégorie
$SED "s?^[^#]?#&?g" $BL_CATEGORIES # on commente ce qui ne l'est pas
for ENABLE_CATEGORIE in `cat $BL_CATEGORIES_ENABLED`
do
$SED "/^.*$ENABLE_CATEGORIE/d" $BL_CATEGORIES
$SED "1i\/etc\/dansguardian\/lists\/blacklist\/$ENABLE_CATEGORIE" $BL_CATEGORIES
done
sort -o $FILE_tmp $BL_CATEGORIES
mv $FILE_tmp $BL_CATEGORIES
# on affecte les catégories à dansguardian et dnsmasq
for i in `cat $BL_CATEGORIES_ENABLED`
do
ln -s $DIR_DNS_FILTER_AVAILABLE/$i.conf $DIR_DNS_FILTER_ENABLED/$i
# echo ".Include<$DIR_DANSGUARDIAN/blacklists/$i/domains>" >> $DIR_DANSGUARDIAN/bannedsitelist
120,7 → 121,7
fi
adapt
;;
# regénération suite à modification de la BL secondaire
# regénération suite à modification (choix catégories ou BL secondaire)
-reload)
# pour Dansguardian
chown -R dansguardian:apache $DIR_DANSGUARDIAN/blacklists/ossi
132,9 → 133,10
then
for i in `cat $DIR_DANSGUARDIAN/exceptionsitelist`
do
$SED "/$i/d" $DIR_DNS_FILTER_AVAILABLE/sect.conf
$SED "/$i/d" $DIR_DNS_FILTER_AVAILABLE/*
done
fi
cp -f $DIR_DANSGUARDIAN/blacklists/ossi/domains $DIR_DNS_FILTER_AVAILABLE/ossi.conf
$SED "s?.*?address=/&/$IP_RETOUR?g" $DIR_DNS_FILTER_AVAILABLE/ossi.conf
service dnsmasq reload
;;
/gestion/admin/dns_filter.php
7,6 → 7,9
</HEAD>
<body>
<?
$bl_categories="/usr/local/etc/alcasar-bl-categories";
$bl_categories_enabled="/usr/local/etc/alcasar-bl-categories-enabled";
$dir_blacklist="/etc/dansguardian/lists/blacklist/";
# Choice of language
$Language = 'en';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
75,6 → 78,24
exec ("sudo /usr/local/sbin/alcasar-bl.sh -download");
exec ("sudo /usr/local/sbin/alcasar-bl.sh -reload");
break;
case 'MAJ_cat' :
$tab=file($bl_categories_enabled);
if ($tab)
{
$pointeur=fopen($bl_categories_enabled, "w+");
foreach ($_POST as $key => $value)
{
if (strstr($key,'chk-'))
{
$line=str_replace('chk-','',$key)."\n";
fwrite($pointeur,$line);
}
}
fclose($pointeur);
}
else {echo "$l_error_open_file $bl_categories_enabled";}
exec ("sudo /usr/local/sbin/alcasar-bl.sh -reload");
break;
case 'MAJ_OSSI' :
$fichier=fopen("/etc/dansguardian/lists/blacklists/ossi/domains","w+");
fputs($fichier, $_POST['OSSI_bl_domains']);
/gestion/admin/categorie_help.php
0,0 → 1,41
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><!-- written by Rexy -->
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>ALCASAR Filter Exceptions</TITLE>
<link rel="stylesheet" href="/css/style.css" type="text/css">
</HEAD>
<body>
<?
# Choice of language
$Language = 'en';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
if (isset($_GET['cat'])){$categorie=$_GET['cat'];}
switch ($categorie)
{
case 'adult' :
if ($Language == 'fr'){
$message="La catégorie 'adult' couvre ...";}
else {$message="The 'adult' category ...";}
break;
default :
if ($Language == 'fr'){
$message="Cette catégorie n'est pas connue";}
else {$message="This categorie is unknown";}
break;
}
?>
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th><?php echo $categorie ;?></th></tr>
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
</TABLE>
<TABLE width="100%" border=1 cellspacing=0 cellpadding=1>
<tr><td valign="middle" align="left">
<?php
echo "$message";?>
</td></tr>
</TABLE>
</BODY>
</HTML>
/gestion/admin/dns_filter2.php
36,14 → 36,14
</td></tr>
<tr><td valign="middle" align="left" colspan=10>
<FORM action='/admin/dns_filter.php' method=POST>
<input type='hidden' name='choix' value='MAJ_OSSI'>
<input type='hidden' name='choix' value='MAJ_cat'>
<?php
echo "<center>$l_bl_categories</center></td></tr>";
//on lit et on interprete le fichier de catégories
$cols=1; $filename="/usr/local/etc/alcasar-bl-categories-available";
if (file_exists($filename))
$cols=1;
if (file_exists($bl_categories))
{
$pointeur=fopen($filename,"r");
$pointeur=fopen($bl_categories,"r");
while (!feof ($pointeur))
{
$ligne=fgets($pointeur, 4096);
51,20 → 51,16
{
if ($cols == 1) { echo "<tr>";}
$categorie=trim(basename($ligne));
echo "<td>$categorie<br>";
echo "<td><a href='categorie_help.php?cat=$categorie' target='cat_help' onclick=window.open('categorie_help.php','cat_help','width=600','height=250','toolbar=no','scrollbars=no','resizable=yes') title='categories help page'>$categorie</a><br>";
echo "<input type='checkbox' name='chk-$categorie'";
// si la ligne est commentée -> categorie non selectionnée
if (preg_match('/^#/',$ligne, $r)) {
echo ">";}
else {
echo "checked>";}
echo "</td>";
 
}
if (preg_match('/^#/',$ligne, $r)) { echo ">";}
else { echo "checked>"; }
echo "</td>";
$cols++;
if ($cols > 10){
if ($cols > 10) {
echo "</tr>";
$cols=1;
$cols=1; }
}
}
fclose($pointeur);
71,7 → 67,7
echo "<tr><td colspan=10><input type='submit' value='$l_record'>";
}
else {
echo "$l_error_open_file $filename";
echo "$l_error_open_file $bl_categories";
}
?>
</FORM>