CJDNS is dead, long live Yggdrasil


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

    Moreover, the network can simultaneously work in two modes - via the Internet and without the Internet, connecting directly to physically neighboring peers (via Ethernet, Wi-Fi or Bluetooth) operating at the 3rd level of the OSI model .

    Apple devices use the AWDL protocol.
    The latest news about the cjdns network dates back to 2017, it may seem that the network has died and development has stopped (in fact, yes), but there is an impostor - Yggdrasil, which almost completely copies cjdns but does it much better.

    In a post we will consider:

    • What is Yggdrasil
    • Why is it necessary
    • Where did he come from
    • Can you trust him
    • What is the difference from cjdns
    • Why install it right now
    • IOS Support (Yes!)
    • What's up
    • How to setup

    What is Yggdrasil

    Yggdrasil is an overlay network that is designed to implement the concept of zero network configuration - you do not need to know the routes, you do not need to configure anything - everything should work out of the box and at once it should be scaled.

    Why is this?

    This draws to a separate article, take a brief look:

    1. Troubleshooting Current BGP Issues
    2. Real zero-conf
    3. Another method of protection against locks (future) with a violation of network connectivity

    Where did he come from

    Yggdrasil is a continuation of the development of cjdns, only from scratch, the developers involved 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 on the network, which should contain a full network map, in their opinion, this path was wrong and they wanted to keep the peer-to-peer network (when each node is identical in function with the rest) . In addition, the original network was slowly developing due to the chosen development methods and languages, and it was not able (in 5 years) to get to the support of mobile devices, which in the modern world is not excusable.

    Development Activity



    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 the difference from cjdns

    • Peer-to-peer network
    • There is support for a large number of devices (even iOS!)
    • There is an official repository of public sites
    • You can connect to the node without a private key (or you can with it of course) - public nodes use the connection without
    • Language Used - Go
    • There are ready-made packages for most systems
    • Finer and more comfortable settings
    • Faster development

    Why install it right now

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

    So in the "native" mode, which works fine - install yggdrasil on a home server (for example raspberry) and make the link yggdrasil -> Internet -> yggdrasil public node.

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

    In connection with future development plansRunet, there is a big chance of violating international relations (all or almost all), however the Internet thing is complicated, there is always somewhere somewhere in the international segment. If you install yggdrasil now, then within the network, someone may still have access to the public segment, and through it the traffic will be routed.

    I would also like to note separately that the network does not allow access to the regular Internet - only its own resources are not TOR, so the risks of being a proxy disappear. Everything that is transferred to yggdrasil remains there.

    However, if you plan to use the network as a backup source of access in case of unforeseen situations, it is quite possible to do this, you can connect to your MTProto Proxy or VPN through yggdrasil.

    The scheme will be the following VPN -> Yggdrasil (nodes unknown to you) -> your VPN -> Internet

    IOS Support (Yes!)

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

    What's up

    Plans are based on Roadmap developers and Issue with github - there is planning

    1. Android support
    2. Support auto-connect 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 the network

    How to setup

    The official site provides all the instructions yggdrasil-network.github.io/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 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


    sudo apt-get install yggdrasil

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

    PS: You can only download the package or compile from source codes - the instruction here is yggdrasil-network.github.io/installation.html

    OS X

    Download the finished package

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


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

    Or install from the source code yggdrasil-network.github.io/installation-macos-other.html

    Configuration file - /etc/yggdrasil.conf.


    Via the iPhone / iPad you need to open the link and agree to the test

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

    Install Yggdrasil testflight.apple.com/join/jZNsIkRr

    For correct operation, you need to agree to install the VPN adapter


    Have you installed the app?

    We go to the public catalog of peers and select the peers closest to us in terms of geography (or rather a couple).

    Now it’s time to add “peers”, go to /etc/yggdrasil.conf (in the case of iOS, the Peers tab)

    and add it

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

    If in the CIS countries there are people who want to make public feasts - 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 thing to look at is on the network map http: // [21f: dd73: 7cdb: 773b: a924: 7ec0: 800b: 221e] /

    You can read more about the network on the yggdrasil-network.github.io network website and on the blog .

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

    Also popular now: