ZeroNet Blogs

Static ZeroNet blogs mirror

Adding images to posts

- Posted in Geekless.Blog by with comments

Just noticed, that adding images on ZeroBlog can be somewhat unobvious for new users.

1. Enter the post editing mode. 2. Press Enter to get to an empty line. 3. The blue plus sign appears. Press it. add-image-1.png (477x213) 4. Press the rightmost icon on the bar to add an image. add-image-2.png

Cleaning up ZeroNet spam

- Posted in Kaffie's Blog by with comments

Yesterday ZeroNet was hit by quite a few chinese spammers, who intended to clutter ZeroNet with junk and attempt to smear/slander it. Naturally there's built in support to mute users, but it can take time for everyone to do that (or to ban them from the sites).

So instead I went ahead and set up a list you can follow to automatically mute any spammers and clean up your ZeroNet experience. You can find that here.

As always thanks for following and supporting my work!

<3 Kaffie

Using CJDNS with ZeroNet

- Posted in Kaffie's Blog by with comments

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

Version 0.6.5

- Posted in ZeroBlog by with comments


  • IPv6 support in peer exchange, bigfiles, optional file finding, tracker sharing, socket listening and connecting (based on tangdou1 modifications)
  • New tracker database format with IPv6 support
  • Refactored port open checking with IPv6 support
  • Display notification if there is an unpublished modification for your site
  • Consider non-local IPs as external even is the open port check fails (for CJDNS and Yggdrasil support)
  • Listen and shut down normally for SIGTERM (Thanks to blurHY)
  • Check the length of master seed when executing cryptGetPrivatekey CLI command
  • Only reload source code on file modification / creation
  • Add IPv6 tracker and change unstable tracker
  • Support tilde ~ in filenames (by d14na)
  • Detection and issue warning for latest no-script plugin
  • Don't correct sent local time with the calculated time correction
  • Support map for Namecoin subdomain names (Thanks to lola)
  • Add log level to config page
  • Don't show meek proxy option if the tor client does not supports it
  • Quick check content.db on startup and rebuild if necessary
  • Only support CREATE commands in dbschema indexes node and SELECT from storage.query
  • Support {data} for data dir variable in trackers_file value
  • Disable CSP for Edge

  • Fix site cloning before site downloaded (Reported by unsystemizer)

  • Fix queryJson for non-list nodes (Reported by MingchenZhang)

  • Fix multi-line parsing of zeronet.conf (Reported by xx)

  • Fix site deletion from users.json
  • Fix sql queries with lots of variables and sites with lots of content.json (Reported by xx)
  • Fix atomic write of a non-existent file


  • Add separate IPv6 and IPv4 port open status
  • Fix display of IPv6 trackers
  • Hint about search in sites
  • Wait longer delay after typing if you have many sites in your client
  • Display paused/active status of optional files in the Files tab

Python3 support is still in the works (and it's no.1 priority now), but it requires more modifications, than I originally thought, so I prioritized IPv6 over it.