Subversion Repositories ALCASAR

Rev

Rev 2223 | Rev 2454 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log

#!/bin/bash

# Id: $Id: alcasar-url_filter_wl.sh 2262 2017-05-29 20:19:03Z tom.houdayer $

# alcasar-url_filter.sh
# by REXY
# This script is distributed under the Gnu General Public License (GPL)

# Active / désactive : safesearch des moteurs de recherche
# Enable / disable : search engines safesearch
# Active / désactive : le filtrage des url contenant une adresse ip à la place d'un nom de domaine
# Enable / disable : filter of urls containing ip address instead of domain name 

TINY_CONF="/etc/tinyproxy/tinyproxy.conf"
DNSMASQ_WL_CONF="/etc/dnsmasq-whitelist.conf"
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
CONF_FILE="/usr/local/etc/alcasar.conf"
SED="/bin/sed -i"
safesearch="Off"
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
nb_args=$#
if [ $nb_args -le 0 ]
then
        echo "$usage"
        nb_args=0
else
        while [ $nb_args -ge 1 ]
        do
                arg=${!nb_args}
                case $arg in
                -\? | -h* | --h*)
                        echo "$usage"
                        exit 0
                        ;;
                # Safe search activation
                -safesearch_on | --safesearch_on)       
                        safesearch="On"
                        ;;
                # Safe search desactivation
                -safesearch_off | --safesearch_off)     
                        safesearch="Off"
                        ;;
                *)
                        echo "Argument inconnu :$arg";
                        echo "$usage"
                        exit 1
                        ;;
                esac
        nb_args=$(expr $nb_args - 1)
        done
        forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4`      # retrieve google forcesafesearch ip
        if [ $safesearch == "On" ]
        then
# add 'SafeSearch' redirection for google searching
                $SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
                if [ -e $IP_WL ]
                then
                        rm $IP_WL # remove old google declaration
                fi
                echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
                for gg_dnsname in .google.com .google.ad .google.ae .google.com.af .google.com.ag .google.com.ai .google.al .google.am .google.co.ao .google.com.ar .google.as .google.at .google.com.au .google.az .google.ba .google.com.bd .google.be .google.bf .google.bg .google.com.bh .google.bi .google.bj .google.com.bn .google.com.bo .google.com.br .google.bs .google.bt .google.co.bw .google.by .google.com.bz .google.ca .google.cd .google.cf .google.cg .google.ch .google.ci .google.co.ck .google.cl .google.cm .google.cn .google.com.co .google.co.cr .google.com.cu .google.cv .google.com.cy .google.cz .google.de .google.dj .google.dk .google.dm .google.com.do .google.dz .google.com.ec .google.ee .google.com.eg .google.es .google.com.et .google.fi .google.com.fj .google.fm .google.fr .google.ga .google.ge .google.gg .google.com.gh .google.com.gi .google.gl .google.gm .google.gp .google.gr .google.com.gt .google.gy .google.com.hk .google.hn .google.hr .google.ht .google.hu .google.co.id .google.ie .google.co.il .google.im .google.co.in .google.iq .google.is .google.it .google.je .google.com.jm .google.jo .google.co.jp .google.co.ke .google.com.kh .google.ki .google.kg .google.co.kr .google.com.kw .google.kz .google.la .google.com.lb .google.li .google.lk .google.co.ls .google.lt .google.lu .google.lv .google.com.ly .google.co.ma .google.md .google.me .google.mg .google.mk .google.ml .google.com.mm .google.mn .google.ms .google.com.mt .google.mu .google.mv .google.mw .google.com.mx .google.com.my .google.co.mz .google.com.na .google.com.nf .google.com.ng .google.com.ni .google.ne .google.nl .google.no .google.com.np .google.nr .google.nu .google.co.nz .google.com.om .google.com.pa .google.com.pe .google.com.pg .google.com.ph .google.com.pk .google.pl .google.pn .google.com.pr .google.ps .google.pt .google.com.py .google.com.qa .google.ro .google.ru .google.rw .google.com.sa .google.com.sb .google.sc .google.se .google.com.sg .google.sh .google.si .google.sk .google.com.sl .google.sn .google.so .google.sm .google.sr .google.st .google.com.sv .google.td .google.tg .google.co.th .google.com.tj .google.tk .google.tl .google.tm .google.tn .google.to .google.com.tr .google.tt .google.com.tw .google.co.tz .google.com.ua .google.co.ug .google.co.uk .google.com.uy .google.co.uz .google.com.vc .google.co.ve .google.vg .google.co.vi .google.com.vn .google.vu .google.ws .google.rs .google.co.za .google.co.zm .google.co.zw .google.cat 
                do
                        echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
                done
                echo "add wl_ip_allowed $forcesafesearch_server" >> $IP_WL
        else
                $SED "/google/d" $DNSMASQ_WL_CONF
                rm $IP_WL
        fi
systemctl restart dnsmasq-whitelist
fi