199
modifications
(version 3.21 nombreux correctif pour le paramètre -tlo + nouveau paramètre caché -deb utile pour la création du deb.) |
Aucun résumé des modifications |
||
Ligne 5 : | Ligne 5 : | ||
# CTparental.sh | # CTparental.sh | ||
# | # | ||
# par | # par Guillaume MARSAT | ||
# une parti du code est | # Corrections orthographiques par Pierre-Edouard TESSIER | ||
# une parti du code est tiré du script alcasar-bl.sh créé par Franck BOUIJOUX et Richard REY | |||
# présent dans le code du projet alcasar en version 2.6.1 ; web page http://www.alcasar.net/ | # présent dans le code du projet alcasar en version 2.6.1 ; web page http://www.alcasar.net/ | ||
# This script is distributed under the Gnu General Public License (GPL) | # This script is distributed under the Gnu General Public License (GPL) | ||
arg1=${1} | |||
if [ $arg1 != "-listusers" ] ; then | |||
if [ ! $UID -le 499 ]; then # considaire comme root tous les utilisateurs avec un uid inferieur ou egale a 499,ce qui permet a apt-get,urpmi,yum... de lance le scripte sans erreur. | |||
echo "Il vous faut des droits root pour lancer ce script" | |||
exit 1 | |||
fi | |||
if [ ! - | |||
fi | fi | ||
noinstalldep="0" | |||
nomanuel="0" | |||
ARGS=($*) | |||
for (( narg=1; narg<=$#; narg++ )) ; do | |||
case "${ARGS[$narg]}" in | |||
-nodep ) | |||
noinstalldep="1" | |||
;; | |||
-nomanuel ) | |||
nomanuel="1" | |||
;; | |||
-dirhtml ) | |||
narg=$(( $narg +1 )) | |||
DIRhtmlPersonaliser=${ARGS[$narg]} | |||
if [ ! -d $DIRhtmlPersonaliser ];then | |||
echo "Chemin de répertoire non valide!" | |||
exit 0 | |||
fi | |||
;; | |||
esac | |||
done | |||
pause () { # fonction pause pour debugage | |||
MESSAGE="$*" | |||
choi="" | |||
MESSAGE=${MESSAGE:="pour continuer appuyez sur une touche :"} | |||
echo "$MESSAGE" | |||
while (true); do | |||
read choi | |||
case $choi in | |||
* ) | |||
break | |||
;; | |||
esac | |||
done | |||
} | |||
SED="/bin/sed -i" | SED="/bin/sed -i" | ||
DIR_CONF="/usr/local/etc/CTparental" | DIR_CONF="/usr/local/etc/CTparental" | ||
FILE_CONF="$DIR_CONF/CTparental.conf" | FILE_CONF="$DIR_CONF/CTparental.conf" | ||
FILE_HCONF="$DIR_CONF/CThours.conf" | FILE_HCONF="$DIR_CONF/CThours.conf" | ||
if [ ! -f $FILE_CONF ] ; then | if [ ! -f $FILE_CONF ] ; then | ||
mkdir -p $DIR_CONF | mkdir -p $DIR_CONF | ||
mkdir -p /usr/local/share/CTparental/ | |||
cat << EOF > $FILE_CONF | cat << EOF > $FILE_CONF | ||
LASTUPDATE=0 | LASTUPDATE=0 | ||
Ligne 39 : | Ligne 68 : | ||
HOURSCONNECT=OFF | HOURSCONNECT=OFF | ||
EOF | EOF | ||
fi | |||
## imports du plugin de la distributions si il existe | |||
if [ -f $DIR_CONF/dist.conf ];then | |||
source $DIR_CONF/dist.conf | |||
fi | fi | ||
Ligne 46 : | Ligne 81 : | ||
VertD="\033[1;32m" | VertD="\033[1;32m" | ||
Fcolor="\033[0m" | Fcolor="\033[0m" | ||
GESTIONNAIREDESESSIONS=" login gdm lightdm slim kdm xdm " | GESTIONNAIREDESESSIONS=" login gdm lightdm slim kdm xdm lxdm gdm3 " | ||
FILEPAMTIMECONF="/etc/security/time.conf" | FILEPAMTIMECONF="/etc/security/time.conf" | ||
DIRPAM="/etc/pam.d/" | DIRPAM="/etc/pam.d/" | ||
DAYS= | DAYS=${DAYS:="lundi mardi mercredi jeudi vendredi samedi dimanche "} | ||
DAYS=( $DAYS ) | |||
DAYSPAM=( Mo Tu We Th Fr Sa Su ) | DAYSPAM=( Mo Tu We Th Fr Sa Su ) | ||
DAYSCRON=( mon tue wed thu fri sat sun ) | DAYSCRON=( mon tue wed thu fri sat sun ) | ||
#### DEPENDANCES par DEFAULT ##### | |||
DEPENDANCES=${DEPENDANCES:=" dnsmasq lighttpd php5-cgi libnotify-bin notification-daemon resolvconf "} | |||
#### RESOLVCONF EST PAS PRESENT DANS LA DISTRIBUTION #### | |||
NORESOLVCONF=${NORESOLVCONF:=0} | |||
#### COMMANDES de services par DEFAULT ##### | |||
CMDSERVICE=${CMDSERVICE:="service "} | |||
DNSMASQCONF="/etc/dnsmasq.conf" | CRONstart=${CRONstart:="$CMDSERVICE crond start "} | ||
MAINCONFHTTPD="/etc/lighttpd/lighttpd.conf" | CRONstop=${CRONstop:="$CMDSERVICE crond stop "} | ||
DIRCONFENABLEDHTTPD="/etc/lighttpd/conf-enabled" | CRONrestart=${CRONrestart:="$CMDSERVICE crond restart "} | ||
CTPARENTALCONFHTTPD=$DIRCONFENABLEDHTTPD | LIGHTTPDstart=${LIGHTTPDstart:="$CMDSERVICE lighttpd start "} | ||
RESOLVCONFMAIN="/etc/resolvconf" | LIGHTTPDstop=${LIGHTTPDstop:="$CMDSERVICE lighttpd stop "} | ||
RESOLVDNSMASQ="$RESOLVCONFMAIN/run/interface/lo.dnsmasq" | LIGHTTPDrestart=${LIGHTTPDrestart:="$CMDSERVICE lighttpd restart "} | ||
RESOLVCONFORDER="$RESOLVCONFMAIN/interface-order" | DNSMASQstart=${DNSMASQstart:="$CMDSERVICE dnsmasq start "} | ||
DIRHTML="/var/www/CTparental" | DNSMASQstop=${DNSMASQstop:="$CMDSERVICE dnsmasq stop "} | ||
DIRadminHTML="/var/www/CTadmin" | DNSMASQrestart=${DNSMASQrestart:="$CMDSERVICE dnsmasq restart "} | ||
NWMANAGERstop=${NWMANAGERstop:="$CMDSERVICE network-manager stop"} | |||
NWMANAGERstart=${NWMANAGERstart:="$CMDSERVICE network-manager start"} | |||
NWMANAGERrestart=${NWMANAGERrestart:="$CMDSERVICE network-manager restart"} | |||
PASSWORDFILEHTTPD="/etc/lighttpd/lighttpd-htdigest.user" | |||
REALMADMINHTTPD="interface admin" | #### LOCALISATION du fichier PID lighttpd par default #### | ||
LIGHTTPpidfile=${LIGHTTPpidfile:="/var/run/lighttpd.pid"} | |||
#### COMMANDES D'ACTIVATION DES SERVICES AU DEMARAGE DU PC #### | |||
ENCRON=${ENCRON:=""} | |||
ENLIGHTTPD=${ENLIGHTTPD:=""} | |||
ENDNSMASQ=${ENDNSMASQ:=""} | |||
ENNWMANAGER=${ENNWMANAGER:=""} | |||
#### UID MINIMUM pour les UTILISATEUR | |||
UIDMINUSER=${UIDMINUSER:=1000} | |||
DNSMASQCONF=${DNSMASQCONF:="/etc/dnsmasq.conf"} | |||
MAINCONFHTTPD=${MAINCONFHTTPD:="/etc/lighttpd/lighttpd.conf"} | |||
DIRCONFENABLEDHTTPD=${DIRCONFENABLEDHTTPD:="/etc/lighttpd/conf-enabled"} | |||
CTPARENTALCONFHTTPD=${CTPARENTALCONFHTTPD:="$DIRCONFENABLEDHTTPD/10-CTparental.conf"} | |||
RESOLVCONFMAIN=${RESOLVCONFMAIN:="/etc/resolvconf"} | |||
RESOLVDNSMASQ=${RESOLVDNSMASQ:="$RESOLVCONFMAIN/run/interface/lo.dnsmasq"} | |||
RESOLVCONFORDER=${RESOLVCONFORDER:="$RESOLVCONFMAIN/interface-order"} | |||
DIRHTML=${DIRHTML:="/var/www/CTparental"} | |||
DIRadminHTML=${DIRadminHTML:="/var/www/CTadmin"} | |||
PASSWORDFILEHTTPD=${PASSWORDFILEHTTPD:="/etc/lighttpd/lighttpd-htdigest.user"} | |||
REALMADMINHTTPD=${REALMADMINHTTPD:="interface admin"} | |||
CMDINSTALL="" | CMDINSTALL="" | ||
if [ $(yum help | wc -l ) -ge 50 ] ; then | |||
if [ $ | ## "Distribution basée sur yum exemple redhat, fedora..." | ||
## "Distribution | CMDINSTALL=${CMDINSTALL:="yum install "} | ||
CMDINSTALL="yum install " | CMDREMOVE=${CMDREMOVE:="yum remove "} | ||
CMDREMOVE="yum remove " | |||
fi | fi | ||
urpmi --help 2&> /dev/null | urpmi --help 2&> /dev/null | ||
if [ $? -eq 1 ] ; then | if [ $? -eq 1 ] ; then | ||
## "Distribution | ## "Distribution basée sur urpmi exemple mandriva..." | ||
CMDINSTALL="urpmi -a --auto " | CMDINSTALL=${CMDINSTALL:="urpmi -a --auto "} | ||
CMDREMOVE="urpme --auto " | CMDREMOVE=${CMDREMOVE:="urpme --auto "} | ||
fi | fi | ||
apt-get -h 2&> /dev/null | apt-get -h 2&> /dev/null | ||
if [ $? -eq 0 ] ; then | if [ $? -eq 0 ] ; then | ||
## "Distribution | ## "Distribution basée sur apt-get exemple debian, ubuntu ..." | ||
CMDINSTALL="apt-get -y --force-yes install " | CMDINSTALL=${CMDINSTALL:="apt-get -y --force-yes install "} | ||
CMDREMOVE="apt-get -y --force-yes remove --purge " | CMDREMOVE=${CMDREMOVE:="apt-get -y --force-yes remove --purge "} | ||
fi | fi | ||
Ligne 129 : | Ligne 176 : | ||
WL_CATEGORIES_AVAILABLE="$DIR_CONF/wl-categories-available" | WL_CATEGORIES_AVAILABLE="$DIR_CONF/wl-categories-available" | ||
DIR_DNS_FILTER_AVAILABLE="$DIR_CONF/dnsfilter-available" | DIR_DNS_FILTER_AVAILABLE="$DIR_CONF/dnsfilter-available" | ||
DIR_DNS_BLACKLIST_ENABLED="$DIR_CONF/blacklist-enabled" | |||
DIR_DNS_WHITELIST_ENABLED="$DIR_CONF/whitelist-enabled" | DIR_DNS_WHITELIST_ENABLED="$DIR_CONF/whitelist-enabled" | ||
DNS_FILTER_OSSI="$DIR_CONF/ | DNS_FILTER_OSSI="$DIR_CONF/blacklist-local" | ||
DREAB="$DIR_CONF/domaine-rehabiliter" | DREAB="$DIR_CONF/domaine-rehabiliter" | ||
THISDAYS=$(expr $(date +%Y) \* 365 + $(date +%j)) | THISDAYS=$(expr $(date +%Y) \* 365 + $(date +%j)) | ||
Ligne 181 : | Ligne 228 : | ||
wget -P $tempDIR http://$BL_SERVER/blacklists/download/blacklists.tar.gz 2>&1 | cat | wget -P $tempDIR http://$BL_SERVER/blacklists/download/blacklists.tar.gz 2>&1 | cat | ||
if [ ! $? -eq 0 ]; then | if [ ! $? -eq 0 ]; then | ||
echo "erreur lors du téléchargement | echo "erreur lors du téléchargement, processus interrompu" | ||
rm -rf $tempDIR | rm -rf $tempDIR | ||
set -e | set -e | ||
Ligne 188 : | Ligne 235 : | ||
tar -xzf $tempDIR/blacklists.tar.gz -C $tempDIR | tar -xzf $tempDIR/blacklists.tar.gz -C $tempDIR | ||
if [ ! $? -eq 0 ]; then | if [ ! $? -eq 0 ]; then | ||
echo "erreur d'extraction de l'archive | echo "erreur d'extraction de l'archive, processus interrompu" | ||
set -e | set -e | ||
exit 1 | exit 1 | ||
Ligne 211 : | Ligne 258 : | ||
$SED "s?^AUTOUPDATE.*?AUTOUPDATE=ON?g" $FILE_CONF | $SED "s?^AUTOUPDATE.*?AUTOUPDATE=ON?g" $FILE_CONF | ||
echo "*/10 * * * * root $CHEMINCTPARENTLE -aup" > /etc/cron.d/CTparental-autoupdate | echo "*/10 * * * * root $CHEMINCTPARENTLE -aup" > /etc/cron.d/CTparental-autoupdate | ||
$ | $CRONrestart | ||
} | } | ||
Ligne 217 : | Ligne 264 : | ||
$SED "s?^AUTOUPDATE.*?AUTOUPDATE=OFF?g" $FILE_CONF | $SED "s?^AUTOUPDATE.*?AUTOUPDATE=OFF?g" $FILE_CONF | ||
rm -f /etc/cron.d/CTparental-autoupdate | rm -f /etc/cron.d/CTparental-autoupdate | ||
$ | $CRONrestart | ||
} | } | ||
adapt() { | adapt() { | ||
Ligne 257 : | Ligne 304 : | ||
$SED "/^#.*/d" $FILE_tmp | $SED "/^#.*/d" $FILE_tmp | ||
$SED "/^$/d" $FILE_tmp | $SED "/^$/d" $FILE_tmp | ||
$SED "s/\.\{2, | $SED "s/\.\{2,10\}/\./g" $FILE_tmp # supprime les suite de "." exemple: address=/fucking-big-tits..com/127.0.0.10 devient address=/fucking-big-tits.com/127.0.0.10 | ||
is_blacklist=`grep $DOMAINE $BL_CATEGORIES_AVAILABLE |wc -l` | is_blacklist=`grep $DOMAINE $BL_CATEGORIES_AVAILABLE |wc -l` | ||
if [ $is_blacklist -ge "1" ] ; then | if [ $is_blacklist -ge "1" ] ; then | ||
Ligne 275 : | Ligne 322 : | ||
$SED "/^#.*/d" $FILE_tmp | $SED "/^#.*/d" $FILE_tmp | ||
$SED "/^$/d" $FILE_tmp | $SED "/^$/d" $FILE_tmp | ||
$SED "s/\.\{2, | $SED "s/\.\{2,10\}/\./g" $FILE_tmp # supprime les suite de "." exemple: address=/fucking-big-tits..com/127.0.0.10 devient address=/fucking-big-tits.com/127.0.0.10 | ||
$SED "s?.*?address=/&/$PRIVATE_IP?g" $FILE_tmp # Mise en forme dnsmasq | $SED "s?.*?address=/&/$PRIVATE_IP?g" $FILE_tmp # Mise en forme dnsmasq | ||
mv $FILE_tmp $DIR_DNS_FILTER_AVAILABLE/ossi.conf | mv $FILE_tmp $DIR_DNS_FILTER_AVAILABLE/ossi.conf | ||
Ligne 284 : | Ligne 331 : | ||
catChoice() { | catChoice() { | ||
# echo "catChoice" | # echo "catChoice" | ||
rm -rf $ | rm -rf $DIR_DNS_BLACKLIST_ENABLED/ | ||
mkdir $ | mkdir $DIR_DNS_BLACKLIST_ENABLED | ||
rm -rf $DIR_DNS_WHITELIST_ENABLED/ | rm -rf $DIR_DNS_WHITELIST_ENABLED/ | ||
mkdir $DIR_DNS_WHITELIST_ENABLED | mkdir $DIR_DNS_WHITELIST_ENABLED | ||
Ligne 293 : | Ligne 340 : | ||
is_blacklist=`grep $CATEGORIE $BL_CATEGORIES_AVAILABLE |wc -l` | is_blacklist=`grep $CATEGORIE $BL_CATEGORIES_AVAILABLE |wc -l` | ||
if [ $is_blacklist -ge "1" ] ; then | if [ $is_blacklist -ge "1" ] ; then | ||
cp $DIR_DNS_FILTER_AVAILABLE/$CATEGORIE.conf $ | cp $DIR_DNS_FILTER_AVAILABLE/$CATEGORIE.conf $DIR_DNS_BLACKLIST_ENABLED/ | ||
else | else | ||
cp $DIR_DNS_FILTER_AVAILABLE/$CATEGORIE.conf $DIR_DNS_WHITELIST_ENABLED/ | cp $DIR_DNS_FILTER_AVAILABLE/$CATEGORIE.conf $DIR_DNS_WHITELIST_ENABLED/ | ||
fi | fi | ||
done | done | ||
cp $DIR_DNS_FILTER_AVAILABLE/ossi.conf $ | cp $DIR_DNS_FILTER_AVAILABLE/ossi.conf $DIR_DNS_BLACKLIST_ENABLED/ | ||
# echo "fincatChoice" | # echo "fincatChoice" | ||
reabdomaine | reabdomaine | ||
Ligne 310 : | Ligne 357 : | ||
EOF | EOF | ||
fi | fi | ||
if [ ! -f $ | if [ ! -f $DIR_DNS_BLACKLIST_ENABLED/ossi.conf ] ; then | ||
echo > $ | echo > $DIR_DNS_BLACKLIST_ENABLED/ossi.conf | ||
fi | fi | ||
echo | echo | ||
echo -n "Application de la liste blanche (domaine | echo -n "Application de la liste blanche (domaine réhabilité):" | ||
for CATEGORIE in `cat $CATEGORIES_ENABLED ` # pour chaque catégorie | for CATEGORIE in `cat $CATEGORIES_ENABLED ` # pour chaque catégorie | ||
do | do | ||
Ligne 322 : | Ligne 369 : | ||
for DOMAINE in `cat $DREAB` | for DOMAINE in `cat $DREAB` | ||
do | do | ||
$SED "/$DOMAINE/d" $ | $SED "/$DOMAINE/d" $DIR_DNS_BLACKLIST_ENABLED/$CATEGORIE.conf | ||
done | done | ||
fi | fi | ||
Ligne 332 : | Ligne 379 : | ||
dnsmasqon () { | dnsmasqon () { | ||
categorie1=`sed -n "1 p" $CATEGORIES_ENABLED` # on | categorie1=`sed -n "1 p" $CATEGORIES_ENABLED` # on considère que si la 1ère categorie activée est un blacklist on fonctionne par blacklist. | ||
is_blacklist=`grep $categorie1 $BL_CATEGORIES_AVAILABLE |wc -l` | is_blacklist=`grep $categorie1 $BL_CATEGORIES_AVAILABLE |wc -l` | ||
if [ $is_blacklist -ge "1" ] ; then | if [ $is_blacklist -ge "1" ] ; then | ||
Ligne 339 : | Ligne 386 : | ||
# Configuration file for "dnsmasq with blackhole" | # Configuration file for "dnsmasq with blackhole" | ||
# Inclusion de la blacklist <domains> de Toulouse dans la configuration | # Inclusion de la blacklist <domains> de Toulouse dans la configuration | ||
conf-dir=$ | conf-dir=$DIR_DNS_BLACKLIST_ENABLED | ||
# conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux | # conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux | ||
no-dhcp-interface=$interface_WAN | no-dhcp-interface=$interface_WAN | ||
Ligne 351 : | Ligne 398 : | ||
EOF | EOF | ||
$ | $DNSMASQrestart | ||
else | else | ||
dnsmasqwhitelistonly | dnsmasqwhitelistonly | ||
Ligne 361 : | Ligne 408 : | ||
# Configuration file for "dnsmasq with blackhole" | # Configuration file for "dnsmasq with blackhole" | ||
# Inclusion de la blacklist <domains> de Toulouse dans la configuration | # Inclusion de la blacklist <domains> de Toulouse dans la configuration | ||
# conf-dir=$ | # conf-dir=$DIR_DNS_BLACKLIST_ENABLED | ||
# conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux | # conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux | ||
no-dhcp-interface=$interface_WAN | no-dhcp-interface=$interface_WAN | ||
Ligne 374 : | Ligne 421 : | ||
EOF | EOF | ||
$ | $DNSMASQrestart | ||
} | } | ||
dnsmasqwhitelistonly () { | dnsmasqwhitelistonly () { | ||
Ligne 391 : | Ligne 438 : | ||
server=$DNS1 | server=$DNS1 | ||
server=$DNS2 | server=$DNS2 | ||
address=/#/$PRIVATE_IP #redirige vers $PRIVATE_IP pour | address=/#/$PRIVATE_IP #redirige vers $PRIVATE_IP pour tout ce qui n'a pas été resolu dans les listes blanches | ||
EOF | EOF | ||
$ | $DNSMASQrestart | ||
} | } | ||
FoncHTTPDCONF () { | FoncHTTPDCONF () { | ||
$ | $LIGHTTPDstop | ||
rm -rf $DIRHTML/* | rm -rf $DIRHTML/* | ||
mkdir -v $DIRHTML | mkdir -v $DIRHTML | ||
Ligne 493 : | Ligne 540 : | ||
"mod_alias", | "mod_alias", | ||
"mod_redirect", | "mod_redirect", | ||
"mod_auth", #pour | "mod_auth", #pour interface admin | ||
"mod_fastcgi", #pour | "mod_fastcgi", #pour interface admin (activation du php) | ||
) | ) | ||
auth.debug = 0 | auth.debug = 0 | ||
Ligne 504 : | Ligne 550 : | ||
server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) | server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) | ||
server.errorlog = "/var/log/lighttpd/error.log" | server.errorlog = "/var/log/lighttpd/error.log" | ||
server.pid-file = " | server.pid-file = "$LIGHTTPpidfile" | ||
server.username = "$USERHTTPD" | server.username = "$USERHTTPD" | ||
server.groupname = "$GROUPHTTPD" | server.groupname = "$GROUPHTTPD" | ||
Ligne 514 : | Ligne 560 : | ||
url.access-deny = ( "~", ".inc" ) | url.access-deny = ( "~", ".inc" ) | ||
static-file.exclude-extensions = (".php", ".pl", ".fcgi" ) | static-file.exclude-extensions = (".php", ".pl", ".fcgi" ) | ||
server.tag = "" | server.tag = "" | ||
Ligne 578 : | Ligne 621 : | ||
mkdir -p $DIRadminHTML | mkdir -p $DIRadminHTML | ||
cp -rf CTadmin/* $DIRadminHTML/ | cp -rf CTadmin/* $DIRadminHTML/ | ||
#if [ $ | #if [ $noinstalldep = "1" ]; then | ||
# addadminhttpd "admin" "admin" | # addadminhttpd "admin" "admin" | ||
#else | #else | ||
Ligne 593 : | Ligne 636 : | ||
done | done | ||
clear | clear | ||
echo "Entrer le mot de $loginhttp :" | echo "Entrer le mot de passe de $loginhttp :" | ||
while (true); do | while (true); do | ||
read password | read password | ||
Ligne 654 : | Ligne 697 : | ||
is_sudo_ok=`grep $USERHTTPD /etc/sudoers |wc -l` | is_sudo_ok=`grep $USERHTTPD /etc/sudoers |wc -l` | ||
if [ $is_sudo_ok -ge "1" ] ; then | if [ $is_sudo_ok -ge "1" ] ; then | ||
$SED "s?^Defaults:$USERHTTPD.*requiretty.*?Defaults:$USERHTTPD \!requiretty?g" /etc/sudoers | |||
$SED "s?^$USERHTTPD.*?$USERHTTPD ALL=(ALL) NOPASSWD:/usr/local/bin/CTparental.sh -tlu,/usr/local/bin/CTparental.sh -trf,/usr/local/bin/CTparental.sh -dble,/usr/local/bin/CTparental.sh -ubl,/usr/local/bin/CTparental.sh -dl,/usr/local/bin/CTparental.sh -on,/usr/local/bin/CTparental.sh -off,/usr/local/bin/CTparental.sh -aupon,/usr/local/bin/CTparental.sh -aupoff?g" /etc/sudoers | $SED "s?^$USERHTTPD.*?$USERHTTPD ALL=(ALL) NOPASSWD:/usr/local/bin/CTparental.sh -tlu,/usr/local/bin/CTparental.sh -trf,/usr/local/bin/CTparental.sh -dble,/usr/local/bin/CTparental.sh -ubl,/usr/local/bin/CTparental.sh -dl,/usr/local/bin/CTparental.sh -on,/usr/local/bin/CTparental.sh -off,/usr/local/bin/CTparental.sh -aupon,/usr/local/bin/CTparental.sh -aupoff?g" /etc/sudoers | ||
else | else | ||
echo "Defaults:$USERHTTPD !requiretty" >> /etc/sudoers | |||
echo "$USERHTTPD ALL=(ALL) NOPASSWD:/usr/local/bin/CTparental.sh -tlu,/usr/local/bin/CTparental.sh -trf,/usr/local/bin/CTparental.sh -dble,/usr/local/bin/CTparental.sh -ubl,/usr/local/bin/CTparental.sh -dl,/usr/local/bin/CTparental.sh -on,/usr/local/bin/CTparental.sh -off,/usr/local/bin/CTparental.sh -aupon,/usr/local/bin/CTparental.sh -aupoff" >> /etc/sudoers | echo "$USERHTTPD ALL=(ALL) NOPASSWD:/usr/local/bin/CTparental.sh -tlu,/usr/local/bin/CTparental.sh -trf,/usr/local/bin/CTparental.sh -dble,/usr/local/bin/CTparental.sh -ubl,/usr/local/bin/CTparental.sh -dl,/usr/local/bin/CTparental.sh -on,/usr/local/bin/CTparental.sh -off,/usr/local/bin/CTparental.sh -aupon,/usr/local/bin/CTparental.sh -aupoff" >> /etc/sudoers | ||
fi | fi | ||
Ligne 664 : | Ligne 710 : | ||
chown root:$GROUPHTTPD $FILE_HCONF | chown root:$GROUPHTTPD $FILE_HCONF | ||
chmod 660 $FILE_HCONF | chmod 660 $FILE_HCONF | ||
chown -R root:$GROUPHTTPD $DIRHTML | |||
$ | chown -R root:$GROUPHTTPD $DIRadminHTML | ||
$LIGHTTPDstart | |||
test=$? | test=$? | ||
if [ ! $test -eq 0 ];then | if [ ! $test -eq 0 ];then | ||
Ligne 675 : | Ligne 722 : | ||
install () { | install () { | ||
if [ $nomanuel -eq 0 ]; then | |||
vim -h 2&> /dev/null | |||
if [ $? -eq 0 ] ; then | |||
EDIT="vim " | |||
fi | |||
mono -h 2&> /dev/null | |||
if [ $? -eq 0 ] ; then | |||
EDIT=${EDIT:="mono "} | |||
fi | |||
vi -h 2&> /dev/null | |||
if [ $? -eq 0 ] ; then | |||
EDIT=${EDIT:="vi "} | |||
fi | |||
if [ -f gpl-3.0.fr.txt ] ; then | |||
cp -f gpl-3.0.fr.txt /usr/local/share/CTparental/ | |||
fi | |||
if [ -f gpl-3.0.txt ] ; then | |||
cp -f gpl-3.0.txt /usr/local/share/CTparental/ | |||
fi | |||
if [ -f CHANGELOG ] ; then | |||
cp -f CHANGELOG /usr/local/share/CTparental/ | |||
fi | |||
if [ -f dist.conf ];then | |||
cp -f dist.conf /usr/local/share/CTparental/dist.conf.orig | |||
cp -f dist.conf $DIR_CONF/ | |||
fi | |||
while (true); do | |||
$EDIT $DIR_CONF/dist.conf | |||
clear | |||
cat $EDIT $DIR_CONF/dist.conf | grep -v -E ^# | |||
echo "Entrer : S pour continuer avec ces parramêtres ." | |||
echo "Entrer : Q pour Quiter l'installation." | |||
echo "Entrer tous autre choix pour modifier les parramêtres." | |||
read choi | |||
case $choi in | |||
S | s ) | |||
break | |||
;; | |||
Q | q ) | |||
exit | |||
;; | |||
esac | |||
done | |||
fi | |||
if [ -f $DIR_CONF/dist.conf ];then | |||
source $DIR_CONF/dist.conf | |||
fi | |||
if [ -f /etc/NetworkManager/NetworkManager.conf ];then | |||
$SED "s/^dns=dnsmasq/#dns=dnsmasq/g" /etc/NetworkManager/NetworkManager.conf | |||
$NWMANAGERrestart | |||
sleep 5 | |||
fi | |||
mkdir $tempDIR | mkdir $tempDIR | ||
Ligne 680 : | Ligne 781 : | ||
initblenabled | initblenabled | ||
cat /etc/resolv.conf > $DIR_CONF/resolv.conf.sav | cat /etc/resolv.conf > $DIR_CONF/resolv.conf.sav | ||
if [ $ | if [ $noinstalldep = "0" ]; then | ||
$CMDINSTALL | $CMDINSTALL $DEPENDANCES | ||
fi | fi | ||
if [ ! -f blacklists.tar.gz ] | if [ ! -f blacklists.tar.gz ] | ||
Ligne 691 : | Ligne 790 : | ||
tar -xzf blacklists.tar.gz -C $tempDIR | tar -xzf blacklists.tar.gz -C $tempDIR | ||
if [ ! $? -eq 0 ]; then | if [ ! $? -eq 0 ]; then | ||
echo " | echo "Erreur d'extraction de l'archive, processus interrompu" | ||
uninstall | uninstall | ||
set -e | set -e | ||
Ligne 703 : | Ligne 802 : | ||
dnsmasqon | dnsmasqon | ||
$SED "s?^LASTUPDATE.*?LASTUPDATE=$THISDAYS=`date +%d-%m-%Y\ %T`?g" $FILE_CONF | $SED "s?^LASTUPDATE.*?LASTUPDATE=$THISDAYS=`date +%d-%m-%Y\ %T`?g" $FILE_CONF | ||
confresolvconf | confresolvconf | ||
FoncHTTPDCONF | FoncHTTPDCONF | ||
} | $ENCRON | ||
$ENLIGHTTPD | |||
$ENDNSMASQ | |||
$ENNWMANAGER | |||
} | |||
confresolvconf () { | confresolvconf () { | ||
echo "nameserver 127.0.0.1" > $RESOLVDNSMASQ | if [ $NORESOLVCONF -eq 1 ] ; then | ||
if [ ! -f $RESOLVCONFORDER ];then | chattr -i /etc/resolv.conf | ||
echo "nameserver 127.0.0.1" > /etc/resolv.conf | |||
chattr +i /etc/resolv.conf | |||
else | |||
echo "nameserver 127.0.0.1" > $RESOLVDNSMASQ | |||
if [ ! -f $RESOLVCONFORDER ];then | |||
cat << EOF > $RESOLVCONFORDER | cat << EOF > $RESOLVCONFORDER | ||
# interface-order(5) | # interface-order(5) | ||
lo.inet* | lo.inet* | ||
lo.dnsmasq | lo.dnsmasq | ||
lo.pdnsd | lo.pdnsd | ||
lo.!(pdns|pdns-recursor) | lo.!(pdns|pdns-recursor) | ||
lo | lo | ||
tun* | tun* | ||
tap* | tap* | ||
hso* | hso* | ||
em+([0-9])?[+([0-9]))* | em+([0-9])?[+([0-9]))* | ||
p+([0-9]p+([0-9])?(_+([0-9]))* | p+([0-9]p+([0-9])?(_+([0-9]))* | ||
eth* | eth* | ||
ath* | ath* | ||
wlan* | wlan* | ||
ppp* | ppp* | ||
* | * | ||
EOF | EOF | ||
fi | |||
resolvconf -u | |||
fi | fi | ||
} | } | ||
uninstall () { | uninstall () { | ||
rm -f /etc/cron.d/CTparental* | rm -f /etc/cron.d/CTparental* | ||
$ | $DNSMASQrestart | ||
$ | $LIGHTTPDstop | ||
rm -f /var/www/index.lighttpd.html | rm -f /var/www/index.lighttpd.html | ||
rm -rf $tempDIR | rm -rf $tempDIR | ||
rm -rf $DIRHTML | rm -rf $DIRHTML | ||
rm -rf /usr/local/share/CTparental | |||
rm -rf /usr/share/lighttpd/* | |||
rm -f $CTPARENTALCONFHTTPD | |||
rm -rf $DIRadminHTML | |||
if [ $NORESOLVCONF -eq 1 ] ; then | |||
chattr -i /etc/resolv.conf | |||
cat $DIR_CONF/resolv.conf.sav > /etc/resolv.conf | |||
dhclient -r | |||
dhclient | |||
else | |||
rm -f $RESOLVDNSMASQ | |||
resolvconf -u | |||
fi | |||
if [ -f /etc/NetworkManager/NetworkManager.conf ];then | if [ -f /etc/NetworkManager/NetworkManager.conf ];then | ||
$SED "s/^#dns=dnsmasq/dns=dnsmasq/g" /etc/NetworkManager/NetworkManager.conf | $SED "s/^#dns=dnsmasq/dns=dnsmasq/g" /etc/NetworkManager/NetworkManager.conf | ||
$ | $NWMANAGERrestart | ||
sleep 5 | sleep 5 | ||
fi | fi | ||
rm -rf $DIR_CONF | |||
if [ $noinstalldep = "0" ]; then | |||
rm -rf $ | $CMDREMOVE $DEPENDANCES | ||
if [ $ | |||
$CMDREMOVE $ | |||
fi | fi | ||
} | } | ||
Ligne 766 : | Ligne 879 : | ||
echo -n > $CATEGORIES_ENABLED | echo -n > $CATEGORIES_ENABLED | ||
clear | clear | ||
echo "Voulez | echo "Voulez-vous filtrer par Blacklist ou Whitelist :" | ||
echo -n " B/W :" | echo -n " B/W :" | ||
while (true); do | while (true); do | ||
Ligne 772 : | Ligne 885 : | ||
case $choi in | case $choi in | ||
B | b ) | B | b ) | ||
echo "Vous | echo "Vous allez maintenant choisir les \"Black listes\" à appliquer." | ||
for CATEGORIE in `cat $BL_CATEGORIES_AVAILABLE` # pour chaque catégorie | for CATEGORIE in `cat $BL_CATEGORIES_AVAILABLE` # pour chaque catégorie | ||
do | do | ||
Ligne 794 : | Ligne 907 : | ||
;; | ;; | ||
W | w ) | W | w ) | ||
echo "Vous | echo "Vous allez maintenant choisir les \"White listes\" à appliquer." | ||
for CATEGORIE in `cat $WL_CATEGORIES_AVAILABLE` # pour chaque catégorie | for CATEGORIE in `cat $WL_CATEGORIES_AVAILABLE` # pour chaque catégorie | ||
do | do | ||
Ligne 822 : | Ligne 935 : | ||
errortime1 () { | errortime1 () { | ||
clear | clear | ||
echo -e "L'heure de | echo -e "L'heure de début doit être strictement inférieure a l'heure de fin: $RougeD$input$Fcolor " | ||
echo "exemple: 08h00 | echo "exemple: 08h00 à 23h59 ou 08h00 à 12h00 et 14h00 à 23h59" | ||
echo -e -n "$RougeD$PCUSER$Fcolor est | echo -e -n "$RougeD$PCUSER$Fcolor est autorisé à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de :" | ||
} | } | ||
errortime2 () { | errortime2 () { | ||
clear | clear | ||
echo -e "Mauvaise syntaxe: $RougeD$input$Fcolor " | echo -e "Mauvaise syntaxe: $RougeD$input$Fcolor " | ||
echo "exemple: 08h00 | echo "exemple: 08h00 à 23h59 ou 08h00 à 12h00 et 14h00 à 23h59" | ||
echo -e -n "$RougeD$PCUSER$Fcolor est | echo -e -n "$RougeD$PCUSER$Fcolor est autorisé à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de :" | ||
} | } | ||
timecronalert () { | |||
MinAlert=${1} # temp en minute entre l'alerte et l'action | |||
H=$((10#${2})) | |||
M=$((10#${3})) | |||
D=$((10#${4})) | |||
MinTotalAlert="$(($H*60+$M-$MinAlert))" | |||
if [ $(( $MinTotalAlert < 0 )) -eq 1 ] | |||
then | |||
if [ $Numday -eq 0 ] ; then | |||
D=6 | |||
else | |||
D=$(( $D -1 )) | |||
fi | |||
MinTotalAlert="$(($(($H + 24))*60+$M-$MinAlert))" | |||
fi | |||
Halert=$(($MinTotalAlert/60)) | |||
MAlert=$(($MinTotalAlert - $(( $Halert *60 )) )) | |||
echo "$MAlert $Halert * * ${DAYSCRON[$D]}" | |||
} | } | ||
activetimelogin () { | activetimelogin () { | ||
TESTGESTIONNAIRE="" | TESTGESTIONNAIRE="" | ||
Ligne 851 : | Ligne 973 : | ||
if [ -f $DIRPAM$FILE ];then | if [ -f $DIRPAM$FILE ];then | ||
if [ $(cat $DIRPAM$FILE | grep -c "account required pam_time.so") -eq 0 ] ; then | if [ $(cat $DIRPAM$FILE | grep -c "account required pam_time.so") -eq 0 ] ; then | ||
$SED "1i account required pam_time.so" $DIRPAM$FILE | |||
fi | fi | ||
TESTGESTIONNAIRE=$TESTGESTIONNAIRE\ $FILE | TESTGESTIONNAIRE=$TESTGESTIONNAIRE\ $FILE | ||
Ligne 857 : | Ligne 979 : | ||
done | done | ||
if [ $( echo $TESTGESTIONNAIRE | wc -m ) -eq 1 ] ; then | if [ $( echo $TESTGESTIONNAIRE | wc -m ) -eq 1 ] ; then | ||
echo "Aucun | echo "Aucun gestionnaire de session connu n'a été détecté." | ||
echo " il est donc impossible d'activer le | echo " il est donc impossible d'activer le contrôle horaire des connexions" | ||
desactivetimelogin | desactivetimelogin | ||
exit 1 | exit 1 | ||
Ligne 871 : | Ligne 993 : | ||
echo > /etc/cron.d/CTparental${DAYS[$NumDAY]} | echo > /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
done | done | ||
for PCUSER in ` | for PCUSER in `listeusers` | ||
do | do | ||
HOMEPCUSER=$(getent passwd "$PCUSER" | cut -d ':' -f6) | |||
$SED "/^$PCUSER=/d" $FILE_HCONF | $SED "/^$PCUSER=/d" $FILE_HCONF | ||
echo -e -n "$PCUSER est | echo -e -n "$PCUSER est autorisé a se connecter 7j/7 24h/24 O/N?" | ||
choi="" | choi="" | ||
while (true); do | while (true); do | ||
Ligne 899 : | Ligne 1 022 : | ||
clear | clear | ||
echo "exemple: 00h00 | echo "exemple: 00h00 à 23h59 ou 08h00 à 12h00 et 14h00 à 16h50" | ||
echo -e -n "$RougeD$PCUSER$Fcolor est | echo -e -n "$RougeD$PCUSER$Fcolor est autorisé à se connecter le $BleuD${DAYS[$NumDAY]}$Fcolor de :" | ||
while (true); do | while (true); do | ||
read choi | read choi | ||
input=$choi | input=$choi | ||
choi=$(echo $choi | sed -e "s/h//g" | sed -e "s/ //g" | sed -e "s/a/-/g" | sed -e "s/et/:/g" ) # mise en forme de choi pour pam | choi=$(echo $choi | sed -e "s/h//g" | sed -e "s/ //g" | sed -e "s/a/-/g" | sed -e "s/et/:/g" ) # mise en forme de la variable choi pour pam | ||
if [ $( echo $choi | grep -E -c "^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$|^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]:([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$" ) -eq 1 ];then | if [ $( echo $choi | grep -E -c "^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$|^([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]:([0-1][0-9]|2[0-3])[0-5][0-9]-([0-1][0-9]|2[0-3])[0-5][0-9]$" ) -eq 1 ];then | ||
int1=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f1) | int1=$(echo $choi | cut -d ":" -f1 | cut -d "-" -f1) | ||
Ligne 917 : | Ligne 1 040 : | ||
HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$int1-$int2|" | HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$int1-$int2|" | ||
fi | fi | ||
m1=$(echo $int1 | sed -e 's/.\{02\}//') | |||
h1=$(echo $int1 | sed -e 's/.\{02\}$//') | |||
m2=$(echo $int2 | sed -e 's/.\{02\}//') | |||
h2=$(echo $int2 | sed -e 's/.\{02\}$//') | |||
echo "$PCUSER=$NumDAY=$h1${h}h$m1:$h2${h}h$m2" >> $FILE_HCONF | |||
echo "$ | echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
for count in 1 2 3 4 5 | |||
do | |||
echo "$(timecronalert $count $h2 $m2 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes \" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
done | |||
break | break | ||
Ligne 933 : | Ligne 1 060 : | ||
HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$int1-$int2|${DAYSPAM[$NumDAY]}$int3-$int4|" | HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$int1-$int2|${DAYSPAM[$NumDAY]}$int3-$int4|" | ||
fi | fi | ||
m1=$(echo $int1 | sed -e 's/.\{02\}//') | |||
h1=$(echo $int1 | sed -e 's/.\{02\}$//') | |||
m2=$(echo $int2 | sed -e 's/.\{02\}//') | |||
h2=$(echo $int2 | sed -e 's/.\{02\}$//') | |||
m3=$(echo $int3 | sed -e 's/.\{02\}//') | |||
h3=$(echo $int3 | sed -e 's/.\{02\}$//') | |||
m4=$(echo $int4 | sed -e 's/.\{02\}//') | |||
h4=$(echo $int4 | sed -e 's/.\{02\}$//') | |||
## minutes heures jourdumoi moi jourdelasemaine utilisateur commande | ## minutes heures jourdumoi moi jourdelasemaine utilisateur commande | ||
echo "$PCUSER=$NumDAY=$h1${h}h$m1:$h2${h}h$m2:$h3${h}h$m3:$h4${h}h$m4" >> $FILE_HCONF | |||
echo "$ | echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
echo "$m4 $h4 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
for count in 1 2 3 4 5 | |||
do | |||
echo "$(timecronalert $count $h2 $m2 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes \" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
echo "$(timecronalert $count $h4 $m4 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes\" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
done | |||
break | break | ||
else | else | ||
Ligne 978 : | Ligne 1 111 : | ||
echo >> $FILE_HCONF | echo >> $FILE_HCONF | ||
$SED "s?^HOURSCONNECT.*?HOURSCONNECT=ON?g" $FILE_CONF | $SED "s?^HOURSCONNECT.*?HOURSCONNECT=ON?g" $FILE_CONF | ||
$ | $CRONrestart | ||
} | } | ||
Ligne 993 : | Ligne 1 126 : | ||
$SED "s?^HOURSCONNECT.*?HOURSCONNECT=OFF?g" $FILE_CONF | $SED "s?^HOURSCONNECT.*?HOURSCONNECT=OFF?g" $FILE_CONF | ||
$ | $CRONrestart | ||
} | |||
listeusers () { | |||
TABUSER=( " $(getent passwd | cut -d":" -f1,3) " ) | |||
for LIGNES in $TABUSER | |||
do | |||
#echo $(echo $LIGNES | cut -d":" -f2) | |||
if [ $(echo $LIGNES | cut -d":" -f2) -ge $UIDMINUSER ] ;then | |||
echo $LIGNES | cut -d":" -f1 | |||
fi | |||
done | |||
} | } | ||
Ligne 1 003 : | Ligne 1 148 : | ||
if [ -f $DIRPAM$FILE ];then | if [ -f $DIRPAM$FILE ];then | ||
if [ $(cat $DIRPAM$FILE | grep -c "account required pam_time.so") -eq 0 ] ; then | if [ $(cat $DIRPAM$FILE | grep -c "account required pam_time.so") -eq 0 ] ; then | ||
$SED "1i account required pam_time.so" $DIRPAM$FILE | |||
fi | fi | ||
TESTGESTIONNAIRE=$TESTGESTIONNAIRE\ $FILE | TESTGESTIONNAIRE=$TESTGESTIONNAIRE\ $FILE | ||
Ligne 1 009 : | Ligne 1 154 : | ||
done | done | ||
if [ $( echo $TESTGESTIONNAIRE | wc -m ) -eq 1 ] ; then | if [ $( echo $TESTGESTIONNAIRE | wc -m ) -eq 1 ] ; then | ||
echo "Aucun | echo "Aucun gestionnaire de session connu n'a été détecté." | ||
echo " il est donc impossible d'activer le | echo " il est donc impossible d'activer le contrôle horaire des connexions" | ||
desactivetimelogin | desactivetimelogin | ||
exit 1 | exit 1 | ||
Ligne 1 024 : | Ligne 1 169 : | ||
done | done | ||
for PCUSER in ` | for PCUSER in `listeusers` | ||
do | do | ||
HOMEPCUSER=$(getent passwd "$PCUSER" | cut -d ':' -f6) | |||
HORAIRESPAM="" | HORAIRESPAM="" | ||
userisconfigured="0" | userisconfigured="0" | ||
Ligne 1 052 : | Ligne 1 198 : | ||
echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
echo "$m4 $h4 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | echo "$m4 $h4 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
for count in 1 2 3 4 5 | |||
do | |||
echo "$(timecronalert $count $h2 $m2 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes \" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
echo "$(timecronalert $count $h4 $m4 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes \" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
userisconfigured="1" | userisconfigured="1" | ||
done | |||
else | else | ||
Ligne 1 060 : | Ligne 1 211 : | ||
HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$h1$m1-$h2$m2|" | HORAIRESPAM="$HORAIRESPAM${DAYSPAM[$NumDAY]}$h1$m1-$h2$m2|" | ||
fi | fi | ||
for count in 1 2 3 4 5 | |||
do | |||
echo "$(timecronalert $count $h2 $m2 $NumDAY) root export DISPLAY=:0.0 && export XAUTHORITY=$HOMEPCUSER/.Xauthority && sudo -u $PCUSER /usr/bin/notify-send -u critical \"Alerte CTparental\" \"fermeture de session dans $count minutes \" " >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | |||
done | |||
echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | echo "$m2 $h2 * * ${DAYSCRON[$NumDAY]} root /usr/bin/skill -KILL -u$PCUSER" >> /etc/cron.d/CTparental${DAYS[$NumDAY]} | ||
userisconfigured="1" | userisconfigured="1" | ||
fi | fi | ||
Ligne 1 075 : | Ligne 1 231 : | ||
$SED "s?^HOURSCONNECT.*?HOURSCONNECT=ON?g" $FILE_CONF | $SED "s?^HOURSCONNECT.*?HOURSCONNECT=ON?g" $FILE_CONF | ||
$ | $CRONrestart | ||
} | } | ||
Ligne 1 082 : | Ligne 1 238 : | ||
usage="Usage: CTparental.sh {-i }|{ -u }|{ -dl }|{ -ubl }|{ -rl }|{ -on }|{ -off }|{ -cble }|{ -dble } | usage="Usage: CTparental.sh {-i }|{ -u }|{ -dl }|{ -ubl }|{ -rl }|{ -on }|{ -off }|{ -cble }|{ -dble } | ||
|{ -tlo }|{ -tlu }|{ -uhtml }|{ -aupon }|{ -aupoff }|{ -aup } | |{ -tlo }|{ -tlu }|{ -uhtml }|{ -aupon }|{ -aupoff }|{ -aup } | ||
-i => | -i => Installe le contrôle parental sur l'ordinateur (pc de bureau). Peut être utilisé avec | ||
un paramètre | un paramètre supplémentaire pour indiquer un chemin de sources pour la page web de redirection. | ||
exemple : CTparental.sh -i /home/toto/html/ | exemple : CTparental.sh -i -dirhtml /home/toto/html/ | ||
si pas d'option le \"sens interdit\" est | si pas d'option le \"sens interdit\" est utilisé par défaut. | ||
-u => | -u => désinstalle le contrôle parental de l'ordinateur (pc de bureau) | ||
-dl => | -dl => met à jour le contrôle parental à partir de la blacklist de l'université de Toulouse | ||
-ubl => A faire | -ubl => A faire après chaque modification du fichier $DNS_FILTER_OSSI | ||
-rl => A faire | -rl => A faire après chaque modification manuelle du fichier $DREAB | ||
-on => Active le | -on => Active le contrôle parental | ||
-off => Désactive le | -off => Désactive le contrôle parental | ||
-cble => Configure | -cble => Configure le mode de filtrage par liste blanche ou par liste noire (défaut) ainsi que les | ||
catégories que l'on | catégories que l'on veut activer. | ||
-dble => Remet les catégories | -dble => Remet les catégories actives par défaut et le filtrage par liste noire. | ||
-tlo => Active | -tlo => Active et paramètre les restrictions horaires de login pour les utilisateurs. | ||
Compatible avec les gestionnaire de sessions suivant $GESTIONNAIREDESESSIONS . | Compatible avec les gestionnaire de sessions suivant $GESTIONNAIREDESESSIONS . | ||
-tlu => | -tlu => Désactive les restrictions horaires de login pour les utilisateurs. | ||
-uhtml => | -uhtml => met à jour la page de redirection à partir d'un répertoire source ou par défaut avec | ||
le \"sens interdit\". | le \"sens interdit\". | ||
exemples: | exemples: | ||
- avec un | - avec un repertoire source : CTparental.sh -uhtml -dirhtml /home/toto/html/ | ||
- par | - par défaut : CTparental.sh -uhtml | ||
permet aussi de changer le couple login , | permet aussi de changer le couple login, mot de passe de l'interface web. | ||
-aupon => active la mise | -aupon => active la mise à jour automatique de la blacklist de Toulouse (tous les 7 jours). | ||
-aupoff => | -aupoff => désactive la mise à jour automatique de la blacklist de Toulouse. | ||
-aup => comme -dl mais seulement si il n'y a pas eu de mise | -aup => comme -dl mais seulement si il n'y a pas eu de mise à jour depuis plus de 7 jours. | ||
-nodep => si placer aprés -i ou -u permet de ne pas installer/désinstaller les dépendances, utiles si | |||
on préfaire les installer a la mains , ou pour le scripte de postinst et prerm | |||
du deb. | |||
exemples: | |||
CTparental.sh -i -nodep | |||
CTparental.sh -i -dirhtml /home/toto/html/ -nodep | |||
CTparental.sh -u -nodep | |||
-nomanuel => utiliser uniquement pour le scripte de postinst et prerm | |||
du deb. | |||
" | " | ||
case $ | case $arg1 in | ||
-\? | -h* | --h*) | -\? | -h* | --h*) | ||
echo "$usage" | echo "$usage" | ||
Ligne 1 188 : | Ligne 1 353 : | ||
-aup | --autoupdate ) | -aup | --autoupdate ) | ||
autoupdate | autoupdate | ||
;; | |||
-listusers ) | |||
listeusers | |||
;; | ;; | ||
Ligne 1 209 : | Ligne 1 377 : | ||
</HEAD> | </HEAD> | ||
<body> | <body> | ||
<? | <?php | ||
function form_filter ($form_content) | function form_filter ($form_content) | ||
{ | { | ||
Ligne 1 224 : | Ligne 1 392 : | ||
$Language = strtolower(substr(chop($Langue[0]),0,2)); } | $Language = strtolower(substr(chop($Langue[0]),0,2)); } | ||
if($Language == 'fr'){ | if($Language == 'fr'){ | ||
$l_hours_error1="un mauvais format horaire a | $l_switch_LogOFF="Déconnection"; | ||
$l_hours_error2=" | $l_hours_error1="un mauvais format horaire a été trouvé :exemple 8h30 doit s'écrire 08h30"; | ||
$l_hours_on = "Les horaires de | $l_hours_error2="incohérence horaire : "; | ||
$l_hours_off = "Les horaires de | $l_hours_on = "Les horaires de connexion sont actuellement activés"; | ||
$l_switch_hours_off = "Désactiver les horaires de | $l_hours_off = "Les horaires de connexion sont actuellement désactivés"; | ||
$l_switch_hours_on = "Activer les horaires de | $l_switch_hours_off = "Désactiver les horaires de connexion"; | ||
$l_hours1 = "Heures de | $l_switch_hours_on = "Activer les horaires de connexion"; | ||
$l_hours1 = "Heures de connexions autorisées"; | |||
$l_switch_Init_bl = "Init Catégories"; | $l_switch_Init_bl = "Init Catégories"; | ||
$l_auto_update_on = "La mise | $l_auto_update_on = "La mise à jour de la blacklist de Toulouse tous les 7 jours est activée"; | ||
$l_auto_update_off = "La mise | $l_auto_update_off = "La mise à jour de la blacklist de Toulouse tous les 7 jours est désactivée"; | ||
$l_switch_auto_update_on = "Activer Maj Auto"; | $l_switch_auto_update_on = "Activer Maj Auto"; | ||
$l_switch_auto_update_off = "Désactiver Maj Auto"; | $l_switch_auto_update_off = "Désactiver Maj Auto"; | ||
$l_fmenu_black = " | $l_fmenu_black = "Filtrage par BlackList"; | ||
$l_fmenu_white = " | $l_fmenu_white = "Filtrage par WhiteList"; | ||
$l_title1 = "Filtrage de noms de domaine "; | $l_title1 = "Filtrage de noms de domaine "; | ||
$l_error_open_file="Erreur d'ouverture du fichier"; | $l_error_open_file="Erreur d'ouverture du fichier"; | ||
Ligne 1 254 : | Ligne 1 423 : | ||
$l_reject_bl="Rejeter"; | $l_reject_bl="Rejeter"; | ||
$l_warning="Temps estimé : une minute."; | $l_warning="Temps estimé : une minute."; | ||
$l_specific_filtering="Filtrage | $l_specific_filtering="Filtrage spécial"; | ||
$l_forbidden_dns="Noms de domaine filtrés"; | $l_forbidden_dns="Noms de domaine filtrés"; | ||
$l_forbidden_dns_explain="Entrez un nom de domaine par ligne (exemple : domaine.org)"; | $l_forbidden_dns_explain="Entrez un nom de domaine par ligne (exemple : domaine.org)"; | ||
Ligne 1 260 : | Ligne 1 429 : | ||
$l_rehabilitated_dns="Noms de domaine réhabilités"; | $l_rehabilitated_dns="Noms de domaine réhabilités"; | ||
$l_rehabilitated_dns_explain_bl="1-Entrez ici des noms de domaine bloqués par la liste noire <BR> que vous souhaitez réhabiliter."; | $l_rehabilitated_dns_explain_bl="1-Entrez ici des noms de domaine bloqués par la liste noire <BR> que vous souhaitez réhabiliter."; | ||
$l_rehabilitated_dns_explain_wl="2-Entrez ici des noms de domaine | $l_rehabilitated_dns_explain_wl="2-Entrez ici des noms de domaine autorisés en plus de ceux <BR> de la liste blanche de Toulouse."; | ||
$l_add_to_bl="Noms de domaine ajoutés à la liste noire"; | $l_add_to_bl="Noms de domaine ajoutés à la liste noire"; | ||
$l_record="Enregistrer les modifications"; | $l_record="Enregistrer les modifications"; | ||
Ligne 1 266 : | Ligne 1 435 : | ||
} | } | ||
else { | else { | ||
$l_hours_error1=" | $l_switch_LogOFF="Logout"; | ||
$l_hours_error2=" | $l_hours_error1="Un mauvais format horaire a été trouvé : exemple 8h30 doit s'écrire 08h30"; | ||
$l_hours_on = "Les horaires de | $l_hours_error2="incohérence horaire : "; | ||
$l_hours_off = "Les horaires de | $l_hours_on = "Les horaires de connexion sont actuellement activés"; | ||
$l_switch_hours_off = "Désactiver les horaires de | $l_hours_off = "Les horaires de connexion sont actuellement désactivés"; | ||
$l_switch_hours_on = "Activer les horaires de | $l_switch_hours_off = "Désactiver les horaires de connexion"; | ||
$l_hours1 = "Heures de | $l_switch_hours_on = "Activer les horaires de connexion"; | ||
$l_hours1 = "Heures de connexions autorisées"; | |||
$l_switch_Init_bl = "Init Catégories"; | $l_switch_Init_bl = "Init Catégories"; | ||
$l_auto_update_on = "La mise | $l_auto_update_on = "La mise à jour de la blacklist de Toulouse tous les 7 jours est activée"; | ||
$l_auto_update_off = "La mise | $l_auto_update_off = "La mise à jour de la blacklist de Toulouse tous les 7 jours est désactivée"; | ||
$l_switch_auto_update_on = "Activer Maj Auto"; | $l_switch_auto_update_on = "Activer Maj Auto"; | ||
$l_switch_auto_update_off = "Désactiver Maj Auto"; | $l_switch_auto_update_off = "Désactiver Maj Auto"; | ||
$l_fmenu_black = " | $l_fmenu_black = "Filtrage par BlackList"; | ||
$l_fmenu_white = " | $l_fmenu_white = "Filtrage par WhiteList"; | ||
$l_title1 = "Domain names filtering"; | $l_title1 = "Domain names filtering"; | ||
$l_error_open_file="Error opening the file"; | $l_error_open_file="Error opening the file"; | ||
Ligne 1 286 : | Ligne 1 456 : | ||
$l_switch_filtering_on="Switch the Filter on"; | $l_switch_filtering_on="Switch the Filter on"; | ||
$l_switch_filtering_off="Switch the Filter off"; | $l_switch_filtering_off="Switch the Filter off"; | ||
$l_main_bl="Blacklist/ | $l_main_bl="Blacklist/Whitelist"; | ||
$l_bl_version="Current version : "; | $l_bl_version="Current version : "; | ||
$l_bl_categories_bl="Choice of filtered categories"; | $l_bl_categories_bl="Choice of filtered categories"; | ||
$l_bl_categories_wl="Choice of | $l_bl_categories_wl="Choice of authorized categories"; | ||
$l_download_bl="Download the last version"; | $l_download_bl="Download the last version"; | ||
$l_fingerprint="The digital fingerprint of the downloaded blacklist is : "; | $l_fingerprint="The digital fingerprint of the downloaded blacklist is : "; | ||
Ligne 1 302 : | Ligne 1 472 : | ||
$l_rehabilitated_dns="Rehabilitated domain names"; | $l_rehabilitated_dns="Rehabilitated domain names"; | ||
$l_rehabilitated_dns_explain_bl="Enter here domain names that are blocked by the blacklist <BR> and you want to rehabilitate."; | $l_rehabilitated_dns_explain_bl="Enter here domain names that are blocked by the blacklist <BR> and you want to rehabilitate."; | ||
$l_rehabilitated_dns_explain_wl="2-Entrez ici des noms de domaine | $l_rehabilitated_dns_explain_wl="2-Entrez ici des noms de domaine autorisés en plus de ceux <BR> de la liste blanche de Toulouse."; | ||
$l_add_to_bl="Domain names to add to blacklist"; | $l_add_to_bl="Domain names to add to blacklist"; | ||
$l_record="Save changes"; | $l_record="Save changes"; | ||
Ligne 1 313 : | Ligne 1 483 : | ||
$hconf_file="/usr/local/etc/CTparental/CThours.conf"; | $hconf_file="/usr/local/etc/CTparental/CThours.conf"; | ||
$wl_domains="/usr/local/etc/CTparental/domaine-rehabiliter"; | $wl_domains="/usr/local/etc/CTparental/domaine-rehabiliter"; | ||
$bl_domains="/usr/local/etc/CTparental/ | $bl_domains="/usr/local/etc/CTparental/blacklist-local"; | ||
# default values | # default values | ||
Ligne 1 320 : | Ligne 1 490 : | ||
switch ($choix) | switch ($choix) | ||
{ | { | ||
case 'LogOFF' : | |||
header('HTTP/1.0 401 Unauthorized'); | |||
header('WWW-Authenticate: Digest realm="interface admin"'); | |||
exit; | |||
break; | |||
case 'BL_On' : | case 'BL_On' : | ||
exec ("sudo -u root /usr/local/bin/CTparental.sh -on"); | exec ("sudo -u root /usr/local/bin/CTparental.sh -on"); | ||
Ligne 1 382 : | Ligne 1 557 : | ||
if (strstr($line,$selectuser) == false) | if (strstr($line,$selectuser) == false) | ||
{ | { | ||
fwrite($pointeur,$line); # on reécrit toutes les lignes ne | fwrite($pointeur,$line); # on reécrit toutes les lignes ne correspondant pas à l'utilisateur sélectionné | ||
} | } | ||
Ligne 1 473 : | Ligne 1 648 : | ||
echo "<TABLE width='100%' border=1 cellspacing=0 cellpadding=0>"; | echo "<TABLE width='100%' border=1 cellspacing=0 cellpadding=0>"; | ||
echo "<tr><td valign='middle' align='left'>"; | echo "<tr><td valign='middle' align='left'>"; | ||
echo "<CENTER>"; | |||
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | |||
echo "<input type=hidden name='choix' value=\"LogOFF\">"; | |||
echo "<input type=submit value=\"$l_switch_LogOFF\">"; | |||
echo "</FORM>"; | |||
echo "</CENTER>"; | |||
if (is_file ($conf_file)) | if (is_file ($conf_file)) | ||
{ | { | ||
Ligne 1 480 : | Ligne 1 660 : | ||
{ | { | ||
foreach ($tab as $line) | foreach ($tab as $line) | ||
{ | { | ||
$field=explode("=", $line); | $field=explode("=", $line); | ||
if ($field[0] == "LASTUPDATE") {$LASTUPDATE=trim($field[2]);} | if ($field[0] == "LASTUPDATE") {$LASTUPDATE=trim($field[2]);} | ||
if ($field[0] == "DNSMASQ") {$DNSMASQ=trim($field[1]);} | if ($field[0] == "DNSMASQ") {$DNSMASQ=trim($field[1]);} | ||
if ($field[0] == "AUTOUPDATE") {$AUTOUPDATE=trim($field[1]);} | if ($field[0] == "AUTOUPDATE") {$AUTOUPDATE=trim($field[1]);} | ||
if ($field[0] == "HOURSCONNECT") {$HOURSCONNECT=trim($field[1]);} | if ($field[0] == "HOURSCONNECT") {$HOURSCONNECT=trim($field[1]);} | ||
} | } | ||
} | } | ||
} | } | ||
else { echo "$l_error_open_file $conf_file";} | else { echo "$l_error_open_file $conf_file";} | ||
if ($DNSMASQ <> "OFF") | if ($DNSMASQ <> "OFF") | ||
{ | { | ||
echo "<CENTER><H3>$l_dnsfilter_on</H3></CENTER>"; | echo "<CENTER><H3>$l_dnsfilter_on</H3></CENTER>"; | ||
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | ||
echo "<input type=hidden name='choix' value=\"BL_Off\">"; | echo "<input type=hidden name='choix' value=\"BL_Off\">"; | ||
echo "<input type=submit value=\"$l_switch_filtering_off\">"; | echo "<input type=submit value=\"$l_switch_filtering_off\">"; | ||
} | } | ||
else | else | ||
{ | { | ||
echo "<CENTER><H3>$l_dnsfilter_off</H3></CENTER>"; | echo "<CENTER><H3>$l_dnsfilter_off</H3></CENTER>"; | ||
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | ||
echo "<input type=hidden name='choix' value=\"BL_On\">"; | echo "<input type=hidden name='choix' value=\"BL_On\">"; | ||
echo "<input type=submit value=\"$l_switch_filtering_on\">"; | echo "<input type=submit value=\"$l_switch_filtering_on\">"; | ||
} | } | ||
echo "</FORM>"; | echo "</FORM>"; | ||
if ( $DNSMASQ<>"OFF"){ | if ( $DNSMASQ<>"OFF"){ | ||
include 'dns.php'; | include 'dns.php'; | ||
Ligne 1 543 : | Ligne 1 724 : | ||
'''dns.php''' | '''dns.php''' | ||
<code php> | <code php> | ||
<? | <?php | ||
if (isset($_GET['filtragemode'])){ $filtragemode=$_GET['filtragemode']; } else {$filtragemode=$DNSMASQ;} | if (isset($_GET['filtragemode'])){ $filtragemode=$_GET['filtragemode']; } else {$filtragemode=$DNSMASQ;} | ||
if ($filtragemode == 'WHITE') | if ($filtragemode == 'WHITE') | ||
Ligne 1 618 : | Ligne 1 799 : | ||
else {echo "<center>$l_bl_categories_wl</center></td></tr>";} | else {echo "<center>$l_bl_categories_wl</center></td></tr>";} | ||
//on lit et on | //on lit et on interprète le fichier de catégories | ||
$cols=1; | $cols=1; | ||
if (file_exists($bl_categories)) | if (file_exists($bl_categories)) | ||
Ligne 1 632 : | Ligne 1 813 : | ||
echo "<td><a href='bl_categories_help.php?cat=$categorie' target='cat_help' onclick=window.open('bl_categories_help.php','cat_help','width=600,height=150,toolbar=no,scrollbars=no,resizable=yes') title='categories help page'>$categorie</a><br>"; | echo "<td><a href='bl_categories_help.php?cat=$categorie' target='cat_help' onclick=window.open('bl_categories_help.php','cat_help','width=600,height=150,toolbar=no,scrollbars=no,resizable=yes') title='categories help page'>$categorie</a><br>"; | ||
echo "<input type='checkbox' name='chk-$categorie'"; | echo "<input type='checkbox' name='chk-$categorie'"; | ||
// la | // la catégorie n'existe pas dans le fichier de catégorie activé -> categorie non selectionnée | ||
$str = file_get_contents($bl_categories_enabled); | $str = file_get_contents($bl_categories_enabled); | ||
if (strpos($str, $categorie)===false) { echo ">";} | if (strpos($str, $categorie)===false) { echo ">";} | ||
Ligne 1 675 : | Ligne 1 856 : | ||
<code php> | <code php> | ||
<? | <?php | ||
# Choice of language | # Choice of language | ||
$Language = 'en'; | $Language = 'en'; | ||
Ligne 1 682 : | Ligne 1 863 : | ||
$Language = strtolower(substr(chop($Langue[0]),0,2)); } | $Language = strtolower(substr(chop($Langue[0]),0,2)); } | ||
if($Language == 'fr'){ | if($Language == 'fr'){ | ||
$l_selectuser="l'utilisateur | $l_selectuser="l'utilisateur selectionné est : "; | ||
$l_userisnotselect="Veuillez selectionner un utilisateur."; | $l_userisnotselect="Veuillez selectionner un utilisateur."; | ||
$l_isadmin = "7j/7 24h/24"; | $l_isadmin = "7j/7 24h/24"; | ||
$l_valide = "Enregistrer"; | $l_valide = "Enregistrer"; | ||
$to = " | $to = " à " ; | ||
$and = " et " ; | $and = " et " ; | ||
$l_select = " | $l_select = "Sélectionner"; | ||
$l_info1 = "08h00 | $l_info1 = "08h00 à 24h00 ou 08h00 à 12h00 et 14h00 à 24h00"; | ||
$week = array( "lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"); | $week = array( "lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"); | ||
} | } | ||
else { | else { | ||
$l_userisnotselect="Veuillez | $l_userisnotselect="Veuillez sélectionner un utilisateur."; | ||
$l_selectuser="l'utilisateur | $l_selectuser="l'utilisateur sélectionné est : "; | ||
$l_isadmin = "7j/7 24h/24"; | $l_isadmin = "7j/7 24h/24"; | ||
$l_valide = "Enregistrer"; | $l_valide = "Enregistrer"; | ||
Ligne 1 700 : | Ligne 1 881 : | ||
$to = " to " ; | $to = " to " ; | ||
$and = " and " ; | $and = " and " ; | ||
$l_info1 = "08h00 | $l_info1 = "08h00 à 24h00 ou 08h00 à 12h00 et 14h00 à 24h00"; | ||
$week = array( "lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"); | $week = array( "lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"); | ||
} | } | ||
Ligne 1 708 : | Ligne 1 889 : | ||
### on lit est on interprète le fichier CTparental.conf | ### on lit est on interprète le fichier CTparental.conf | ||
echo "<TABLE width='100%' border=0 cellspacing=0 cellpadding=0>"; | echo "<TABLE width='100%' border=0 cellspacing=0 cellpadding=0>"; | ||
exec (" | exec ("/usr/local/bin/CTparental.sh -listusers 2> /dev/null",$USERSPC); # récupération des utilisateurs du poste.(UID >= 1000) | ||
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | echo "<FORM action='$_SERVER[PHP_SELF]' method=POST>"; | ||
echo "<select name=\"selectuser\">"; | echo "<select name=\"selectuser\">"; | ||
Ligne 1 775 : | Ligne 1 956 : | ||
<HEAD> | <HEAD> | ||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | ||
<? | <?php | ||
$bl_dir="/usr/local/etc/CTparental/dnsfilter-available/"; | $bl_dir="/usr/local/etc/CTparental/dnsfilter-available/"; | ||
# Choice of language | # Choice of language |
modifications