Operation Mesh

From Pirate Party of Canada
Jump to: navigation, search

This operation mentioned in the media: http://arstechnica.com/information-technology/2011/11/the-darknet-plan-netroots-activists-dream-of-global-mesh-network/

Introduction and Summary Instructions

Operation Mesh is a world wide effort to establish anonymous wireless mesh networks through the use of the B.A.T.M.A.N. mesh networking protocol, I2P (a garlic routing anonymity network), and torrents. If you own a wireless router, chances are that you can hack it and turn it into a mesh network node with relative ease. This article aims to provide documentation on this process in addition to information useful for wireless mesh networking and general anonymity.

Step 1: Acquire a router compatible with the OpenWrt firmware. Chances are you have one in your house (the router you're using now) or could pick one up for a relatively low cost.

Step 2: Install OpenWrt on that router and enable wireless.

Step 3: Use the opmesh.sh script to configure your router for wireless mesh networking.

Step 4: Establish wireless mesh networks using other routers and high-gain directional and omnidirectional antennas (e.g. Fabfi and 15 dbi omnidirectional antennas).

Step 5: Implement supernodes with IP2

Step 6: ???????

Step 7: Profit!

Step One and Two: Installing OpenWrt on Your Wireless Router

See the OpenWrt table of supported hardware, and follow the instructions specific to your variety of router. In most cases you will be able to use a web-based user interface (UI) to flash your your router with the OpenWrt firmware.

Step Three: Running the B.A.T.M.A.N. Installation and Configuration Shell Script

This is an incomplete shell script that installs the required packages to make a B.A.T.M.A.N. mesh network, removes conflicting packages, configures your system to make a mesh bridge, and spoofs your wireless interface MAC address.


  • This script runs assuming that you removed the line under "# REMOVE THIS LINE TO ENABLE WIFI" in the directory /etc/config/wireless, and configured your device as needed during the installation of OpenWrt.

It should look something like this:

config wifi-device  radio0
       option type     mac80211
       option channel  1    
       option macaddr  00:24:a5:d7:85:2a
       option hwmode   11ng
       option htmode   HT20 
       list ht_capab   SHORT-GI-40
       list ht_capab   DSSS_CCK-40

config wifi-iface
       option device   radio0
       option network  lan  
       option mode     adhoc 
       option ssid     OpMesh 
       option encryption none

| Script source on PiratePad

Step Five: Implementing I2P

I would speculate that implementing I2P on a B.A.T.M.A.N. mesh network will require the construction of supernodes. This need arises out of the limitation that most routers don't exceed even 64mb of RAM or a CPU speed of 400 Mhz (these specifications belonging to the relatively powerful Buffalo WZR-HP-G300NH). I2P needs more resources than are typically available on routers.

Related Reading

Opportunities and Challenges for Mesh Networks Using Directional Antennas

FabFi(an open-source system to transmit wireless ethernet signals across distances of up to several miles)

PirateBox (a self-contained mobile wireless communication and file sharing device)

Anon Ops pirate pad with relevant information