Well, yesterday we salvaged an old, old server — dual Pentium and 1,5 G RAM, with two 160 G SATA drives. What do you do with a salvaged server? You put Debian on it. And if you are with Daedalus, you take this opportunity to start building the Computer Classroom which is badly needed here. Continue reading ClassRoom beta 1
Offline internet in refugee camp1
This is a preliminary specification of fuctionality for Daedalus SimSim Box2 (SSB) – local internet nodes, providing access to rudimentary services in the areas (camps) with weak or non-existing internet uplinks.
After some research and comparison, I temporarily selected PirateBox (PB)3 as the most suitable software platform for deployment and future development of new services. Also, as we need to keep it open for expansion, I suggest RaspberryPi4 (or open equivalent) family as our default hardware.
Starting from these premises, here is the 3-tier functionality specification. Please kindly contribute, using section numbers for reference.
Entry level functions
These functions are already provided by the PB and only need to be modified to our needs:
Responsive design for ease of use with phones and tablets;
UPnP Media Server for local streaming of movies and songs;
Image and Message Board for 4chan-like functionality;
Chat room for anonymous communications;
Browser-based file sharing system!
And here’s a list of needed adaptations:
Splash page / WiFi login prompt
Our users will most probably use their smartphones (over wifi) to access the network. They will know nothing about using local networks – they are just users. So we need to provide them with some guidance.
Two things a user has to know are: where to go after logging in and how to choose preferred language5. If we are able to redirect their browser to a designated address, we have first issue covered and then the server will take care of the rest. It may also double as a landing „switchboard” page, which we’ll need as we add more services to the system.
Otherwise we need to send a user brief information, telling them what address they should enter after logging in → pointing to the server’s homepage.
In many places we will be working under detailed surveillance of the authorities. Especially in Greece they are rather twitchy and trigger-happy if it comes to any sign of counter-culture or subversive approach. It would be counterproductive to deploy system openly referring to counterculture and pirate radio symbolics. So we need to rebrand the software, making it look „humanitarian and apolitical”. Using Daedalus’ visual representation and „SimSim Box” name should look good enough for that.
Interface language switch
As I mentioned before, we also need wide selection of language interface versions. Translation-friendly PB is expected in v. 1.1 – I am waiting for the information about launch date. Meanwhile, we will have to live with English language only. I believe we can provide user guides in various languages, if the 1.1. launch takes long time.
Basic level functions
Our goal is to provide platform for in-camp communication, education and entertainment. The core functionality will be an „Internet Classroom” used (mostly) via wifi-connected smartphones and other mobile devices. For this level of operations we need a bit of more developed services. The assumption or this level is that SSB has no connection to the internet.
„Drive-in” sync, backup and upgrade
The assumption is that there is no uplink to the internet, so the only way to synchronise, backup and upgrade systems is by visiting the place. We will not always have qualified IT people available to do it, so we need some automated way to do it. The idea is that another computer (possibly headless and unmanned unit) should periodically pop up in the network, log into the SSB and perform whatever maintenance would be needed. All safety and privacy standards apply, of course.
Offline wikipedia and other resources
Apart from „regular” file sharing, first resources we want to make available will be the content of Wikipedia. Currently I assume that we’d use Kiwix6 tools, having the content stored as ZIM files and available through separate lightweight reader app. As soon as we have SSB deployed, we shall start talking to other providers7 to have their content available as well.
First dynamic content provider we can use – still without necessity of live uplink – is Outernet8. They provide satellite-based broadcast of cultural and education content. To get it, we only need a satellite receiver and antenna, which can be connected to SSB, as another service.
Advanced level functions
As we expand and hopefully gain better leverage, we will possibly be able to get some internet access. Realistically, no consumer-grade can stand concurrent sessions of, say, 500 smartphones, so we still will need to filter and optimize traffic.
At that level we will also use SSB as a communication medium, both within camps and across the world.
Profiles: private and hidden content
We will introduce user profiles. It will make possible to have private chats and messageboard threads (visible or hidden). This will build basic messaging system.
In bigger camps we will need more then one SSB. Using their uplink wifi interfaces we will be able to provide interconnectivity, so the whole content will be available on every node. Exact way to have it done is yet to be determined.
Online sync, backup and upgrade
We will introduce mechanisms for automated maintenance of SSB from remote server. „Drive-in” functionality will stay there as a failsafe.
We will run server-based news reader, providing more information to the users.
RSS streaming (aggregated)
Public, user-generated content will be streamed through RSS and aggregated on the server at Daedalus HQ9. Both aggregated and per camp streams will be available through the news reader mentioned above.
Torrent client-server (local torrent library)
We will build a shared library of torrents. Using torrent client (web-accessible) we will enable users to „order” items via low-speed torrent channel. Both web browsers and mobile torrent clients will be available for this purpose.
Mesh network access
To increase local coverage, we will also test and possibly deploy mesh access network. This feature, however, depends on the mesh technology development10.
1 And wherever it may be needed.
2 Arabic word for Sesame (like in „Open, Sesame!”)
4 https://www.raspberrypi.org/products/ – popular, relatively cheap, strong enough to run PirateBox in various configurations. Universal enough for future repurposing. Similarly to software platform, hardware selection will also be reviewed before large-scale deployment.
5 We shall need as many languages as possible from the following list: English, French, German, Spanish, Portuguese, Arabic, Turkish, Farsi, Kurdish (Kurmanji & Sorani), Pashtu, Dari or Greek.
7 Project Gutenberg, Open Culture etc.
9 As soon as the connectivity allows, we will also make individual (camp) RSS streams publicly available, keeping official list at every SSB for reference.
10 https://duckduckgo.com/?q=mesh+site%3Adaviddarts.com%2Cpiratebox.cc%2Cpiratebox.aod-rpg.de%2Cpiratebox.de&ka=h&kt=Helvetica&ky=%23fafafa&kj=%23222222&kx=b&k7=%23fafafa&ia=web# There is also independent mesh network project: https://commotionwireless.net
Ready for field tests!
For our next trip, we will take the installation with us and will try to test it in real environment.
Mark II features changes in software. Hardware is the same as in Mark I
So, the changes:
- Raspian 8 (Debian) with Webmin administration suite.
- Filesystem has been split, with root partition moved to external SSD (64 G)
- Owncloud 9.0 for filesharing — it will be essential for educational content and social uses of the system.
- Router runs OpenWRT, with twin WiFi interfaces. Internal wifi is intended as uplink (connecting to any available wifi Internet access point, to provide connectivity outside). External high power wifi adapter will create local network, providing access to the server.
To get the most out of the hardware, we need to do a bit of hacking:
- Router has to be expanded[0. These hacks are well documented here: https://wiki.openwrt.org/toh/tp-link/tl-mr3020#hardware_hacks] with second USB port (for backup uplink — 3G/4G mobile broadband dongle) and internal micro SD card slot (to expand filesystem). For the internal wifi, there is a need of external antenna, to improve range and signal quality.
- We need to add more software, both to the router configuration and to Raspberry — it will be possible as soon as we get final versions of hardware.
- Raspberry Pi has to be upgraded to version 3. Memory and processing power of older versions is not enough for couple hundred users, downloading and uploading files at the same time.
- Next level of development will be solar power unit, making the node almost autonomous.
- We need OpenWRT guru to help with advanced configuration tasks (remote consultancy).
- We need Debian/Raspian guru to help with server configuration and tweaking (remotely as well).
- We need enthusiastic supporters to help us here in Greece and worldwide, finding places where Daedalus Prime could (and should) be tested and spreading word as much as possible.
- We need suggestions what content should we publish for educational and information purposes.
- And finally, we need financial support to start assembling first few nodes for real-life implementation and testing.
Please contact us here (comments or contact page) if you are keen and able to help us.[su_slider source=”media: 215,218,216,217″ link=”image” target=”blank” title=”no”]
For our work, we will need semi-autonomous devices, creating “pockets of internet”, providing services and content, even if the uplink connection is unavailable or inadequate. It will be useful both due to the patchy (and sometimes costly) coverage in various areas and possible high bandwidth need. As we want to provide educational content via mobile devices, the need for bandwidth for, say, 400 people, will certainly excess any probable uplink capacity available at the camp.
So we need separate wireless networks, providing tools and content online, even if it is to be a very local online.
I started prototyping from the mobile node, codename “Daedalus Prime”. It will be used in our car-based installation, both for the team support and for field network deployment, wherever we go.
Basic functions will be the same:
- secure access to the internet any way available
- secure access to internal resources, mainly via ownCloud and other local services
That is why I used two separate hardware modules — it will be easier to upgrade them, as we (hopefully) get better equipment). For starters, we got:
- TP-Link MR 3020 router[0. Full description, see https://wiki.openwrt.org/toh/tp-link/tl-mr3020]: “very hackable”, lightweight and relatively cheap (and I just had it laying around, so why not). Currently it is just a stock hardware, but I plan to add external antenna, memory (micro SD) and USB for external devices (hi-gain wifi adapter)[5. Hackers needed! Badly!]. Currently, it uses internal wifi for up-linking, with mobile USB stick as backup. It runs OpenWRT software, which is modular and highly configurable.
- Raspberry Pi model B [1. Full description, see https://www.raspberrypi.org/products/model-b/], is running Debian linux, as a pre-packaged server plus some applications. Initially I deployed FreedomBox[2. See http://freedomboxfoundation.org/], which is one of several “self-hosting” solutions available under FLOSS licences. Very good for testing, it is a bit “too heavy” for my Raspberry. I am going to test some other packages — and surely could use some better hardware, if there is anybody keen and able to donate such[3. Comprehensive list here: https://wiki.debian.org/FreedomBox/Hardware].