Une Piratebox sur un RaspberryPi

PUBLISHED ON NOV 2, 2015 — SYSADMIN

Vous connaissez les PirateBox ? Ce sont des petites machines qui permettent de faire un hotspot Wi-Fi où les gens peuvent partager des fichiers et discuter anonymement.

À l’origine, les PiratesBox fonctionnaient avec un routeur Wi-Fi mais on peut s’en passer et utiliser seulement une clé Wi-Fi et un RaspberryPi.

Vous êtes prêt ? Let’s go !

Tout d’abord, on installe Raspbian sur une carte SD et on démarre l’installation.

Une fois que vous avez accès à un shell (SSH ou GUI), on peut commencer.

La base

Comme d’habitude, on commence par mettre à jour les dépôts et les softs.

# apt-get update && apt-get upgrade -y

Une partie importante de la PirateBox, c’est bien sûr l’interface web. On installe donc un serveur web :

# apt-get install -y lighttpd
# /etc/init.d/lighttpd stop
# update-rc.d lighttp remove

Pour pouvoir accéder à cette interface web facilement, on installe dnsmasq :

# apt-get install -y dnsmasq
# /etc/init.d/dnsmasq stop
# update-rc.d dnsmasq remove

Ensuite, il faut que les utilisateurs puissent se connecter sur la box. On crée donc un hotspot Wi-Fi avec hostapd :

# apt-get install -y hostapd
# /etc/init.d/hostapd stop
# update-rc.d hostapd remove

Pour pouvoir gérer les connexions Wi-Fi, on installe iw :

# apt-get install -y iw

La clé Wifi

Les RaspberryPi ont du mal à gérer les clés Wi-Fi nativement et il faut souvent installer des drivers pour que ça marche. J’utilise une clé TP-Link TP-WN725N donc je vais vous expliquer la marche à suivre pour ce modèle.

Pour installer le driver de cette clé, il faut commencer par récupérer le numéro de version du noyau Linux que notre version de Raspbian utilise.

# uname -a
Linux raspberry 4.1.7+ #817 PREEMPT Sat Sep 19 15:25:36 BST 2015 armv6l GNU/Linux

Chez moi, le numéro de version est donc : 4.1.7+ #817.

Il faut alors rechercher ce numéro sur cette page.

On trouve alors un .tar.gz associé à votre numéro.

Il faut le télécharger et l’installer grâce aux commandes suivantes :

# wget https://dl.dropboxusercontent.com/u/80256631/DRIVER
# tar -zxf DRIVER
# ./install.sh

Évidemment, il faut remplacer DRIVER par le nom de l’archive correspondant à votre numéro de version du noyau Linux.

Ok j’avoue, télécharger un executable depuis une source indéfinie, ça pue un peu … Cela dit, c’est sur le forum officiel du projet RaspberryPi et puis j’ai pas d’autres solutions.

Enfin, on reboot le Raspberry

# reboot

L’interface web

À ce stade, le hotspot marche mais il n’y a pas l’interface web.

J’utilise l’interface basique qui provient du site “officiel” : piratebox.cc.

# wget http://downloads.piratebox.de/piratebox-ws_current.tar.gz
# tar xzf piratebox-ws_current.tar.gz
# cd piratebox
# sudo mkdir -p /opt
# sudo cp -rv piratebox /opt
# cd /opt/piratebox
# sudo sed 's:DROOPY_USE_USER="no":DROOPY_USE_USER="yes":' -i /opt/piratebox/conf/piratebox.conf
# sudo ln -s /opt/piratebox/init.d/piratebox /etc/init.d/piratebox
# sudo update-rc.d piratebox defaults
# sudo /etc/init.d/piratebox start

Enfin, il faut configurer hostapd

# nano /etc/default/hostapd

On ajoute :

DEAMON_CONF="/opt/piratebox/conf/hostapd.conf"

On enregistre et on reboot.

Normalement, votre PirateBox devrait être opérationnelle.