PirateBox op een Zsun USB-stick

Laat ik beginnen met de voor de hand liggende vragen:

Waarom?
Omdat het kan en omdat ik wilde weten of ik het ook kon.

Wat is het?
Het is een kleine USB-dongle van 3×3 cm en 1,5 cm dik (het groene ding op de foto hiernaast, alles eronder is de adapter maar hij werkt ook rechtstreeks op een losse 5V accu). Hij kost tussen de 10 – 15 euro (ik heb er €8,64 incl verzenden voor betaald), is verkrijgbaar in een aantal verschillende kleuren en heet Zsun. Oorspronkelijk is de dongle bedoelt als een manier om via Wifi bestanden te delen met je iPhone, Android telefoon, tablet etc. Dus eigenlijk is hij best al functioneel. Niet snel uiteraard, dat zijn zulke apparaten nooit, maar redelijk.

Alleen, het besturingssysteem dat er op staat heeft een paar beveiligingsgaten. Zo is het o.a. mogelijk om via telnet, met een standaard ingebakken wachtwoord verbinding te krijgen tot het apparaat. Dus eigenlijk zou het advies moeten zijn: vooral niet kopen!
Maar…het blijkt dat je de dongle ook zo kunt hacken dat je er OpenWrt op kunt draaien, dat is een Linux omgeving voor embedded systemen, zoals routers. Handig als het systeem dat op je router draait niet die opties biedt die jij wilt hebben, als er geen nieuwe versie van geleverd wordt, terwijl er wel beveiligingsproblemen zijn (zoals ook bij de Zsun) etc.
En OpenWrt heeft een groot aantal mogelijkheden tot uitbreiding. Al zitten daar natuurlijk ook wel weer grenzen aan. Ik heb (nog) niet geprobeerd om OwnCloud op de Zsun te installeren. Ook OwnCloud zou op OpenWrt moeten draaien, maar waarschijnlijk “trekt” de processor in de Zsun dat voor geen meter.

Maar we gingen het hebben over een PirateBox.

Wat is een PirateBox?
PirateBox is een concept waar ik voor het eerst in 2011 over schreef, 6 jaar geleden alweer dus. Toen leverde het al de nodige discussie op en waren de kosten een stuk hoger. De schatting van de professor die het voor het eerst deed was zo’n $100,- maar hij had wel een coole broodtrommel er omheen.

Het concept: maak een lokaal netwerk aan, waar iedereen op kan inloggen, bestanden kan uploaden en downloaden. Voeg er een chat-optie en een forum aan toe, en klaar is je “deel-omgeving”. Studenten kunnen hun aantekeningen uploaden voor gebruik door anderen, de docent kan de PDF van dictaten of anderen materialen online zetten. Je bent niet afhankelijk van het netwerk van de onderwijsinstelling, bent ook niet online, dus geen gedoe met “mag dat wel?” maar ook niet met het gebruik van Facebook of andere online diensten.

Natuurlijk, dus ook niet verwijzen naar bronnen die elders staan etc.

Een ander voorbeeld dat ik las was van een band die een PirateBox ingezet had tijdens een concert en fans vroeg om foto’s en filmpjes die ze maakten tijdens het optreden daar naar toe te uploaden. Tegenwoordig wil iedereen dat meteen op Twitter, Facebook of Instagram gooien, dus zal het wellicht minder goed werken, maar het concept was er.

Installeren
Zoals wel vaker bij dit soort hacks lijkt het installeren op papier (“online”) heel eenvoudig, maar blijkt het in de praktijk dan weer een stuk ingewikkelder te zijn.
Het installeren van OpenWrt op de Zsun was stap 1.
Ik heb gebruik gemaakt van deze handleiding. Die heeft het over een tftp server op je Windows omgeving. Daarvoor heb ik TFTPd32 gebruikt. Je hebt hem maar even nodig, voor het naar de Zsun downloaden van de nieuwe firmware.
Deze stap ging probleemloos.

Stap 2 was het daadwerkelijk installeren van de PirateBox software. Dat bleek wat ingewikkelder. Er staat hier een stap voor stap beschrijving. Maar daar kreeg ik het niet mee werkend. Nou zou het kunnen dat het kwam vanwege de omvang van de micro-SD kaart die ik gebruikte (32GB) al zou de Zsun dat aan moeten kunnen.
Uiteindelijk heb ik de MiniTool Partition Wizard Free Edition gebruikt om op een ander, 8GB, micro-SD kaartje 2 partities aan te maken, waarbij ik de eerste een ext4 maakte en de tweede een fat32 partitie. Het blokje in de instructies waarbij ik ze dan vanaf de Zsun zelf aanmaakte:

cd /tmp
export LD_LIBRARY_PATH='/lib:/usr/lib:/tmp/lib:/tmp/usr/lib'
opkg update && opkg install -d ram e2fsprogs mkdosfs fdisk
wget http://druss.org/public/parts
chmod +x /tmp/parts
./parts
/tmp/usr/sbin/mkfs.vfat /dev/sda1
/tmp/usr/sbin/mkfs.ext4 /dev/sda2

Kon ik daarmee overslaan. Ook moest ik daarna sda2 en sda1 omdraaien in de code die volgde.

Toen ik dat probleem verholpen had, was het eigenlijk inderdaad gewoon een kwestie van knippen en plakken van commandoregels om de box in de lucht te krijgen.

Het resultaat is een Wifi-netwerk waar je verbinding mee kunt maken. Waarmee je dan (standaard) niet online kunt (is eenvoudig aan te passen in de setup, maar is in principe niet het concept). Waar je bestanden naar toe kunt uploaden, downloaden of online bekijken. Waar je kunt chahet tten of het forum kunt gebruiken.

Het ziet er allemaal niet écht heel mooi uit, het forum is eigenlijk best lelijk, het deel om bestanden te delen bestaat uit een platte lijst, het is dus zeker geen OwnCloud. Blijft natuurlijk dat het een heel klein stickie is, dat je met een accu je eenvoudig, waar je maar wilt, in een haast onzichtbaar formaat, een deelomgeving op kunt zetten.
Het bereik van de Wifi is best aardig. Twee verdiepingen lager ziet mijn iPad het netwerk gewoon, mijn laptop ziet hem niet (als hij naast de iPad staat), maar het is ook niet bedoelt als netwerk dat een enorm bereik heeft.

En nu?
De belangrijkste reden dat het 6 jaar geduurd heeft voordat ik mijn eigen PirateBox gebouwd heb is waarschijnlijk omdat een direct gebruiksscenario ontbrak. Ook nu nog heb ik, naast het ontdekken hoe dit werkte er zelf nog geen direct gebruiksdoel mee. Als jij nou een echt goede gebruikscase hebt, laat het me dan weten in de reacties!

0 0 stemmen
Bericht waardering
1 Reactie
Inline Feedback
Bekijk alle reacties
Goede automatisering | Julia Koning
Goede automatisering | Julia Koning
7 jaren geleden

Ik ben benieuwd! Het ziet er veelbelovend uit moet ik zeggen.