📜 ⬆️ ⬇️

CJDNS is dead, long live Yggdrasil

image


What is Yggdrasil?
Yggdrasil is a distributed Mesh network that works in Overlay mode, allowing you to make the Internet over the Internet.

Moreover, the network can simultaneously operate in two modes - via the Internet and without the Internet, connecting directly to physically neighboring peers (via Ethernet, Wi-Fi or Bluetooth) while working at the 3rd level of the OSI model .
')
Apple devices use the AWDL protocol.
The latest news about the cjdns network is dated 2017, it may seem that the network has died and development has stopped (actually, yes), but an impostor has appeared - Yggdrasil, which almost completely copies cjdns, but it does much better.

In the post we consider:



What is Yggdrasil


Yggdrasil is an overlay network that is designed to embody the concept of zero network configuration — you don’t need to know the routes, you don’t need to configure anything — everything should work out of the box and immediately and it should also scale.

Why is this?


This draws on a separate article, consider briefly:

  1. Troubleshoot current BGP issues
  2. Real zero-conf
  3. Another method of protection against blocking (future) in violation of network connectivity

Where did he come from


Yggdrasil is a continuation of cjdns development, only from a clean slate, the developers participating in the cjdns project at some point decided to separate from the cjdns project and rewrite everything from scratch.

This happened due to disagreements with the founder of cjdns - according to his idea, super nodes should appear in the network, which should contain the complete network map, in their opinion, this path is incorrect and they wanted to keep the network peer-to-peer (when each node is identical in functions to the rest) . In addition, the original network slowly developed due to the chosen development methods and languages, and it could not (in 5 years) reach the support of mobile devices, which is not excusable in the modern world.

Development activity


CJDNS


Yggdrasil


Arceliar - the second developer by the number of commits, just left cjdns and founded together with neilalexander - yggdrasil.

Can you trust him


Yes, the developers are the same.

What is different from cjdns



Why install it right now


280+ nodes are working right now on the network, and they arrive at about 10 nodes a week, the network, like CJDNS, allows you to connect via the usual internet yggdrasil -> Internet -> yggdrasil.

So in the “native” mode, which works great - we install yggdrasil on the home server (for example, raspberry) and make the link yggdrasil -> Internet -> public node yggdrasil.

After that, inside your local network, any user with a client (PC or even iPhone) will detect your raspberry node and connect.

In connection with the future development plans of the Russian Internet, there is a great chance of disrupting international connections (all or almost all), but the Internet is complex, there is always somewhere in the international segment. If you already set up yggdrasil for yourself, then within the network, someone may have access to the public segment, and that’s where traffic will be routed.

Separately, I want to note that the network does not allow access to the normal Internet - only its resources are not TOR, thus the risks of “being a proxy” disappear. All that is transmitted in yggdrasil remains there.

However, if you plan to use the network as a backup source of access for unforeseen situations - this can be done, you can connect to your MTProto Proxy or VPN via yggdrasil.

The scheme will be the next VPN -> Yggdrasil (unknown nodes) -> your VPN -> Internet

IOS support (Yes!)


The network really supports work on iOS, and it works stably, has an auto-connection, on iOS, like 1.1.1.1, it works through the installation of a VPN adapter (links will be lower)

What's in the plans


Plans are based on the developers' Roadmap and Issue from github - planning is underway there.

  1. Android support
  2. Support for auto-connecting between iOS devices even if they are not on the same Wi-Fi network (very cool)
  3. Work through WebSocket as a way to hide network performance

How to setup


The official website provides all instructions yggdrasil-network.imtqy.com/installation.html

Debian / Ubuntu / Raspberry


Add repository keys

gpg --fetch-keys https://neilalexander.s3.eu-west-2.amazonaws.com/deb/key.txt gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add - 

Add a repository

 echo 'deb http://neilalexander.s3.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list sudo apt-get update 

Install

 sudo apt-get install yggdrasil 

The configuration file - /etc/yggdrasil.conf we will talk about it a bit later.

PS: You can download only the package or compile from the source code - instructions here yggdrasil-network.imtqy.com/installation.html

OS X


Download the finished package

 wget https://700-115685026-gh.circle-artifacts.com/0/yggdrasil-0.3.5-macos-amd64.pkg 

Install

 sudo installer -pkg yggdrasil-0.3.5-macos-amd64.pkg -target / 


Or install from the source code yggdrasil-network.imtqy.com/installation-macos-other.html

The configuration file - /etc/yggdrasil.conf .

iOS


Through the iPhone / iPad you need to open the link and agree to testing.

Download TestFlight itunes.apple.com/us/app/testflight/id899247664?mt=8

Install Yggdrasil testflight.apple.com/join/jZNsIkRr

To work correctly, you need to agree on the installation of a VPN adapter

Connect


Install the application?

Go to the public directory of peers and select the closest to him from the point of view of the geography of peers (and preferably a couple).

Now it's time to add "peers", go to /etc/yggdrasil.conf (in the case of iOS on the Peers tab)

and add



On iOS, this can be done in the application interface.

If there are people willing to make public peers in the CIS countries - write in the comments - add to the post and preferably add them to github.

What to see on the net?


Services on the network are described here.

The first place to look is on the network map http: // [21f: dd73: 7cdb: 773b: a924: 7ec0: 800b: 221e] /


You can read more about the network on the website of the network yggdrasil-network.imtqy.com and in the blog .

PS: By the way, quite recently support for cjdns and yggdrasil, the Russian community in Zeronet, was added to ZeroNet .

Source: https://habr.com/ru/post/443934/


All Articles