The Living Thing / Notebooks : Sneaker nets, mesh nets, intermittent connectivity and decentralised protocols

A.K.A. the internet over the the Honda protocol.

A.K.A.“the internet as if the entire world did not live in Seoul and Silicon Valley”.

If you are experience generally bad connectivity because you live in an are with bad wireless internet, or you occasionally go inside buildings or experience topography in your landscape, you need to think about this. OSX is particularly horrible.

Also you should have the internet cached for offline use because Nation states are playing at war games to destroy the internet, and us little people will suffer when that happens.

Or perhaps you live in a jurisdiction where political speech is censored from the internet, and you want communications that function without a single point of failure for the state to target.

Ideally I’d like to find robust ways of participating in the internet bidirectionally, in non-real-time, without assuming the internet is plugged in and working.

The Web as we know it is not especially well suited to this, so this might be a hard sell to Joe Suburbia, but I imagine not so bad for Indonesians with smartphones or others in the internet badlands.

Gettings bits of the online internet offline

This is a tricky problem in general, and specific, partial solutions abound. Especially unidirectional solutions. For example, you can get read-only versions of wikipedia for offline use in your remote mountain village; but there is no easy way to contribute your updates back to the version on the main internet.

Offline automatic filesync

Some of the file sync options I mentioned also work as sneakernets, e.g. git-annex, syncthing, and retroshare. which also does a lot more besides.

Roll your own alternative protocols

TODO: mention the Indonesian IP piracy sneakernets’ approach to this.

Distributed version control can fix this sort of problem; but remote mountain villages rarely have distributed version control experts.

Technical stuff which handles intermittent connectivity

The command line might need some upgrading

function wget_non_california () { until wget -c --timeout=10 $*; do sleep 10; done }

Backed by a major player: mars, the network stack of Wechat.

Offline wikipedia

AFAICT there is no way to contribute upstream. But a reasonably simple and well-curated option is to use the Kiwix offline wikipedia, which can give you everything, everything minus pictures, or only “medical” articles, or only “school” articles and so on.

Offline manuals

devdocs.io is an excellent offline cache of API docs that works from your browser.

Even more comprehensive are the specialised apps dash (OSX, USD25) and zeal (Linux, Windows, open source).

The whole internet offline

Amber Case argues for IPFS, which at a glance sounds great for reading content although I don’t understand how it generalises to writing content.

Practical solutions are about bringing alternative bits of the internet into decentralised availability. Surprisingly, this is popular for social nwtworks.

Zeronet

Zeronet provides “Open, free and uncensorable websites, using Bitcoin cryptography and BitTorrent network”

How does it work?

  • After starting zeronet.py you will be able to visit zeronet sites using http://127.0.0.1:43110/{zeronet_address} (eg. http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D).
  • When you visit a new zeronet site, it tries to find peers using the BitTorrent network so it can download the site files (html, css, js…) from them.
  • Each visited site is also served by you.
  • Every site contains a content.json file which holds all other files in a sha512 hash and a signature generated using the site’s private key.
  • If the site owner (who has the private key for the site address) modifies the site, then he/she signs the new content.json and publishes it to the peers. Afterwards, the peers verify the content.json integrity (using the signature), they download the modified files and publish the new content to other peers.

Retroshare

Retroshare is…

  • A Decentralized Social Sharing Network designed For the People with no dependencies on any corporate system or central servers.
  • Make strong crypto useable for the average computer user, have strong crypto in daily communication.
  • The right to have secrets. You decide who can receive information. Hide information from intelligence agencies and spying companies.
  • Freedom of speech, no censorship.
  • Independence from corporate systems and centralized servers. Central services might shut down or change their terms of services at any time. Do you remember Myspace? Or German Studivz? Remember when Facebook changed their terms of service? Skype being bought by Microsoft?
  • Free software. Only free software can provide free and secure communication. Developers can read Retroshare’s source code and verify the security.

Features Chat, Voice and Video, offline mail, file sharing, distributed search, forums and compatibility with TOR, and sneakernet everything.