ZeroNet: Decentralized Censorship-resistant Network

ZeroNet - Decentralized websites


The ZeroNet wiki describes the software design: [1]

ZeroNet uses Bitcoin cryptography and BitTorrent technology to build a decentralized censorship-resistant network. Users can publish static or dynamic websites in ZeroNet and visitors can choose to also serve the website. Websites will remain online even if it is being served by only one peer.

This means users do not have an IP address, since they are identified by a public key - specifically a Bitcoin address. The private key owner can sign and publish changes, which are propagated through the network. Sites are accessed through an ordinary browser in combination with the Zeronet application. [2] The BitTorrent technology refers to the use of trackers to negotiate peer connections. [3] ZeroNet can be optionally configured to use Tor for anonymity. [4]

The Zeronet wiki describes various features and benefits, including: [1]

  • Password-less authorization - the user account is protected by the same cryptography that applies to Bitcoin wallets.
  • Easy setup. [5]
  • Immediate updating of sites in real time.
  • Works with any browser.
  • Full Tor network support, including onion services.
  • Content cannot be censored (removed) after publication.
  • It is impossible to shut down content, since content is served by any user who wishes to.
  • ZeroNet is fast and works offline.

Connecting to Tor before ZeroNet[edit]

These instructions lead to the following connection scheme in Whonix:

User -> Tor -> ZeroNet -> Internet


ZeroNet is not yet packaged for Debian, so it must be manually installed. [6] [7]

onion-grater Adjustments[edit]

Complete the following steps in Whonix-Gateway (sys-whonix).

Extend onion-grater Whitelist

On Whonix-Gateway.

Create a new directory. [8]

sudo mkdir -p /usr/local/etc/onion-grater-merger.d/

Symlink the onion-grater profile to the onion-grater settings folder.

sudo ln -s /usr/share/onion-grater-merger/examples/40_zeronet.yml /usr/local/etc/onion-grater-merger.d/

Restart onion-grater.

sudo service onion-grater restart

Install Dependencies[edit]

To download and verify ZeroNet via git, run the following commands in Whonix-Workstation (whonix-ws-14) terminal.

Update the package lists.

sudo apt-get update

Install git, python-msgpack and python-gevent.

sudo apt-get install git python-msgpack python-gevent

Install ZeroNet[edit]

Qubes-Whonix: This step can be completed in the ZeroNet qube (AppVM; anon-whonix-zeronet).

Retrieve the ZeroNet signing key. [9]

gpg --recv-keys "960F FF2D 6C14 5AA6 13E8 491B 5B63 BAE6 CB96 13AE"

Download ZeroNet.

git clone

Navigate to the ZeroNet folder.

cd ZeroNet

Check the ZeroNet signature.

git log --show-signature

Launch ZeroNet[edit]


./ --tor always --fileserver_ip $(qubesdb-read /qubes-ip)


./ --tor always --fileserver_ip

Note: The following steps will no longer be required once Whonix releases a custom Tor Browser for connecting to alternative networks. [10]

Configure Tor Browser to connect to localhost.

In Tor Browser:

  1. Type about:config into the URL bar.
  2. Press Enter
  3. Search for network.proxy.no_proxies_on
  4. Set to 0

Start Tor Browser.

If you are using Qubes-Whonix.

Qubes Start Menu -> Whonix-Workstation AppVM (commonly called anon-whonix) -> Tor Browser

If you are using Non-Qubes-Whonix.

Start Menu -> Tor Browser

If you are using a terminal (Konsole).


Navigate to the ZeroNet web interface. Paste into Tor Browser's URL field and press enter. For additional tips on visiting sites, see: How does it work?

The process is now complete and ZeroNet should be fully functional in Whonix. [11]


  1. 1.0 1.1
  2. ZeroNet acts as a local webhost for these pages.
  5. Although the Chinese government has blocked the ZeroNet website and bittorrent tracker.
  8. Using /usr/local/etc/onion-grater-merger.d/ because that onion-grater settings folder is persistent in Qubes-Whonix TemplateBased ProxyVMs, i.e. Whonix-Gateway (commonly called sys-whonix). Non-Qubes-Whonix users could also use /etc/onion-grater-merger.d/. Qubes-Whonix users could also use /etc/onion-grater-merger.d/ but then users would have to make /etc/onion-grater-merger.d/ persistent, which would require doing this inside the Whonix-Gateway TemplateVM (commonly called whonix-gw-14) and restart their Whonix-Gateway ProxyVM or to use bind-dirs. Both is more complicated than simply using /usr/local/etc/onion-grater-merger.d/ which is persistent either way and even allows multiple Whonix-Gateway ProxyVMs based on the same Whonix-Gateway TemplateVM for lets say one Whonix-Gateway ProxyVM extending and relaxing onion-grater's whitelist and the other Whonix-Gateway ProxyVM with the default more restricted onion-grater whitelist.
  10. Except in the case of YaCy, which needs internet access.
  11. Functionality was last confirmed in May 2018.

Random News:

Please help in testing new features and bug fixes in Whonix.

https | (forcing) onion

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Libre Software license as Whonix itself. (Why?)