2019-09-10 18:08:45 +02:00
# ZeroNet [![Build Status](https://travis-ci.org/HelloZeroNet/ZeroNet.svg?branch=py3)](https://travis-ci.org/HelloZeroNet/ZeroNet) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://zeronet.io/docs/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://zeronet.io/docs/help_zeronet/donate/)
2016-10-18 10:06:58 +02:00
2016-02-20 14:26:07 +01:00
Decentralized websites using Bitcoin crypto and the BitTorrent network - https://zeronet.io
2015-01-12 20:35:23 +01:00
2015-01-12 11:36:21 +01:00
## Why?
2015-02-18 15:45:08 +01:00
2016-04-18 00:37:23 +02:00
* We believe in open, free, and uncensored network and communication.
2016-03-02 12:50:36 +01:00
* No single point of failure: Site remains online so long as at least 1 peer is
2015-02-18 15:45:08 +01:00
serving it.
* No hosting costs: Sites are served by visitors.
* Impossible to shut down: It's nowhere because it's everywhere.
2016-03-02 12:50:36 +01:00
* Fast and works offline: You can access the site even if Internet is
2015-02-18 15:45:08 +01:00
unavailable.
2015-01-12 11:36:21 +01:00
2015-01-12 03:18:50 +01:00
2015-04-20 22:31:29 +02:00
## Features
* Real-time updated sites
* Namecoin .bit domains support
* Easy to setup: unpack & run
2015-08-16 11:51:00 +02:00
* Clone websites in one click
* Password-less [BIP32 ](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki )
2016-03-02 12:50:36 +01:00
based authorization: Your account is protected by the same cryptography as your Bitcoin wallet
2015-04-20 22:31:29 +02:00
* Built-in SQL server with P2P data synchronization: Allows easier site development and faster page load times
2016-03-02 12:50:36 +01:00
* Anonymity: Full Tor network support with .onion hidden services instead of IPv4 addresses
2015-06-15 02:51:51 +02:00
* TLS encrypted connections
2016-03-02 12:50:36 +01:00
* Automatic uPnP port opening
2015-04-20 22:31:29 +02:00
* Plugin for multiuser (openproxy) support
2015-04-21 00:35:34 +02:00
* Works with any browser/OS
2015-08-16 11:51:00 +02:00
2015-04-20 22:31:29 +02:00
2015-01-13 10:56:47 +01:00
## How does it work?
2015-02-18 15:45:08 +01:00
* After starting `zeronet.py` you will be able to visit zeronet sites using
2015-08-16 11:51:00 +02:00
`http://127.0.0.1:43110/{zeronet_address}` (eg.
2016-02-20 14:26:07 +01:00
`http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D` ).
2015-02-18 15:45:08 +01:00
* When you visit a new zeronet site, it tries to find peers using the BitTorrent
network so it can download the site files (html, css, js...) from them.
2016-03-02 12:50:36 +01:00
* Each visited site is also served by you.
* Every site contains a `content.json` file which holds all other files in a sha512 hash
and a signature generated using the site's private key.
2015-02-18 15:45:08 +01:00
* If the site owner (who has the private key for the site address) modifies the
site, then he/she signs the new `content.json` and publishes it to the peers.
2016-03-02 12:50:36 +01:00
Afterwards, the peers verify the `content.json` integrity (using the
2015-02-18 15:45:08 +01:00
signature), they download the modified files and publish the new content to
other peers.
2015-04-28 00:43:17 +02:00
#### [Slideshow about ZeroNet cryptography, site updates, multi-user sites »](https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&loop=false&delayms=3000)
2018-11-08 02:43:51 +01:00
#### [Frequently asked questions »](https://zeronet.io/docs/faq/)
2015-01-12 03:18:50 +01:00
2018-11-08 02:43:51 +01:00
#### [ZeroNet Developer Documentation »](https://zeronet.io/docs/site_development/getting_started/)
2015-01-12 20:35:23 +01:00
2015-01-12 11:55:37 +01:00
2015-04-08 01:19:56 +02:00
## Screenshots
2016-02-20 14:26:07 +01:00
![Screenshot ](https://i.imgur.com/H60OAHY.png )
2018-11-08 02:43:51 +01:00
![ZeroTalk ](https://zeronet.io/docs/img/zerotalk.png )
2015-04-08 01:19:56 +02:00
2018-11-08 02:43:51 +01:00
#### [More screenshots in ZeroNet docs »](https://zeronet.io/docs/using_zeronet/sample_sites/)
2015-01-12 03:18:50 +01:00
2015-01-12 20:35:23 +01:00
2016-03-02 12:50:36 +01:00
## How to join
2015-01-21 12:58:26 +01:00
2019-07-08 02:41:30 +02:00
### Windows
2015-04-11 12:36:44 +02:00
2019-07-08 02:51:16 +02:00
- Download [ZeroNet-py3-win64.zip ](https://github.com/HelloZeroNet/ZeroNet-win/archive/dist-win64/ZeroNet-py3-win64.zip ) (18MB)
2019-07-08 02:41:30 +02:00
- Unpack anywhere
- Run `ZeroNet.exe`
2019-09-10 18:16:02 +02:00
2019-11-06 23:26:52 +01:00
### macOS
- Download [ZeroNet-dist-mac.zip ](https://github.com/HelloZeroNet/ZeroNet-dist/archive/mac/ZeroNet-dist-mac.zip ) (13.2MB)
- Unpack anywhere
- Run `ZeroNet.app`
2019-09-10 18:16:02 +02:00
### Linux (x86-64bit)
- `wget https://github.com/HelloZeroNet/ZeroNet-linux/archive/dist-linux64/ZeroNet-py3-linux64.tar.gz`
- `tar xvpfz ZeroNet-py3-linux64.tar.gz`
- `cd ZeroNet-linux-dist-linux64/`
- Start with: `./ZeroNet.sh`
- Open the ZeroHello landing page in your browser by navigating to: http://127.0.0.1:43110/
__Tip:__ Start with `./ZeroNet.sh --ui_ip '*' --ui_restrict your.ip.address` to allow remote connections on the web interface.
### Install from source
- `wget https://github.com/HelloZeroNet/ZeroNet/archive/py3/ZeroNet-py3.tar.gz`
- `tar xvpfz ZeroNet-py3.tar.gz`
- `cd ZeroNet-py3`
- `sudo apt-get update`
- `sudo apt-get install python3-pip`
- `sudo python3 -m pip install -r requirements.txt`
- Start with: `python3 zeronet.py`
- Open the ZeroHello landing page in your browser by navigating to: http://127.0.0.1:43110/
2016-03-02 11:24:06 +01:00
2015-01-17 18:50:56 +01:00
## Current limitations
2015-02-18 15:45:08 +01:00
2017-10-15 04:40:44 +02:00
* ~~No torrent-like file splitting for big file support~~ (big file support added)
2016-01-22 00:14:01 +01:00
* ~~No more anonymous than Bittorrent~~ (built-in full Tor support added)
* File transactions are not compressed ~~or encrypted yet~~ (TLS encryption added)
2015-02-18 15:45:08 +01:00
* No private sites
2015-01-17 18:50:56 +01:00
2015-01-12 20:35:23 +01:00
## How can I create a ZeroNet site?
2015-02-18 15:45:08 +01:00
2015-01-27 22:37:13 +01:00
Shut down zeronet if you are running it already
2015-02-18 15:45:08 +01:00
```bash
2015-01-12 20:35:23 +01:00
$ zeronet.py siteCreate
...
- Site private key: 23DKQpzxhbVBrAtvLEc2uvk7DZweh4qL3fn3jpM3LgHDczMK2TtYUq
- Site address: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2
...
- Site created!
$ zeronet.py
...
```
2015-02-18 15:45:08 +01:00
Congratulations, you're finished! Now anyone can access your site using
2019-11-06 23:26:52 +01:00
`http://127.0.0.1:43110/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2`
2015-01-12 20:35:23 +01:00
2018-11-08 02:43:51 +01:00
Next steps: [ZeroNet Developer Documentation ](https://zeronet.io/docs/site_development/getting_started/ )
2015-01-18 22:52:19 +01:00
2015-01-17 18:50:56 +01:00
2015-01-12 20:35:23 +01:00
## How can I modify a ZeroNet site?
2015-02-18 15:45:08 +01:00
* Modify files located in data/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 directory.
After you're finished:
```bash
2015-01-12 20:35:23 +01:00
$ zeronet.py siteSign 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2
- Signing site: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2...
Private key (input hidden):
```
2015-02-18 15:45:08 +01:00
2015-09-07 08:00:04 +02:00
* Enter the private key you got when you created the site, then:
2015-02-18 15:45:08 +01:00
```bash
2015-01-12 20:35:23 +01:00
$ zeronet.py sitePublish 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2
...
Site:13DNDk..bhC2 Publishing to 3/10 peers...
Site:13DNDk..bhC2 Successfuly published to 3 peers
- Serving files....
```
2015-02-18 15:45:08 +01:00
* That's it! You've successfully signed and published your modifications.
2015-01-13 00:29:40 +01:00
2015-01-17 18:50:56 +01:00
2016-03-06 02:34:24 +01:00
## Help keep this project alive
2015-01-13 00:29:40 +01:00
2015-11-13 01:49:06 +01:00
- Bitcoin: 1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX
2018-11-08 02:43:51 +01:00
- Paypal: https://zeronet.io/docs/help_zeronet/donate/
2015-01-13 00:29:40 +01:00
2015-08-09 02:18:11 +02:00
### Sponsors
2017-11-19 10:56:53 +01:00
* Better macOS/Safari compatibility made possible by [BrowserStack.com ](https://www.browserstack.com )
2015-01-15 23:24:51 +01:00
2015-01-18 22:52:19 +01:00
#### Thank you!
2015-01-17 18:50:56 +01:00
2016-02-20 14:26:07 +01:00
* More info, help, changelog, zeronet sites: https://www.reddit.com/r/zeronet/
2015-02-26 01:32:27 +01:00
* Come, chat with us: [#zeronet @ FreeNode ](https://kiwiirc.com/client/irc.freenode.net/zeronet ) or on [gitter ](https://gitter.im/HelloZeroNet/ZeroNet )
2017-01-15 16:01:36 +01:00
* Email: hello@zeronet.io (PGP: CB9613AE)