ZeroNet Blogs

Static ZeroNet blogs mirror

Using CJDNS with ZeroNet

- Posted in Kaffie's Blog by

Noticed people haven't really been setting up cjdns for use with ZeroNet, despite the fact that it's now supported fully. Perhaps due to lack of awareness, or just general ignorance on how to set it all up. I think some are hesitant because they believe you need ipv6 support (which is untrue). So without further ado, here's a walkthrough on how to do it.

1. Install CJDNS

First things first is that you actually need cjdns installed. There's no need to worry about whether you have native ipv6 support, as cjdns doesn't use it (unless that's your chosen option for connecting to peers).

For windows, just download and install this. Following the steps in the guide should make it very easy to set it up.

For Mac use either brew install cjdns or sudo port install cjdns depending on whether you use homebrew or macports. If you have neither, you can set up homebrew by running:

/usr/bin/ruby -e "$(curl -fsSL <">

Generate a new config file by running ./cjdroute --genconf >> cjdroute.conf this will create a configuration file that you can edit. When you finish editing, you can use sudo ./cjdroute < cjdroute.conf to launch and run cjdns.

You'll want to add a peer that's connected to the hyperboria network already, though if you just want private use you can connect to a friend or whoever is on the cjdns network you want to use ZeroNet on. LAN peers are auto-configured.

One such public peer that you can use is:

"": {
                       "login": "default-login",

You'll want to put this in the section of the config where it says "connectTo":, inside of the brackets.

For more details you can see the cjdns github page.

Be sure to note down your cjdns ipv6 which is located under the ipv6 field at the top of the config file.

2. Configure ZeroNet

This part is pretty straight forward. If you wish to become a tracker/bootstrapped node (very needed as we don't have cjdns trackers), then go into the ZeroNet plugins folder and rename disabled-bootstrapper to bootstrapper.

In ZeroNet.conf you'll want to add your ipv6 to the ip_external section. It might be good to change fileserver_ip_type over to ipv6 as well, though that step may be optional. You can also do this on the config page if a gui is more your speed. When all is said and done your config file should look something like this:

ip_external =
fileserver_ip_type = ipv6
trackers = 
fileserver_port = 15441
optional_limit = 1.83

And that's it! Just restart ZeroNet and you should be set up, with your ZeroNet now working with cjdns peers. Be sure to share your cjdns ipv6 if you decided to set up a bootstrapped node so that others may connect to it. It also might be a good idea to look around and find other cjdns peers (and share peering info here on ZN). You can find other cjdns nodes (and try to see if they have a cjdns site hosted) on this site.

To test to ensure cjdns is connected properly you can visit cel's hyperboria site or ping the ip directly using ping6 fc56:8313:1e14:1a50:c01:850:a53e:7127

There's a bootstrapped cjdns node at zero://fc2a:e8f2:3f9c:52e5:5c2f:da95:9213:7bd7:15441 but it's not on 24/7 and more bootstrappers would be greatly appreciated.

zero://fc18:e736:105d:d49a:2ab5:14a2:698f:7021:15441 is now up and works.

Enjoy using cjdns!

<3 Kaffie