Yggdrasil Installation Guide

Note: this guide is subjective.

New: Gentoo Linux installation (Scroll down)

Why Yggdrasil? What is Yggdrasil anyways?

  • It's kinda like Tor (after this guide), but faster, fast enough to play games
  • You can host websites and servers for free without giving away your real IP
  • Yggdrasil is more secure than the WWW (World Wide Web) and could even replace it
  • In a dystopian scenario where our government becomes the next China and censors our internet, you would still be able to enjoy a free and open internet
  • Yggdrasil is easy to use -- it doesn't require proxying (like i2p or SOCKS5)

Yggdrasil is sort of a dark mesh net, or a private network, but decentralized, meaning, it's made up of users, between users, and not a central server. Each connection is encrypted. The simplest way to put it, is, 'Encrypted IPv6'. Yggdrasil is the World Tree from Norse mythology, which connects all the realms together. Pronounced eeg-druh-zil.


Fast, step by step installation (Windows)


1. Download the 64-bit .msi file: (direct link to file)

2. Double click the downloaded file to install

Hit yes if prompted by UAC (or just run as administrator)

3. Open command prompt as administrator


This is how:

Windows 7:

  • Start > All Programs > Accessories > Right click Command Prompt > Run as administrator

Windows 10:

  • Start > Type 'cmd' > Right click Command Prompt > Run as administrator

Cortana is intertwined with the start menu in stock Windows 10; everything you do in it is recorded. Try LTSC and/or Classic Shell if this concerns you.

  • Click 'Yes' if prompted by UAC

4. Type/paste these into command prompt

This goes to the yggdrasil installation folder:

cd C:\Program Files\Yggdrasil

This opens Windows' file explorer in that folder (the period is supposed to be there):

explorer .

This generates the config file for Yggdrasil:

yggdrasil.exe -genconf >> yggdrasil.conf

Open the config file in notepad:

notepad yggdrasil.conf

5. Add peers

The following peerlist worked for me, but you can find more peers here. Peers are your equals, who are running Yggdrasil as well, which is a peer-to-peer network.

Change this:

Peers: []

To this:

  Peers: [
    tcp://104.248.104.141:59168
    tcp://50.236.201.218:56088
    tcp://45.76.166.128:12345
    tcp://45.77.107.150:34660
    tcp://67.205.187.55:19103
    tcp://108.175.10.127:61216
    tcp://198.58.100.240:44478
    tcp://104.225.221.17:59323
    tcp://167.88.124.177:12345
  ]

6. Block directly connected peers (optional)

This will add some security and anonymity. Make sure these settings are in the config:

SessionFirewall:
{
  # ...
  Enable: true
  AllowFromDirect: false
  AllowFromRemote: true
}

Finally, save your work (ctrl+s) and exit notepad. (alt+f4)

7. Copy your config file to be used by the Windows service

Type/paste this into command prompt:

copy yggdrasil.conf C:\ProgramData\Yggdrasil\yggdrasil.conf

8. Restart Yggdrasil service

  • Task Manager > Services > Scroll all the way to the bottom > Right click Yggdrasil > Restart

Repeat steps 6-8 if you make any additional changes in yggdrasil.conf

9. Use Yggdrasil!

Connect to any of these websites in your browser (or ping them) to see if Yggdrasil works:

Enjoy fast encrypted IPv6 network with indirectly connected peers.


Fast, step by step installation ~~(Gentoo Linux)~~

(Guide for any non-systemd distro)

see official Gentoo guide


1. Download the 0.3.14 linux-amd64 executable binary: (direct link to file)

In case you don't trust: The download link was from here

  • SHA512: 185e859bd84b79c97ebd24820e1fae37ec63c89d747e401022cc48fd896118b26f534001375c3cae2515b49250d4873c44314859d5cff19273987d1c23517b98
  • MD5: 2ea5ddc60a5dcab53f64f772e495aa92

2. Make the compiled Go binary executable

chmod +x yggdrasil-0.3.14-linux-amd64

3. Generate the configuration file and save it

./yggdrasil-0.3.14-linux-amd64 -genconf >> yggdrasil.conf

4. Add peers

The following peerlist worked for me, but you can find more peers here.

Change this:

Peers: []

To this:

  Peers: [
    tcp://104.248.104.141:59168
    tcp://50.236.201.218:56088
    tcp://45.76.166.128:12345
    tcp://45.77.107.150:34660
    tcp://67.205.187.55:19103
    tcp://108.175.10.127:61216
    tcp://198.58.100.240:44478
    tcp://104.225.221.17:59323
    tcp://167.88.124.177:12345
  ]

There are also tor and loki peers available! Not recommended for servers, but it should still be known that such a configuration exists:

  Peers: [
    tcp://azxoy94ffnnqa54pqxhmoc6geaigdrqqkwxzk3jiafazo8x8a73o.loki:13000
    socks://localhost:9050/ruoqfb5l2n55x62gu4qsooqm6yamnkjnbqmr6xbxppkxbccgyvioc3ad.onion:5050
    socks://localhost:9050/yggnekkmyitzepgl5ltdl277y5wdg36n4pc45sualo3yesm3usnuwyad.onion:1863
    socks://localhost:9050/x7dqdmjb7y5ykj4kgirwzj62wrrd3t5dv57oy7oyidnf7cpthd4k7ryd.onion:5222
    socks://localhost:9050/nxuwjikhsirri2rbrdlphstsn3jr2qzjrsylwkt65rh2miycr5n24tid.onion:706
    socks://localhost:9050/fllrj72kxnenalmmi3uz22ljqnmuex4h2jlhwnapxlzrnn7lknadxuqd.onion:706
    socks://localhost:9050/xvkw4rj7wzy7t75kkanr54zftudlbtpjbavxcsri5irkavclynaw3xqd.onion:1234
    socks://localhost:9050/b4phzuxbgpcr34nvhlz5hsenoppszlwvskbdkru2a3o6e5dnkaezyiid.onion:1478
  ]

4b. Add listeners if your machine is a server

In Listen: [], add this: tcp://0.0.0.0:0 or tcp://[::]:0 to listen on all interfaces.

5. Block directly connected peers (optional)

This will add some security and anonymity. Make sure these settings are in the config:

SessionFirewall:
{
  # ...
  Enable: true
  AllowFromDirect: false
  AllowFromRemote: true
}

Note that if you're using tor and loki peers, blocking directly connected peers would slow down things and would be somewhat pointless since you're already supposedly anonymous anyways.

6. Run Yggdrasil!

# ./yggdrasil-* -useconffile yggdrasil.conf

Very very helpful tips, please read

There is no yggdrasil service for OpenRC, Runit, etc. yet, so to make it run a bit more like a service (having no open terminal around with it running), I usually open byobu (tmux but better), run yggdrasil there, and then detach the session (F6), which basically closes byobu but leaves the byobu session open in the background, including yggdrasil.

Another pro tip is to add it as an alias of course!

alias startygg='cd ~/.yggdrasil && doas ./yggdrasil-* -useconffile yggdrasil.conf'

I have the yggdrasil binary and config in ~/.yggdrasil, and I use doas instead of sudo.

In Gentoo, you can install it with emerge -av app-admin/doas. After that, type: echo 'permit keepenv :wheel' >> /etc/doas.conf, and you're all set! Way simpler and more secure than sudo, and Portage makes it easy to install!

install gentoo