README.md |
Awesome-Mesh
This is a list for mesh networking: Documentation, Free Software mesh protocols, and applications. A mesh network is a network topology in which each node relays data for the network. All mesh nodes cooperate in the distribution of data in the network.
Documentation
-
Wireless Mesh Networking - A wikibook dedicated to the subject.
-
Wireless Networking in the Development World - Wireless Networking in the Developing World is a free book about designing, implementing, and maintaining low-cost wireless networks. Chapter 8 is dedicated to Mesh Networking.
-
open80211s - This page provides a quick introduction to open80211s and gives step by step guide on how to set up a mesh network using open80211s and a supported driver.
-
Wireless Innovation for a Networked Society (WINS) Challenges - This Mozilla project is "seeking solutions to connect the unconnected". An overview of selected ideas of project phase 1 can be found in the Mozilla blog. Many of these ideas involve some sort of mesh technology.
Protocols
Routing
-
babled - Babel is a loop-avoiding distance-vector routing protocol for IPv6 and IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV and Cisco's EIGRP, but is designed to work well not only in wired networks but also in wireless mesh networks, and has been extended with support for overlay networks. Source Code
MIT
C
-
B.A.T.M.A.N. (better approach to mobile ad-hoc networking) - The newest version, Batman advanced is a new approach to wireless networking which does no longer operate on the IP basis. It can be found as batman-adv in the linux kernel. Source Code
GPLv2
C
-
BMX 6/7 (Batman eXperimental) - Mesh routing protocol. Source Code
GPLv2
C
-
cjdns - An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing. Source Code
GPLv3
C
-
Garlic Network - Decentralized garlic peer-to-peer mesh network. Source Code
MIT
C++
-
GNUnet - A mesh routing layer for end-to-end encrypted networking and a framework for distributed applications designed to replace the old insecure Internet protocol stack. Source Code
GPLv3
Java
(Various) -
JOKER (auto-adJustable Opportunistic acKnowledgment/ timEr-based Routing) - Proposal of a modified BATMAN network. However it stayed a study without further development or implementation. The open access paper from March 2016 gives reference to previous research efforts in this field. IEEE Paper
-
OLSR - The Optimized Link State Routing Protocol (OLSR) is an IP routing protocol optimized for mobile ad hoc networks, which can also be used on other wireless ad hoc networks. Source Code
BSD
C
-
Yggdrasil Network - An experiment in scalable routing as an encrypted IPv6 overlay network. Source Code
LGPLv3
Go
Stack
-
BLEMP - Bluetooth Low Energy Mesh Protocol for nRF51 Nordic chips. Source Code
BSD
C
-
FruityMesh - The first completely connection-based open source mesh on top of Bluetooth Low Energy 4.1. Source Code
GPLv3
C++
-
Mesh Bee - MeshBee® is a 2.4 GHz wireless zigbee RF module. It use microchip JN516x from NXP that enables several different flavors of standards-based zigbee mesh networking. Source Code
MIT
C
Software
AllInOne
-
LifeNet - LifeNet is a WiFi-based data communication solution designed for post-disaster scenarios. It is open-source software and designed to run on consumer devices such as laptops, smart-phones and wireless routers. Source Code
GPLv3
C
-
Commotion Wireless - Commotion is an open-source communication tool that uses wireless devices to create decentralized mesh networks on routers, mobiles, and desktops. Source Code
GPLv3
C
Desktop
-
FreeNet - Communications by Freenet nodes are encrypted and are routed through other nodes to make it extremely difficult to determine who is requesting the information and what its content is, data is shared by all users on the network. Source Code
GPLv2
Java
-
Go-IPFS - IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bittorrent swarm, exchanging git objects. Source Code
MIT
Go
-
Project Byzantium - Ad-hoc wireless mesh networking for the zombie apocalypse. Unlike most mesh implementations, a Byzantium Mesh requires no specialized equipment that may not be easy to get during an emergency, just an x86 computer with at least one 802.11 a/b/g/n wireless interface. Source Code
GPLv3
C
-
ZeroNet - ZeroNet is a decentralized Internet-like network of peer-to-peer users. Each visitor is also a host. Source Code
GPLv2
Python
Mobile
-
Briar - Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. If the internet is down, Briar can sync via Bluetooth or Wi-Fi between trusted clients. However, Briar does not relay messages through untrusted clients (Talk Torsten Grote @ 34C3), such that it is not suitable for desaster communication, where any (untrusted) client needs to work relay to build an efficient mesh network. Source Code
GPLv3
Java
-
Disaster.radio - A disaster-resilient communications network powered by the sun. Source Code
GPLv3
Python
-
ServalMesh Batphone - This app assumes zero infrastructure. The phones talk to each other using WiFi; relaying calls and messages and figuring out how to resolve numbers. In other words, it lets your phone communicate with other Android phones running Serval Mesh within WiFi range. Source Code
GPLv3
Java
-
Splinternet - A serverless, unblockable messaging system for Android. Source Code
MIT
?Java
-
Underdark - Mobile peer-to-peer mesh networking library. Integrates into iOS and Android apps and works over Wi-Fi and Bluetooth. Demo app called Solidarity available for download. Source Code
modified-Apache 2.0
(With Extra Clause)Java
-
AirChat - Free Communications For Everyone. Each node only cares for what is being received. No hardware identification, no transmitter plain identification. only packets matter. transmissions are anonymous. whenever an address is needed to reply to a packet, it is encrypted inside the packet. Source Code
modified-WTFPL
Perl
-
The SPAN Project - Smart Phone Ad-hoc Networking is a mobile ad hoc network (MANET) project which provides a push-to-talk (PPT) service on android devices (Google Play). The project seems to be abandoned. Source Code
C
Java
HTML
Router
-
Quick Mesh Project - Quick Mesh Project (qMp) is a system for easily deploying Mesh/MANET networks using Wi-Fi technology. Source Code
GPLv2
C
-
LibreMesh - LibreMesh is a modular framework for creating OpenWrt/LEDE-based firmwares for wireless mesh nodes. Several communities around the world use LibreMesh as the foundation of their local mesh firmwares. Source Code
AGPLv3
Lua
Communities
Online
-
DarkNetPlan - A Reddit community for discussion of off-grid communications and mesh networking.
-
Hyperboria - A community of local Wifi initiatives, programmers, and enthusiasts. Largest public cjdns network.
-
MeshLocals - A list of all of the meshlocals, working on mesh networks. Have an update? Send a pull request!
Offline
-
Battle of the Mesh - A European-based tournament with a social character. If you are a mesh networking enthusiast, community networking activist, or have an interest in mesh networks you might want to check this out!
-
Broadband-Hamnet - A high speed, self discovering, self configuring, fault tolerant, wireless computer network that can run for days from a fully charged car battery, or indefinitely with the addition of a modest solar array or other supplemental power source. The focus is on emergency communications for HAM operators.
-
Freifunk - Germany's largest community wifi project.
-
Guifi.net - Spain's largest community wifi project.
-
SudoRoom's Mesh Group - A collective of collectives stewarding a large community space in Oakland, California.
Hardware
-
HELPER Heterogeneous Efficient Low Power Radio Network - Devices developed by ANDRO Computational Solutions, LLC for emergency and disaster situations. Stationary and mobile modules were designed. The System is raspberry pi based.
-
GoTenna - Commercially available product which links to a smartphone via bluetooth and can send text messages and locations.
License
This list is under the Creative Commons Attribution-ShareAlike 3.0 Unported License.