Script d'automatisation de la mise à jour de la black list pour squidGuard



  • Bonjour,

    J'ai élaboré un script permettant de supprimer les fichiers constituant la black list situés dans /var/db/squidGuard/ puis de décompresser un dossier télécharger à l'adresse http://www.shallalist.de/Downloads/shallalist.tar.gz dans ce dossier afin de remplacer les anciens fichiers de la black list.

    Néanmoins, lorsque j'effectue la mise à jour de la black list par l'interface graphique (Services>Proxy Filter>Blacklist>Download) les dossiers sont renommés de chat par exemple à blk_BL_chat.

    Le chemin est le suivant /var/db/squidGuard/chat dans mon cas en manuel par le script
    Le chemin est le suivant /var/db/squidGuard/blk_BL_chat dans le cas d'une mise à jour par l'interface graphique.
    Hors lors de la mise à jour par interface graphique, le dossier compressé est identique avec la mise à jour manuelle (shallalist.tar.gz).
    L'interface graphique pfsense doit donc faire effectuer quelque chose en plus qui permet de ensuite gérer les règles de chaque catégorie par l'interface graphique.

    Je dois élaborer un script pour que la mise à jour s'effectue automatique lorsque l'on lance le script dans un premier temps pour ensuite, dans un second temps, lancer le script automatiquement aux jours voulu et à l'heure voulu avec l'aide de "cron".

    Savez-vous comment faire pour que les fichiers compris dans shallalist.tar.gz se renomme dans la même syntaxe que lors de l'interface graphique afin que les fichiers soit prise en compte et gérable par l'interface graphique. Mon script est le suivant :

    #!/bin/sh

    ftp http://www.shallalist.de/Downloads/shallalist.tar.gz -O /sbin/shallalist.tar.gz
    tar zxvf /sbin/shallalist.tar.gz -C /var/squidGuard/

    rm -rf /var/db/squidGuard
    mkdir /var/db/squidGuard || true

    mv -f /var/squidGuard/BL/* /var/db/squidGuard/
    chmod 2770 /var/db/squidGuard

    rm -rf /sbin/shallalist.tar.gz /var/squidGuard/* /sbin/shallalist.tar.gz

    /usr/local/bin/squidGuard -C all
    chown -R squid:squid /var/squidGuard /var/db/squidGuard

    /usr/local/sbin/squid -k reconfigure

    Les fichiers situés dans /var/db/squidGuard/blk_BL_nom_de_black_list nommés domains.db et urls.db ne sont pas générés lorsque je regénère la base manuellement. Hors en passant par l'interface graphique (qui appel le fichier /usr/local/www/squidGuard/squidguard_blacklist.php), les fichiers sont générés.

    sans interface graphique :
    /var/db/squidGuard/blk_BL_nom_de_black_list/domains
    /var/db/squidGuard/blk_BL_nom_de_black_list/urls

    avec interface graphique :
    /var/db/squidGuard/blk_BL_nom_de_black_list/domains
    /var/db/squidGuard/blk_BL_nom_de_black_list/urls

    /var/db/squidGuard/blk_BL_nom_de_black_list/domains.db
    /var/db/squidGuard/blk_BL_nom_de_black_list/urls.db

    Je voulais savoir si quelqu'un avait remédié à ce problème.

    Cordialement



  • Bonjour,

    J'ai utilisé le script qui est copié dans tmp et est utilisé par le bouton de mise à jour de l'interface  :


    #!/usr/local/bin/php -f
        $incl = "/usr/local/pkg/squidguard_configurator.inc";
        if (file_exists($incl)) {
            require_once($incl);
            sg_reconfigure_blacklist( "http://www.shallalist.de/Downloads/shallalist.tar.gz", "" );
        }
        exit;


    Lancé par le cron comme root cela fonctionne (je suis en v 2.0).

    Cordialement


Log in to reply