• [^] # Re: Ma configuration SpamBlocker

    Posté par . En réponse à la dépêche Agir contre les appels commerciaux. Évalué à 1.

    Les opérateurs dans les listes open-data ARCEP (fichier MAJNUM.csv ; avant 04/2024 c'était du XLS qu'il fallait convertir en CSV et ils ont simplifié les choses ; par contre l'ancien fichier MAJOPE de correspondance n'est plus publié mais pas indispensable) ont en effet un ID simplifié de 4 caractères, dont ils publiaient auparavant la correspondante.

    Comme les plages d'allocation pour un opérateur sont souvent disjointes et évolutives, allouées au gré des demandes successives, il est en effet efficace de filtrer sur ce critère après une recherche via le préfixe du numéro appelant.

    Mon système a en fait plusieurs niveaux de filtrage:
    - Tout ce qui est dans mon répertoire téléphonique passe sans filtrage (dans ce cas la base DECT intégrée à la livebox renvoie l'entrée du répertoire dans le champ NAME d'un CallerID).
    - Un niveau de filrage sur ID opérateur ou préfixe configuré manuellement.
    - Un niveau de filtrage "dynamique", utilisant (via python-beautifulsoup) 2 sites de "réputation" genre doisjerepondre avec la capacité de blacklister ensuite automatiquement le numéro précis ou carrément la plage d'allocation correspondante (configurable).

    Fatalement, au début on arrive souvent jusqu'au niveau 3 et quand on voit dans son fichier de config toujours les mêmes ID d'opérateurs VoIP qui font chier (et sans aller jusqu'a blacklister un FRTE/BOUY/SFR0, opérateurs grand publics, ayant pu être victime de spoofing de callerID!), eh bien on remonte cet ID au niveau 2, efface les entrées uniques/plage dans ce qui a été ajouté automatiquement et on n'interroge alors même plus les sites de réputation externes.

    En pratique, si on tombe dans les blacklist ça s'arrête dès la première sonnerie et si on va jusqu'à interroger la réputation en ligne, on arrive à la seconde. Tout ce qui passe la 3ème on peut décrocher.

    La liste au dessus correspond a tout ce qui a encombré le niveau 3 et que j'ai remonté au niveau 2.

    Comme ces chieurs d'Orange ne font pas une VoIP SIP standard, je récupère le callerID via un modem/voix 56k sur l'USB du PI3B qui gère par ailleurs la maison (via Domoticz).

    Le reste c'est 1500 lignes de python.