Forban is a kind of p2p application for link-local and local area network. Forban works independently from Internet and use only the local area capabilities to announce, discover, search or share files. Forban relies on HTTP and he is opportunistic (meaning replicating any files seen in his proximity or interest). The name took his origins from the old French word (a forban is a kind of pirate). “Forban” can be also a play word in English at a time where government or corporate want to ban access to the Internet.

The current implementation is written in Python. The Forban protocols are minimalistic to ease the accessibility to build independent Forban in any decent language or even in shell scripts (using tcpdump and wget for example).

Forban operates in different modes, the opportunistic mode is the default and working as a gossip protocol to disseminate data with any Forban in his proximity. The main concept is to provide persistence for the disseminated data even on periodic or unreliable communication.

Development and git repository

Download release and software requirements

Latest version : Forban 0.0.9 (2010-03-07) - release directory - ChangeLog

You'll need Python installed (at least version 2.5) and CherryPy module (at least version 3) (easy_install cherrypy). Forban should work on any decent version of GNU/Linux or MacOS. Forban should also run on Windows but this needs to be tested.

As Forban is under active development, we recommend to clone the git repository.

  git clone git://gitorious.org/forban/forban.git 

Setup and operation

Edit/create config file $FORBANPATH/cfg/forban.cfg :
[global]
name = mac forban
path = /Users/clarisse/forban/
version = 0.0.7
mode = opportunistic
[forban]
share = /Users/clarisse/forban/var/share/
Start the forban services :
cd $FORBANPATH/bin/
./forbanctl start
Open a web browser to http://127.0.0.1:12555/

Screenshot

Forban screenshot of the status page where you can see the discovered and shared loot

Protocols and link-local Firewall

If you have a Firewall or a packet filtering on your computer, you'll need to open the following ports :

UDP protocol port 12555 (source any -> destination 255.255.255.255 (ff02::1 in IPv6))
TCP protocol port 12555 (source any -> destination any)

License

Forban is free software licensed under the GNU Affero General Public License version 3.

FAQ

Frequently Asked Question around Forban. If you have any question, send an email to a @ foo dot be.