Castle Romeo

TEOTWAWKI Net

Welcome to the TEOTWAWKI Net Project home page.

TEOTWAWKI Net is an experimental FOSS network software project being developed by Steuben Technologies

TEOTWAWKI Net aims to be a communications network that can be used as an alternative to the Internet even if the end of the world as we know it takes place.

TEOTWAWKI Net is a de-centralized communications network composed of completely autonomous systems that can stand alone without any computer network. These systems look for each other over wireless (and eventually other networking options, such as LAN and dialup modem connections, dumps to USB memory sticks, etc.) and exchange their message spools, new discussion groups, etc. when they discover each other.

Source, web source | Blog page, RSS link for blog.

Help Wanted

If you are a developer and want to help with this project please contact me. My contact info is on my main website at http://www.steubentech.com

I'm also in need of at least two rooted android phones (G1 phones would be nice) and some bluetooth USB dongles. you can contact me at sales at steubentech dot com

Update: I now have two android G1 phones and will soon have two bluetooth dongles, However the more hardware I have to test on the better other smart phones to try porting to would be cool too but the project is now free to move forward now in this new direction.

News

17 Jan 2012 - I have two Zipit Z2 machines I will be making an image for soon I also plan to have the python version out sometime this year along with a git repo on github.

13 July 2011 - I have started work on a project for Genesi that could finally see some of my work get used in the real world (Tanzania) check out my Blog for more information.

14 December 2010 - Thanks to the CDEpack project I just passed a big milestone on the way to releasing the new python TEOTWAWKINet project rewrite as an OLPC/Sugar Activity. I'm using CDEPack as a fancy chroot environment. I will be writing more about this in my blog.

10 September 2010 - Thanks to Fred Grose I now have some android phones to use for android development. I will start as soon as I have a working sugar activity (and of course standalone Linux app) built.

03 August 2010 - The project is not dead I'm in the process of learning python and making TEOTWAWKI Net into a real OLPC activity The new python code should also work standalone on Linux when it is finished. I will likely use git for the new revision control system.

22 October 2009 - TEOTWAWKI Net was featured in this OLPC News article. (It summarizes the project ideas and software pretty well.)

Visit this TEOTWAWKI Net blog page, or use the RSS link for the blog.

News Archive

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 data is still on the hard drive or flash storage 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.

How does it work?

The software is similar to the information without borders sneakernet project I used to link to their page for info but thier wiki is totally vandalized by spammers so I removed the link for now.

The software sets up a web server on localhost which contains an index page. The index exports several applications:

  • a link to download and install your own copy of the software,
  • a list of currently discovered computers running TEOTWAWKI Net that have joined the network at this time,
  • a discussion forum that is syncronized with every device running the software that is discovered on the local network,
  • a personal wiki that is exported to the local network (people can click on the name of your machine on the network list screen to view and contribute to your wiki, eventually this will be synced between machines in some fashion that makes sense, right now it's just a nice thing to have on hand).

To use TN, you simply have the software running and access localhost, post messages on the discussion group, and use the wiki. Then, as you come within wireless range of another users laptop (or other device) that is running the same software, you will see everything collected in his discussion group, and he gets everything you have posted.

In this way, a lot of information can be passed back and forth between people over long distances without any existing infrastructure other than some laptops or handheld devices with a wireless card in them.

Software Components

  • lighttpd (lightweight web server)
  • php (all interaction with the system is through php)
  • innd (handles the de-centralized distributed discussion groups)
  • custom perl wrappers around innxmit and a perl script for keeping the active file in sync in both directions.
  • suck (syncs the news spools)
  • custom glue code written in perl to discover and sync with other systems
  • dokuwiki to export a personal wiki to all users currently on the local wireless LAN
  • a PHP based usenet client (webnews, but that could change in the future)
  • Taylor UUCP (not used yet but included for those that want it and eventually for a dailup transfer method)
  • avahi-autoipd (used to quickly negotiate an IP address on the ad-hoc wireless.)
  • smail (eventually to be used as a sendmail replacement)
  • dnsmasq (used to serve up DHCP and DNS and point all DNS queries to us when we are in AP mode)

Downloads

How to use it

Getting Started:

To start TEOTWAWKI Net (TN), simply open a root shell in a terminal window and type

/opt/tn/start.sh

You will be prompted with a few questions about what you want to name your machine, your wireless interface, etc., and then will be given a choice as to what mode you want to run TN in.

  • Ad-Hoc:
    This is most likely what you want. It sets up an ad-hoc wireless network called teotwawki on channel 11 and broadcasts that it is available. It listens for other TN nodes that join this network and syncs the news spool with them.
  • AP:
    If you have an Atheros chipset card supported by the madwifi driver, you can use this mode. it requires you to load madwifi first before starting TN (see madwifi_readme.txt) just be sure that your interface shows up as ath0 and answer 'y' when it asks if you are using madwifi.

    This mode makes your laptop act like a wireless access point. It hands out DHCP leases and responds to DNS querys. All DNS queries (except for hosts listed in /etc/hosts) will point to the web server running on your laptop (started by TN). All 404 pages will redirect back to the webroot, so that anyone trying to use our rogue access point will be presented with the TN web interface instead.

    This mode is intended to be used as a way to share the message board contents and copies of the TN software to a wide variety of people not already running the software, and to allow people not running the software to participate in the network.
  • Managed:
    In this mode, TN does not concern itself with managing a network config and just broadcasts and listens on every interface that is up. Just use your wireless connection manager of choice or plug into a wired network or whatever.
  • Offline:
    Starts the news server and web server but does not start any of the networking daemons. You can use this mode when you just want to browse through collected news articles and respond to articles, but don't want to send any traffic out over the network just yet. (Any replies to news articles will be sent out next time you run TN in another node.)

That's great but how do I use it?:

Once the mode has been selected you open a web browser and browse to http://localhost to view the web interface. You are provided with a personal wiki (viewable by others currently on the network) and a web based news reader for interacting with the distributed electronic bulletin board system.

Shutting down the system:

Just go back to the terminal you ran /opt/tn/start.sh in and hit Ctrl + c and the system will shut itself down.

Saving my changes:
(for the Slax LiveCD version of TN)

To make changes persist, either make a bootable USB stick, or at boot time hit tab after selecting a bootup option and edit the changes= line to point to a writable device like a USB stick or hard drive, i.e., changes=/dev/sda1, this drive will be mounted and the changes will be stored in a directory on that device. (See www.slax.org for more info.)

How do I add new groups other than tn.general?:

Simple, just run /opt/tn/news/bin/ctlinnd newgroup nameofgrouphere

Eventually, I will have a way to do this from the web interface, but for now, this works. Your new group will automatically show up on other TN nodes without any intervention on their end. And, you will see new groups that others have added as soon as they try to sync with you.

Config file:

TN is controlled by the /opt/tn/etc/tn.cfg file. If you want to change any of the initial values given to start.sh when run for the first time, you can edit them here.

 
start.txt · Last modified: 2012/01/17 13:32 by admin · Currently locked by: 120.37.229.36
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki