Mesh
General
See also Networking, Sharing, Open social
- How to Keep the NSA Out of Your Computer [1]
- YouTube: Building Dissent Networks (FOCI 2013)
- http://www.muniwireless.com/2010/01/10/guidelines-for-successful-large-scale-outdoor-wifi-networks/
- Hype SDK - creates peer-to-peer mesh networks between nearby devices, even without Internet
- libp2p - A modular network stack. Run your network applications free from runtime and address services, independently of their location.
- What is libp2p - libp2p - aims to provide a comprehensive guide about libp2p. It covers the various modules of libp2p, including supported transport protocols, secure channels, stream multiplexers, peer discovery, messaging, NAT traversal, and more. This site is an essential resource for developers who want to learn about the capabilities and features of libp2p, as well as for those who are already familiar with libp2p and are looking for more advanced guidance. Whether you are just getting started with P2P networking, or you are an experienced developer looking to build the next generation of distributed applications, the libp2p documentation has something for you.
- https://github.com/blockstack/blockstack - a new decentralized internet where you own your data and your apps run locally without remote servers. Blockstack provides decentralized services for naming/DNS, identity, authentication and storage. Developers can use JavaScript libraries to build serverless apps and they don't need to worry about managing infrastructure. Blockstack replaces the current client/server model; users control their data, apps run client-side, and the open Blockstack network replaces server-side functionality.
- Yjs - a framework for offline-first p2p shared editing on structured data like text, richtext, json, or XML. It is fairly easy to get started, as Yjs hides most of the complexity of concurrent editing.
- https://github.com/Tribler/py-ipv8 - IPv8: an amalgamation of peer-to-peer communication functionality from Dispersy and Tribler, developed over the last 13 years by students and employees of the Delft University of Technology. The IPv8 library allows you to interface with the existing Dispersy network to build your own applications.
- TomP2P - a DHT with additional features, such as storing multiple values for a key. Each peer has a table (either disk-based or memory-based) to store its values. A single value can be queried / updated with a secondary key. The underlying communication framework uses Java NIO to handle many concurrent connections.
- https://www.scuttlebutt.nz/ - a decent(ralised) secure gossip platform
- Beaker - Peer-to-peer Web browser. No blockchain required.
- ZeroTier - Radically simplify your network with a virtual networking layer that works the same everywhere.
- https://en.wikipedia.org/wiki/Peer_Name_Resolution_Protocol - a peer-to-peer protocol designed by Microsoft. PNRP enables dynamic name publication and resolution, and requires IPv6. PNRP is a distributed name resolution protocol allowing Internet hosts to publish "peer names" and corresponding IPv6 addresses and optionally other information. Other hosts can then resolve the peer name, retrieve the corresponding addresses and other information, and establish peer-to-peer connections.
- PNRP Namespace Provider API (Windows)
- Peer Name Resolution Protocol | Microsoft Docs
Routing protocols
DSDV
Destination-Sequenced Distance-Vector Routing (DSDV) is a table-driven routing scheme for ad hoc mobile networks based on the Bellman–Ford algorithm. It was developed by C. Perkins and P.Bhagwat in 1994. The main contribution of the algorithm was to solve the routing loop problem. Each entry in the routing table contains a sequence number, the sequence numbers are generally even if a link is present; else, an odd number is used. The number is generated by the destination, and the emitter needs to send out the next update with this number. Routing information is distributed between nodes by sending full dumps infrequently and smaller incremental updates more frequently.
AODV
It is a reactive routing protocol, meaning that it establishes a route to a destination only on demand. In contrast, the most common routing protocols of the Internet are proactive, meaning they find routing paths independently of the usage of the paths. AODV is, as the name indicates, a distance-vector routing protocol. AODV avoids the counting-to-infinity problem of other distance-vector protocols by using sequence numbers on route updates, a technique pioneered by DSDV. AODV is capable of both unicast and multicast routing.
OLSR
- https://en.wikipedia.org/wiki/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. OLSR is a proactive link-state routing protocol, which uses hello and topology control (TC) messages to discover and then disseminate link state information throughout the mobile ad hoc network. Individual nodes use this topology information to compute next hop destinations for all nodes in the network using shortest hop forwarding paths.
- OLSRd OLSR daemon
Bmx6
- Bmx6 is a routing protocol for Linux based operating systems.
Babel
- Babel - loop-free distance-vector routing protocol
Babel is based on the ideas in Destination-Sequenced Distance Vector routing (DSDV), Ad hoc On-Demand Distance Vector Routing (AODV), and Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP), but it uses a variant of Expected Transmission Count (ETX) link cost estimation rather than a simple hop-count metric. It employs several techniques to ensure the absence of routing pathologies, such as routing loops. Babel operates on IPv4 and IPv6 networks. It has been reported to be a robust protocol and to have fast convergence properties.
Two implementations of Babel are freely available: the standalone sample implementation, and a version that is integrated into the Quagga routing suite. The version integrated into Quagga allows for authentication.
B.A.T.M.A.N.
- Open Mesh B.A.T.M.A.N. - layer 2 & 3
- https://www.open-mesh.org/projects/batman-adv/wiki/DistributedArpTable-technical - a Distributed Hash Table aimed to store ARP entries and to allow nodes to perform fast lookup operations. All the operations in the DHT (get and store) are performed on a set of nodes computed by means of a distributed hash function which input value is an IPv4 address.
QSPN
- Netsukuku layer 2 & 3, etc
- arXiv.org: [0705.0817 Quantum Shortest Path Netsukuku] - This document describes the QSPN, the routing discovery algorithm used by Netsukuku. Through a deductive analysis the main proprieties of the QSPN are shown. Moreover, a second version of the algorithm, is presented.
HWMP
cjdns
Wanderlust
- Wanderlust - A Worldwide Network with Distributed Routing through Location Swapping
Bunny
- https://github.com/mothran/bunny - a wireless. meshing, darknet that uses 802.11 to hide its communications
802.11u
- https://en.wikipedia.org/wiki/IEEE_802.11u - an amendment to the IEEE 802.11-2007 standard to add features that improve interworking with external networks.802.11 is a family of IEEE technical standards for mobile communication devices such as laptop computers or multi-mode phones to join a wireless local area network (WLAN) widely used in the home, public hotspots and commercial establishments.The IEEE 802.11u standard was published on February 25, 2011.
802.11s
- https://en.wikipedia.org/wiki/IEEE_802.11s - mesh networking, defining how wireless devices can interconnect to create a WLAN mesh network, which may be used for static topologies and ad hoc networks.
WireGuard
- https://github.com/wiretrustee/wiretrustee - Connect your devices into a single secure private WireGuard®-based mesh network.
Router
- nodewatcher centralized network monitoring platform
- Free Networks volunteer cooperative association
- Nodecity - thing with trust metric
Hardware
- http://piratepad.net/new-intranets - old skool pad
- https://news.ycombinator.com/item?id=6285231
- http://jeelabs.com/
- http://www.sigfox.com/en/page/44-technology.html
- https://www.sparkdevices.com/
- http://thingsquare.com/tech/
- http://cubox-i.com/
Software
- Gluon - a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes. Several Freifunk communities in Germany use Gluon as the foundation of their Freifunk firmwares.
Projects
Networks
- Wireless Battle of the Mesh - comparison event
- http://2013.wirelesssummit.org/
- freifunk - OLSR and B.A.T.M.A.N
- CUWiN 802.11b networks
- ninux.org is a Wireless Network Community in Italy. OLSR
Project Mesh Net
Serval
- http://developer.servalproject.org/dokuwiki/doku.php?id=content:tech:mdp - Mesh Datagram Protocol (MDP)
- http://developer.servalproject.org/dokuwiki/doku.php?id=content:tech:vomp - Voice over Mesh Protocol (VoMP)
- http://developer.servalproject.org/dokuwiki/doku.php?id=content:tech:rhizome
- http://developer.servalproject.org/dokuwiki/doku.php?id=content:tech:meshms
Commotion
OLSR
FabFi
OLSR
Red Hook WiFi
- Red Hook WiFi - a project of Red Hook Initiative (RHI), is a community-led effort to close the digital divide. https://en.wikipedia.org/wiki/Red_Hook_Wi-Fi
to sort
- https://github.com/nasa/meshNetwork - The Mesh Network Communication System is a peer-to-peer communication network architecture that enables communication between network nodes of various types. The initial primary goal of the system was to enable communication between small formations of cubesats or other small satellites, but the basic mesh architecture is applicable to data exchange between network assets of any type. The system has been flight tested on formations of small unmanned aerial systems (sUAS) and shown to provide low latency data throughput for dynamic flight environments.
- http://youandjerrycan.org/
- http://wiki.youandjerrycan.org/ - plastic jug, zimbra
- Bridgefy - a developer-friendly SDK that can be easily integrated into Android and iOS mobile apps to make them work without Internet. Companies increase engagement by letting people use their apps when they previously couldn't.
Stacks
Freedom Box
- FreedomBox - designed to be your own inexpensive server at home. It runs free software and offers an increasing number of services ranging from a calendar or jabber server to a wiki or VPN. Our web interface allows you to easily install and configure your apps. Be your own host!
- http://freedomboxfoundation.org/
- http://wiki.debian.org/FreedomBox
- https://wiki.debian.org/Freedombox/FreedomBuddy
Freedombone
- https://github.com/jadedanemone/freedombone - A home internet server configuration for the BeagleBone Black, Raspberry Pi or Cubieboard. With Freedombone you can enjoy true freedom and independence in the cloud. It comes in a variety of flavours.
Byzantium
Other
- Stack#Ansible - basic services
ArcOS
- arkOS is a system for securely self-hosting your online life from the comfort of your home.
Mazi
- Mazi Project - a toolkit for building local, community wireless networks: MAZI Zones. We call this alternative technology Do-It-Yourself networking. It combines wireless technology, low-cost hardware, and free/libre/open source software (FLOSS) applications.MAZI Zones will be easily deployed and configured based on a rich set of customization options and interdisciplinary knowledge.The MAZI project includes four pilot studies, in Germany, Greece, Switzerland and the UK. These pilot studies will take into account different perspectives; technological, scientific, political and social.
Mapping
Darknet
- https://en.wikipedia.org/wiki/AnoNet - anoNet is a decentralized friend-to-friend network built using VPNs and software BGP routers. anoNet works by making it difficult to learn the identities of others on the network allowing them to anonymously host IPv4 and IPv6 services.
Other
- http://www.reddit.com/r/Bitcoin/comments/1vd2r1/we_want_to_replace_youtube_dropbox_facebook/
- http://www.reddit.com/r/bitcloud
- https://github.com/publiusfederalist/federalist - Access files on the decentralized, unblockable torrent swarm and visit links using Handshake domains. Decentralized internet is here.
p2panda
- p2panda - a protocol for local-first applications. local first is a somewhat unknown term and hard to grasp if you think about the internet in its current state. It basically means: The programs you use don't need a globally interconnected internet to function, but can simply run - even when you're offline. And there is even more! If you imagine creating data without any other entity checking against it, for example when you're offline, then this is very different from how commercial platforms function: You don't sign up or upload your data somewhere, your data is already on your computer and you can do with it whatever you feel like. [7]
- https://github.com/p2panda/p2panda - This library provides all tools required to write a client, node or even your own protocol implementation for the p2panda network. It is shipped both as a Rust crate p2panda-rs with WebAssembly bindings and a NPM package p2panda-js with TypeScript definitions running in NodeJS or any modern web browser.
- https://github.com/p2panda/aquadoggo - Configurable node server implementation for the p2panda network running as a command line application or embedded via the library inside your Rust program.
OpenZit
- https://github.com/openziti/ziti - OpenZiti represents the next generation of secure, open-source networking for your applications. OpenZiti has several components.
- https://github.com/openziti/zrok - Geo-scale, next-generation sharing platform built on top of OpenZiti.