Aller au contenu

Mic13710

Les Modos
  • Inscription

  • Dernière visite

Messages posté(e)s par Mic13710

  1. Posté(e) ·

    Modifié par Mic13710
    suppression du lien vers mariushosting (obsolète)

    Pour ma part j'ai ce script qui tourne depuis plusieurs années et qui a été créé par Superthx.

    Je ne le retrouve pas dans les tutos.

    Il se met à jour toutes les 24h :

    #!/bin/bash
    # Script tutoriel de nas-forum.com par Superthx
    ### PARAMETRAGE ###
    # Fréquence de lancement de ce script en heures (exemple 24 si journalier)
    Freq="24" 
    
    # adresses des sites source entre guillemets séparées par un espace
    Liste_Url=("https://lists.blocklist.de/lists/")
    # Pour la liste de www.blocklist.de
    # Liste Choix: {all} {ssh} {mail} {apache} {imap} {ftp} {sip} {bots}
    #              {strongips} {ircbot} {bruteforcelogin}
    Choix="all"
    
    #Fichier personnel facultatif listant des IP (1 par ligne) à bloquer
    Filtre_Perso="filtreperso.txt"
    
    # Pour trace facultative des IP non conformes au format IP
    #Choix: {0}: sans trace, {1}: dans fichier log, {2}: dans fichier spécifique
    Trace_Ano=2
    File_Ano="anoip.txt" # à renseigner si option2 (sinon ne pas modifier)
    
    ### CONSTANTES ###
    Version_Script="v0.3.2"
    db="/etc/synoautoblock.db"
    marge=60
    
    ### FONCTIONS ###
    raz_ip_bloquees(){
    sqlite3 $db <<EOL
    delete from AutoBlockIP where ExpireTime > 0;
    EOL
    }
    
    tests_initiaux(){
    echo -e "\nDemarrage du script $0 version $Version_Script:  $(date)"
    if [[ $# -gt 0 ]]; then
        if [[ "$1" == "raz" ]]; then
            raz_ip_bloquees
            echo "Le blocage des IP non bloquées définitivement a été supprimé"
        else
            echo "Parametre $1 incorrect!\nSeul parametre autorisé: 'raz'"
            echo "Abandon du script"
            exit 1
        fi
    fi
    }
    
    plage_blocage(){
    start=`date +%s`
    block_off=$((start+Freq*3600+$marge))
    echo "Horodatage du blocage des IP: $start"
    sqlite3 $db <<EOL
    drop table if exists Var;
    create table Var (name text primary key, value text);
    EOL
    `sqlite3 $db "insert into Var values ('stop', $block_off)"`
    }
    
    raz_fil_ano(){
    if [ -f  $File_Ano ]; then
        rm  $File_Ano
    fi
    if [[ $Trace_Ano == 2 ]]; then
        echo -e "\nDemarrage du script (version $Version_Script):  $(date)" > \
            $File_Ano
    fi
    nb_invalide=0
    }
    
    acquisition_ip(){
    if [ -f  $Filtre_Perso ];then
        cat "$Filtre_Perso" > listeip.txt
    else
        touch listeip.txt
        touch $Filtre_Perso
    fi
    for url in "${Liste_Url[@]}"; do
    	host=`echo $url | sed -n "s/^https\?:\/\/\([^/]\+\).*$/\1/p"`
    	case $host in
    		lists.blocklist.de)
    			#/bin/curl -s "$url$Choix.txt" >> listeip.txt
    			 curl -s "$url$Choix.txt" -o tmp.txt
    			 if [[ $(egrep -io "DOCTYPE" tmp.txt) != "DOCTYPE" ]];then
    			    sort -ufo listeip.txt tmp.txt listeip.txt
    			 else
                    echo "Echec chargement IP depuis le site $host"
                fi
    			;;
    	    mariushosting.com)
    			url2=${url:0:45}"$(date '+%Y/%m')"${url:52}
                curl -s $url2 -o tmp.txt 
                if [[ $(egrep -io "DOCTYPE" tmp.txt) != "DOCTYPE" ]];then
                    sort -ufo listeip.txt tmp.txt listeip.txt
                else
                    url2=${url:0:45}"$(date '+%Y/%m' -d "$start_date-15 days")"\
                        ${url:52}
                    curl -s $url2 -o tmp.txt
                    if [[ $(egrep -io "DOCTYPE" tmp.txt) != "DOCTYPE" ]];then
                        sort -ufo listeip.txt tmp.txt listeip.txt
                    else
                        echo "Echec chargement IP depuis le site $host"
                    fi
                fi
                ;;
    	    *)
    			echo "Le traitement pour $url n'est pas implanté"
    			;;
    	esac
    done
    rm tmp.txt
    nb_ligne=$(wc -l  listeip.txt | cut -d' ' -f1)
    echo "Traitement d'une liste de $nb_ligne adresses IP"
    }
    
    deblocage_ip(){
    `sqlite3 $db \
        "delete from AutoBlockIP where ExpireTime > 0 and ExpireTime < $start"`
    }
     
    maj_ip_connues(){
    sqlite3 $db <<EOL
    drop table if exists Var;
    create table Var (name text primary key, value text);
    EOL
    `sqlite3 $db "insert into Var values ('stop', $block_off)"
    `sqlite3 $db <<EOL
    drop table if exists Tmp;
    create table Tmp (IP varchar(50) primary key);
    .mode csv
    .import listeip.txt Tmp
    alter table Tmp add column ExpireTime date;
    alter table Tmp add column Old boolean;
    update Tmp set ExpireTime = (select value from Var where name = 'stop');
    update Tmp set Old = (
    select 1 from AutoBlockIP where Tmp.IP = AutoBlockIP.IP);
    update AutoBlockIP set ExpireTime=(
    select ExpireTime from Tmp where AutoBlockIP.IP = Tmp.IP and Tmp.Old = 1) 
    where exists (
    select ExpireTime from Tmp where AutoBlockIP.IP = Tmp.IP and Tmp.Old = 1);
    delete from Tmp where Old = 1;
    drop table  Var;
    EOL
    rm listeip.txt
    }
    
    tracer_ip_incorrecte(){
    ((nb_invalide++))
    case $Trace_Ano in
        1)  echo "$nb_invalide:IP non traitée (format IP incorrect):  $ip"
            ;;
        2)  echo "$nb_invalide : $ip" >> $File_Ano            
            ;;
        *) ;;
    esac
    }
    
    hex_en_dec(){
        [ "$1" != "" ] && printf "%d" "$(( 0x$1 ))"
    }
    
    maj_ipstd(){
    ipstd=''
    if [[ $ip != '' ]]; then
        # si format IPV4 (approximatif)
        if [[ $ip =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then 
            ipstd=$(printf "0000:0000:0000:0000:0000:FFFF:%02X%02X:%02X%02X" \
                ${ip//./' '})
        elif [[ $ip != "${1#*:[0-9a-fA-F]}" ]] ; then
            ip6=$ip
            echo $ip6 | grep -qs "^:" && $ip6="0${ip6}"
            if echo $ip6 | grep -qs "::"; then
                sep=$(echo $ip6 | sed 's/[^:]//g')
                absent=$(echo ":::::::::" | sed "s/$sep//")
                rempl=$(echo $absent | sed 's/:/:0/g')
                if [[ ${ip6: -1} != ":" ]];then
                    rempl=$(echo $rempl | sed 's/.\{1\}$//')    
                fi
                ip6=$(echo $ip6 | sed "s/::/$rempl/")
            fi
            blocks=$(echo $ip6 | grep -o "[0-9a-f]\+")
            set $blocks
            ipstd=$(printf "%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X" \
             $(hex_en_dec $1) $(hex_en_dec $2) $(hex_en_dec $3) $(hex_en_dec $4) \
             $(hex_en_dec $5) $(hex_en_dec $6) $(hex_en_dec $7) $(hex_en_dec $8)) 
        else
            tracer_ip_incorrecte
        fi
        if [[ $ipstd != '' ]]; then 
            printf '%s,%s,%s,%s\n' "$ip" "$start" "$block_off" "$ipstd" >> \
                newip.csv
        fi
    fi
    }
    
    import_nouvelles_ip(){
    newip=`sqlite3 $db "select IP from Tmp where IP <>''"`
    for ip in $newip; do
        maj_ipstd
    done
    if [ -f  newip.csv ]; then
    sqlite3 $db <<EOL
    drop table Tmp;
    create table Tmp (IP varchar(50) primary key, RecordTime date, 
    ExpireTime date, IPStd varchar(50));
    .mode csv
    .import newip.csv Tmp
    insert into AutoBlockIP 
    select IP, RecordTime, ExpireTime, 1 ,IPStd, NULL, NULL 
    from Tmp where IPStd is not NULL;
    drop table Tmp;
    EOL
    rm newip.csv
    fi
    }
    
    informations(){
    ajt=`sqlite3 $db "select count(*) from AutoBlockIP where RecordTime = $start"`
    if [[ $nb_invalide -eq 0 ]]; then
        echo "$ajt IP ont été ajoutées"
    else
        echo "$ajt IP ont été ajoutées et $nb_invalide ignorée(s)"
    fi
    borne=$(($start+$marge+30))
    block=`sqlite3 $db "select count(*) from AutoBlockIP 
           where DENY = 1 and 
           (ExpireTime = 0 or ExpireTime > $borne)"`
    echo "La liste de blocage mise à jour va bloquer $block IP"    
    }
    
    ### SCRIPT ###
    cd `dirname $0`
    tests_initiaux $1
    plage_blocage
    raz_fil_ano 
    acquisition_ip
    deblocage_ip
    maj_ip_connues
    import_nouvelles_ip
    informations
    echo -e "Fin du script exécuté en $[$SECONDS/60]mn $[$SECONDS%60]s"
    exit 0
    
  2. Posté(e)

    Il y a 5 heures, EDu.mac a dit :

    il n'y a pas de redirection native vers le port 9900 sur ce modèle (pas dans le virtualhost)

    Pardon ? Bien sûr que si ! Si vous avez autorisé tous les ports pour la plage d'IP privée (c.f. voir le tuto sur la sécurisation de nos NAS), le 9900 (port par défaut) ou tout autre port si vous l'avez modifié renvoie bien vers Surveillance Station.

    J'ai une règle reverse proxy https:\\cam.ndd qui pointe vers localhost:9900 et ça fonctionne très bien. De même que l'url <IP du NAS>:9900.

    Je ne peux pas vous aider sur vos problèmes de droits, je ne sais pas où se trouve la base dont vous parlez. Il n'y a rien qui y ressemble dans le dossier @surveillance.

    Si le problème persiste, il serait peut-être préférable de contacter le support.

  3. Posté(e)

    Il y a 9 heures, DébutantNAS a dit :

    tout est a proximité

    Autrement dit, pourquoi faire simple quand on peut faire compliqué. Pourquoi vouloir à tout prix faire une passerelle entre les deux réseaux ?

    Si vous avez besoin de ports supplémentaires côté tplink, vous rajoutez simplement un switch. Au final, il ne doit rester qu'un seul câble entre votre box et le tplink.

  4. Posté(e)

    il y a 36 minutes, Lelolo a dit :

    sur lequel je ne ferais pas de support...

    Idem. Trop contraignant (bridge, parefeu, gestion des droits,...) = galère.

    @DébutantNAS, s'il le faut, re voyer votre architecture. Si vous avez des difficultés à connecter le NAS et le PC, peut-être serait il plus judicieux de déplacer le routeur à portée de ces éléments. Ce sera toujours beaucoup plus simple et efficace que de mettre en place et maintenir une passerelle entre les deux réseaux, surtout si vous ne maîtrisez pas ces questions.

  5. Posté(e)

    Je répète ce que je vous ai écrit :

    Le 21/10/2025 à 3:28 PM, Mic13710 a dit :

    Si vous voulez conserver votre borne wifi en mode routeur, alors il faut que tout votre réseau y soit connecté pour que tous les équipements puissent être vus entre eux.

    Autrement dit : il faut que votre NAS et votre PC, de même que tous les équipements actuellement connectés à la box soient connectés au TPLink pour qu'ils soient sur le même réseau.

  6. Posté(e)

    Comme quoi on est quelques uns à avoir des soucis, mais en plus ce ne sont pas les mêmes pour tous. Chez moi le contenu non lu s'affiche, toutefois je ne sais pas s'il est correct (manque ou pas de sujets, il faudrait que je vérifie).

    J'avais comme toi créé un flux "Contenu non lu" à partir du flux par défaut, ce qui a rajouté un flux du même nom à la liste plutôt que de modifier l'existant. Puis j'ai eu le malheur de le déclarer comme étant par défaut et depuis impossible de le supprimer. Maintenant, quand je clique sur le premier de la liste, il me renvoie automatiquement sur le deuxième déclaré par défaut. Bref, si on déclare un flux "par défaut", on ne peut pas revenir en arrière ni supprimer ce flux.

    Entre les messages absents (j'en ai une ribambelle) et les flux aléatoires, les derniers mouvements telluriques du site ont fait quelques dégâts collatéraux.

  7. Posté(e)

    il y a 24 minutes, korsikaferie a dit :

    pas besoin d'internet pour accéder à son NAS.

    Il faudrait lire les demandes avant de répondre....

    Il y a 23 heures, Rem6 a dit :

    J'ai essayé en 4g et également à l'étranger depuis mon mobile sans succès.

    @Rem6 avant de penser à joindre son nas de l'extérieur, il faut le sécuriser. Je vous conseille d'aller consulter et mettre en pratique le tuto sur la sécurisation de nos nas. Seulement après cela, vous pourrez vous lancer dans l'accès à distance qui est plus ou moins abordé dans le tuto avec la mise en place d'un nom de domaine.

  8. Posté(e)

    Pour ma part, je n'aime pas beaucoup cette nouvelle présentation.

    Avec le menu à gauche, la surface pour les messages est moins importante ce qui se traduit par moins de messages visibles sur la page. Auparavant on pouvait voir 6 ou 7 messages sur la page toutes les discussions. Maintenant il n'y a pas plus de 3 car le texte reste le même sur une largeur moins grande ce qui augmente proportionnellement la hauteur de chaque message. C'est une régression à mon avis.

  9. Posté(e)

    Vos deux réseaux séparés par le routeur fonctionnent chacun avec son propre serveur DHCP et sa propre plage d'IP. Il n'y a pas de passerelle entre les deux.

    Si vous voulez conserver votre borne wifi en mode routeur, alors il faut que tout votre réseau y soit connecté pour que tous les équipements puissent être vus entre eux.

    Cependant, le mode mesh (donc connexion non filaire) n'est pas suffisamment stable ni sécurisé pour que vos équipements puissent bénéficier d'une connexion internet à 100%.

    Vous ne nous dites pas de quel modèle de routeur TP link il s'agit, mais il serait beaucoup plus performant de le connecter à votre box en filaire si bien entendu ce mode de fonctionnement est possible.

  10. Posté(e)

    Il y a 3 heures, StéphanH a dit :

    sujet "Notification d'arrêt des ventilateurs", alors que ce sujet n'apparait pas dans la liste des discussions récentes.

    Même en passant par la recherche, je n'ai pas trouvé ce sujet. Donc là aussi ça ne fonctionne pas. Ce n'est qu'en consultant le forum problème et dépannage que je l'ai vu.

    Chez moi il n’apparaît ni dans la liste ni dans la recherche, seulement directement dans le forum où il est posté.

    Combien il y en a t'il qui ont été postés et dont je n'ai pas connaissance ?

    Compliqué pour exercer le rôle de modérateur !

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.