Connected World

Wireless meshnets span the globe. (Credit: Junior Melo [CC-BY-SA-3.0])

Throughout the course of the last decade, the landscape of the Internet has shifted dramatically as political and corporate control have changed the structure of the network. The threat of the FCC overturning net neutrality, an increasingly powerful oligopoly of ISPs, and corporate and political surveillance online are endangering the state of the Internet as we know it. Groups of engineers and activists have begun to propose ways to resolve these issues, and the advent of inexpensive wireless networking has ignited a movement to create wireless mesh networks called meshnets.

A meshnet is a network topology in which each device on the network is connected to other devices and directly relays information throughout the network to its peers. Some of the benefits of meshnets include decentralization, security, and privacy due to the framework they use.

During the last few years, a global meshnet called Hyperboria has been developed which allows users to easily connect to a group of likeminded experimenters throughout the world. The stated goal of Hyperboria is “to provide an alternative to the internet with the principles of security, scalability and decentralization at the core.” Hyperboria runs on an open source networking protocol called cjdns, created by Caleb James DeLisle. The software uses public key cryptography to encrypt data, ensuring security and privacy of users’ data.

Decentralization, Security, and Privacy

Instead of relying on a centralized ISP model, Hyperboria and other meshnets allow information to propagate through the network using each of the nodes connected to the network. Rather than using a star or a tree topology managed topdown by an ISP, a meshnet is managed by the users and for the users.

Decentralization of the Internet through meshnets is vital because it solves multiple sociopolitical issues. During the Arab Spring, governments in Egypt, Libya, and Syria attempted complete Internet shutdowns in their countries. Internet censorship has also been an ongoing problem in China, North Korea, and Cuba, among other nations. In the United States, there has already been “Internet kill switch” legislation proposed in Congress, and laws such as the Communications Act of 1934 and the Telecommunications Act of 1996 could be used to justify Internet censorship or shutdown under martial law or in a crisis situation. The decentralized nature of meshnets would prevent a total shutdown of a nation’s network connectivity by a governmental power.

Ensuring users’ security and privacy is at the heart of projects like Hyperboria. According to DeLisle, “security should be ubiquitous and unintrusive, like air.” One historical issue with security software is its notorious difficulty to use, but this problem is easily avoided with cjdns, since security is built directly into the protocol. cjdns stores its routing table in a distributed hash table for security purposes, and it also uses stack-smashing protection to ensure that buffer overflows are prevented against.

How to Connect: An Overview

The best way to connect to Hyperboria is to find a local meshnet—also called a meshlocal—near you. There are a number of meshlocals popping up around the world, and Project Meshnet has a list of meshlocals available on their site. In many cases, joining a meshlocal will also give you access to the rest of the Hyperboria network, although this is not always the case.

Although there isn’t official hardware required to join Hyperboria, Project Meshnet recommends the Ubiquiti Nanostation or another OpenWrt-compatible router, such as a TP-Link TL-MR3040. The Ubiquiti Nanostation M5 is available on Amazon for approximately $80, and the TP-Link TL-MR3040 is available for $35, but any router compatible with OpenWrt will work. You can run cjdns on a Raspberry Pi Model B or another computer, and you can the additional accessories (a 4 GB SD card, a power supply, USB to Ethernet adapter, and two Ethernet cables) for about $30. There’s a great meshnet starter kit list available from NYCMeshnet that will help guide you through the necessary hardware to purchase. At the end of the day, you can get on the network for about $150.

After purchasing the hardware, connecting to Hyperboria is simple. You can download an easy-to-install Raspberry Pi image called Meshberry. After running a few commands, your Raspberry Pi will be up and running and ready to peer with other cjdns nodes. Another excellent tool for connecting to a meshnet is OpenWrt, which is open source firmware for routers that replaces the proprietary firmware your router is shipped with. Installation can be difficult, but the OpenWrt community is there to help. You can find a list of supported routers here. A new special-made OpenWrt build called Meshbox is also helping users connect faster than ever by using a custom-built version of OpenWrt with a cjdns GUI pre-installed.

Many early adopters of the meshnet technology are focusing on building the backbone of the network in a way which allows as many people as possible to connect. Because of this, some users are placing long distance routers on the roofs of their homes or apartments. This allows your router to reach the farthest possible distance to connect to other meshnet nodes. The Nanostation M5 is weather-resistant and includes mounting tools which makes it easy to install on a roof. You can also use outdoor-certified Ethernet cable to run a cable from the router back to your home.

Resources and Help

Because of the experimental nature of this network, it’s very common to run into issues while installing your equipment. Thankfully, it’s easy to get help thanks to growing user communities helping with the project. One great site to check out is projectmeshnet.org, which is a hub for users who are interested in building meshnets. Meshnet users also hang out on IRC, and you can join channels like #projectmeshnet and #cjdns on EFnet (among others) for help connecting to the network.