Teotwawki Net

From Sugar Labs

Jump to: navigation, search

Contents


Developer: William Schaub William's blog & RSS

TEOTWAWKI Net Project Home page

Notice: This page is now redundant with the project home page and will be deleted in September 2009.

Introduction

TEOTWAWKI means The End Of The World As We Know It, and the idea is to preserve the type of collaboration we are used to with the Internet in adverse, disaster-type situations and in areas that simply have no real hope of being connected.

This is only a proof-of-concept demo and is rather sloppy, but it does work. You get a local lighttpd web server with PHP, a DokuWiki wiki for personal use that can be seen by others currently on the network, and a PHP-based news reader (Web-News) and news server (InterNetNews-INN) that syncs up its news spool with every computer it can discover on the network that is broadcasting that it has Teotwawki Net installed on it.

If you like Perl like I do, Perl 5.10 is included as well (the only part written by me is a patch to the suck program and some shell and Perl scripts that do the broadcasting, receiving, mapping the network and executing the news spool sync-up via NNTP).

In a Nutshell

TEOTWAWKI Net is a distributed BBS system based on Usenet technology that propagates discussion groups across a constantly changing network of mobile computers running ad-hoc wireless networking.

Instead of a client-server model. every computer running the software can read and post articles to localhost. and the glue code handles discovery of other hosts on the network and propagating discussion articles automatically when new hosts come into range. Even with no other computers on the network all accumulated discussion is still on the hard drive or flash locally so constant access to a working network is not necessary until you want to exchange articles. I'm essentially taking the old BBS concept and taking it into the 21st century with mobile devices and wireless rather than switched telephone networks.

Demo

Session Notes: 25 June 2009 & 23 July 2009

Demo Download: You can download the demo at http://teotwawki.steubentech.com/download Read the README.txt file first.

A few extra notes. once the /opt/tn/start.sh script is run you need to leave that terminal session open, otherwise the software will shut down. Also, there is only one empty newsgroup that is installed out of the box. (tn.general) but you can add as many newsgroups as you like by running /opt/tn/news/bin/ctlinnd newgroup groupnamehere in another terminal window as root while the system is running. All added news groups will be merged into other systems when they first try to sync up with each other. To stop the system, just go to the window you ran /opt/tn/start.sh in, and hit <control C>; it should shut itself down.

I am waiting for a book on managing Usenet to arrive, so that I can try and fine tune things and use less brute force, as I have never until about a month ago tried to do anything with Usenet other than use a news reader. I chose Network News because it is a tried and true technology and already has everything built into it to weed out duplicate articles, and it was designed to not require any sort of centralized management. It also can be used without any TCP/IP links at all via UUCP or some other method of batching articles and sending them. (USB sticks and SD cards come to mind, as well as traditional dial-up modem file transfers.) I have been monitoring downloads of the demo software package and so far there is only one IP that has downloaded the package. I was curious if it was you. If so I would love to get your feedback on it if you have had a chance to install it and play with the software.

There is much to add to this software and a lot of fine tuning that needs to be done.

Updates

Plans

A few of the things I would like to add to it include:

  1. a net: namespace in the wiki that contains wiki pages exported by other users on the network, and a way to tag various pages as being exported into this system.
  2. a NetNews administration control panel that allows for the creation of news groups, removal and blocking of news groups and a mechanism for canceling articles (as the kids own the laptop they should be allowed to change the defaults and decide which traffic they will allow to pass through it)
  3. Various Wireless operating modes other than mesh and connected to external AP. In particular I want to add an ad-hoc wireless mode for compatibility with how I wish to use this system on regular PCs and laptops and a neat mode where the system acts as its own wireless access point with all DNS entries pointing to the web interface, so these devices can be used to serve up information and access to the system to many users at once that don't themselves have a copy of the software. also to reduce network congestion an offline mode that does not broadcast the system as available for syncup or sync to other hosts should be available (but it should still map out current users on the network so we can view their wiki pages etc) that way they can decide when they want to do the transfers and possibly ease up writes to the flash.
  4. If I can figure out how I would like to implement some form of private encrypted electronic mail and a tool for managing those accounts on each node.
  5. Possibly move to the telepathy system rather than my crude UDP broadcast system and integrate this into sugar so it can all show up on the network screen (Ideally I would like either an icon to show up that allows the browse utility to be opened to that host or to be able to hover over the hosts XO icon and see a list of exported web services on that machine and be able to click direct to each one) I would also like to add an activity Icon to open up direct to the localhost web page.

Feedback

Personal tools
Namespaces
Variants
Actions
Sugar
Projects
Teams
Local Labs
Using the Wiki
Google translations