Matériel

L'équipement qui sera utilisé, un routeur 3G, détourné de son usage, le TP-Link TL-MR3020 (acheté chez Amazon.de au prix de 31,45 euros, livraison en Belgique incluse). Vous aurez besoin également d'une clé USB qui stockera le contenu de la PirateBox, au départ j'ai choisi une clé quelconque, je passerai ensuite à un micro-format pour rester dans une logique nomade.

Installation

L'installation est très bien décrite chez P.Box (en français), je ne vais pas la compléter, j'insiste juste sur le point suivant : avant de démarrer, si votre routeur internet est configuré en 192.168.1.1 (c'est le cas notamment des clients Belgacom), modifier cette adresse, par exemple en 192.168.1.100 et adapter le range DHCP pour rester cohérent.

Personnalisation

La page d'accueil peut être personnalisée en modifiant le fichier /etc/piratebox.common (à partir de la ligne 316), dans le cas de la version 0.2x, j'ai posté une copie de mon fichier sur github.

Attention, pour la version avec chat (version 0.3x), c'est le fichier /opt/piratebox/conf/piratebox.conf qui est concerné (source). Confirmé par P.Box_Montpellier.

xxAprès modification du fichier, relancer la PirateBox avec la commande (pas de reboot nécessaire) :

/etc/init.d/piratebox reload

Suite à un tweet de PirateBoxBrest, veillez à remplacer les caractères accentués par leur équivalent HTML.

Si vous souhaitez personnaliser le listing des fichiers en ajoutant des styles, un pied de page..., voici comment procéder :

cd /mnt/ext/usr/lib/python2.6/
cp SimpleHTTPServer.py SimpleHTTPServer.py.bak
vi SimpleHTTPServer.py

A partir de la ligne 114, vous pouvez personnaliser le listing des fichiers.
Mon exemple sur github.
Pour voir les changements effectués :

cd /
/etc/init.d/piratebox restart

Envoi de fichiers

Cette page d'accueil et l'envoi de fichiers sont propulsés par Droopy, un script Python qui contient par exemple les traductions et CSS. La version installée sur la PirateBox est différente.

L'envoi de fichiers index.htm(l) pose problème (cela cacherait vos fichiers), une solution est proposée par https://github.com/janbre, voici comment la mettre en oeuvre :

Sur la PirateBox, faire une sauvegarde de Droopy :

ssh root@192.168.1.1
cp /usr/local/bin/droopy /usr/local/bin/droopy.bak
exit


Sur votre PC, aller chercher sur github la version modifiée (ici en ligne de commande et sous Linux) :

wget https://raw.github.com/janbre/Assorted/master/Piratebox/droopy

et l'envoyer vers la PirateBox :

scp droopy root@192.168.1.1:/usr/local/bin/droopy

Sur la PirateBox :

ssh root@192.168.1.1
/etc/init.d/piratebox restart
exit

Contenu

Le contenu mis à disposition est libre, voici ce qui est proposé en ce moment :

xxx

Dans chaque dossier j'ai placé un fichier .READ.ME.htm qui donne la source originale des données, par exemple dans le dossier android :

xxx

Alimentation

Ma PirateBox est alimentée par une batterie usb TeckNet iEP387 achetée chez Amazon.co.uk au prix de 28,54 euros (livraison vers la Belgique incluse). L'autonomie constatée après la première charge complète est de 22h30.

Pour les déplacements en voiture ce petit accessoire peut être utile :

xxx

Clé USB

Pour éviter tout crash de la clé USB, en cas d'écriture, avant de l'enlever ou d'éteindre la PirateBox, connectez vous à la PirateBox :

ssh root@192.168.1.1

et arrêtez le processus PirateBox qui démontera la clé USB :

/etc/init.d/piratebox stop

Vous pouvez maintenant ôtez la clé USB en toute sécurité. Si vous souhaitez la ré-insérer sans redémarrer la PirateBox, tapez la commande :

/etc/init.d/piratebox start

Pour vous connecter à la PirateBox à partir d'un téléphone Android, je vous conseille ConnectBot.

Sécurité

Suite à la suggestion de r4is3, la sécurité de la connexion SSH peut être améliorée, tout se passe dans le fichier /etc/config/dropbear documenté chez OpenWRT.

0.5.1

Après mise à jour vers la version 0.5.1, personnalisation de la page d'accueil /opt/piratebox/www/index.html et du chat /opt/piratebox/conf/piratebox.conf Le fichier persistant du chat est /opt/piratebox/www/cgi-bin/data.pso