un antispam physique avec un Raspberry Pi

Installation raspbian via SDcard

#Chercher adresse IP avec :
sudo nmap -T4 -sP 192.168.0.0/24 # raspberry -> 192.168.0.43
# connexion ssh
ssh pi@192.168.0.43 # mot de passe raspberry
# mise à jour debian
sudo apt update
sudo apt upgrade
# configuration
sudo raspi-config # modifier locales fr_FR.UTF-8, activer SPI et I2C , expand filesystem
# redémarrer
sudo reboot

Sur le Raspberry Pi, première étape : installer JCBlock.

wget http://jcblock.cvs.sourceforge.net/viewvc/jcblock/?view=tar -O jcblok.tar.gz
tar xzvf jcblok.tar.gz
cd jcblock
mv jcblock/ ../jcb
cd ..
cd jcb

Il faut créer des fichiers pour les données. Je vous conseille juste de mettre un commentaire (#) dans le fichier avant de sauver. Vous pouvez aussi simplement renommer les exemples, mais ils contiennent des données.

```bash
nano blacklist.dat
nano whitelist.dat
nano callerID.dat

Ici, ça va dépendre de votre modem. La commande que j’utilise ici est celle pour un modem Sewell, mais elle changer avec un modem Trendnet (ou un autre). La documentation explique pas mal de cas différents.

sudo apt-get install libasound2-dev
./makejcblockAT

Troisième étape, JCAdmin. Il s’agit d’une sorte de GUI pour le programme, qui permet une gestion un peu plus simple que d’éditer des fichiers DAT à la main. Il nécessite NodeJS dans une version récente, à installer manuellement. Attention, la version dépend de votre Raspberry.

wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-armv6l.tar.xz (si vous avez un Raspberry Pi B, B+, A, A+ ou Zero)
wget https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-armv7l.tar.xz (si vous avez un Raspberry Pi 2 ou 3)

tar -xvf node*.tar.xz
cd node*
sudo cp -R * /usr/local/

Maintenant, l’installation de JCAdmin.

sudo apt-get install apt-transport-https
sudo apt install git
git clone https://github.com/cosinekitty/jcadmin
cd jcadmin
./initialize

Pour le lancement des logiciels, nous allons créer deux scripts.

cd ~/
mkdir script
cd script

Le premier lance JCBlock. Il faut adapter le code aux répertoirs que vous avez choisis.

nano jcblock.sh

Le contenu.

#!/bin/bash
cd /home/pi/jcb
./jcblockAT | tee -a jcblock.log

Le second lance l’interface.

nano jcadmin.sh

Vous devez utilisez un port pour la connexion à la GUI (8080 ou autre) et bien indiquer le chemin pour l’installation de JCBlock.

#!/bin/bash
cd /home/pi/jcadmin
node jcadmin.js 8585 /home/pi/jcb/ | tee -a jcadmin.log

Ensuite, il faut rendre les scripts exécutables et les placer dans /etc/rc.local pour un lancement au démarrage.

sudo chmod +x jcadmin.sh
sudo chmod +x jcblock.sh
sudo nano /etc/rc.local

Juste avant la ligne exit 0;.

/home/pi/script/jcblock.sh &
/home/pi/script/jcadmin.sh &

Pour terminer, un petit redémarrage.


https://github.com/pamapa/callblocker

Install daemon on linux

sudo apt-get install git make automake g++ libpjproject-dev libjson-c-dev
sudo apt-get install python python-beautifulsoup python-ldap python-vobject
git clone https://github.com/pamapa/callblocker.git
cd callblocker
aclocal
automake --add-missing --foreign
autoconf
./configure --prefix=/usr --sysconfdir=/etc
make all
sudo make install
cd /etc/callblocker
sudo mv tpl_settings.json settings.json
sudo nano settings.json
sudo systemctl start callblockerd.service