diff --git a/README.md b/README.md new file mode 100644 index 00000000..76f1e0b1 --- /dev/null +++ b/README.md @@ -0,0 +1,184 @@ +# ZeroNet [![Build Status](https://travis-ci.org/HelloZeroNet/ZeroNet.svg?branch=master)](https://travis-ci.org/HelloZeroNet/ZeroNet) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://zeronet.readthedocs.org/en/latest/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://zeronet.readthedocs.org/en/latest/help_zeronet/donate/) + +使用 Bitcoin 加密 BitTorrent 网络的去中心化网站 - https://zeronet.io + + +## 为什么? + +* 我们相信开放,自由,无审查的网络 +* 不会受单点故障影响:只要有在线的节点,站点就会保持在线 +* 无托管费用: 站点由访问者托管 +* 无法关闭: 因为节点无处不在 +* 快速并可离线运行: 即使没有互联网链接也可以访问 + + +## 功能 + * 实时站点更新 + * 支持 Namecoin 的 .bit 域名 + * 安装方便: 只需解压并运行 + * 一键克隆存在的站点 + * 无需密码 基于 [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) 的认证 +你的账户被使用和比特币钱包相同的加密方法 + * 内建 SQL 服务器和 P2P 数据同步: 让开发更简单并提升加载速度 + * 匿名性: 完整的 Tor 网络支持和在 IPV4 中的 .onion 隐蔽服务 + * TLS 加密连接 + * 自动打开 uPnP 端口 + * 插件和多用户 (开放式代理) 支持 + * 全平台兼容 + + +## 原理 + +* 在你运行`zeronet.py`后你将可以通过`http://127.0.0.1:43110/{zeronet_address}` (比如. +`http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D`)。访问 zeronet 中的站点。 + +* 在你浏览 zeronet 站点时,客户端会尝试通过 BitTorrent 网络来寻找可用的节点,从而下载需要的文件 (html, css, js...) + +* 你将会储存每一个浏览过的站点 +* 每个站点都包含一个名为 `content.json` ,它储存了其他所有文件的 sha512 hash 值 + 和一个通过站点私钥建立的签名 +* 如果站点的所有者 (拥有私钥的那个人) 修改了站点, 并且他/她签名了新的 `content.json` 然后推送至其他节点, +那么所有节点将会在验证 `content.json` 的真实性 (使用签名)后, 下载修改后的文件并推送至其他节点。 + +#### [有关于 ZeroNet 加密, 站点更新, 多用户站点的幻灯片 »](https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&loop=false&delayms=3000) +#### [常见问题 »](https://zeronet.readthedocs.org/en/latest/faq/) + +#### [ZeroNet开发者文档 »](https://zeronet.readthedocs.org/en/latest/site_development/getting_started/) + + +## 屏幕截图 + +![Screenshot](https://i.imgur.com/H60OAHY.png) +![ZeroTalk](https://zeronet.readthedocs.org/en/latest/img/zerotalk.png) + +#### [在 ZeroNet 文档里查看更多的屏幕截图 »](https://zeronet.readthedocs.org/en/latest/using_zeronet/sample_sites/) + + +## 如何加入 ? + +* 下载 ZeroBundle 文件包: + * [Microsoft Windows](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-win.zip) + * [Apple OS X](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-mac-osx.zip) + * [Linux 64bit](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux64.tar.gz) + * [Linux 32bit](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux32.tar.gz) +* 解压缩 +* 运行 `ZeroNet.cmd` (win), `ZeroNet(.app)` (osx), `ZeroNet.sh` (linux) + +如果你在 OS X 上遇到了 "classic environment no longer supported" 错误,请打开一个终端然后把 ZeroNet.app 拖进去 + +在你打开时他将会自动下载最新版本的 ZeroNet 。 + +### Linux 命令行 + +* `wget https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux64.tar.gz` +* `tar xvpfz ZeroBundle-linux64.tar.gz` +* `cd ZeroBundle` +* 执行 `./ZeroNet.sh` 来启动 + +在你打开时他将会自动下载最新版本的 ZeroNet 。 + +#### 在 Debian Linux 中手动安装 + +* `sudo apt-get update` +* `sudo apt-get install msgpack-python python-gevent` +* `wget https://github.com/HelloZeroNet/ZeroNet/archive/master.tar.gz` +* `tar xvpfz master.tar.gz` +* `cd ZeroNet-master` +* 执行 `python zeronet.py` 来启动 +* 在你的浏览器中打开 http://127.0.0.1:43110/ + + +### [Vagrant](https://www.vagrantup.com/) + +* `vagrant up` +* 通过 `vagrant ssh` 连接到 VM +* `cd /vagrant` +* 运行 `python zeronet.py --ui_ip 0.0.0.0` +* 在你的浏览器中打开 http://127.0.0.1:43110/ + +### [Docker](https://www.docker.com/) +* `docker run -d -v :/root/data -p 15441:15441 -p 43110:43110 nofish/zeronet` +* 这个 Docker 镜像包含了 Tor ,但默认是禁用的,因为一些托管商不允许你在他们的服务器上运行 Tor。如果你希望启用它, +设置 `ENABLE_TOR` 环境变量为 `true` (默认: `false`). E.g.: + + `docker run -d -e "ENABLE_TOR=true" -v :/root/data -p 15441:15441 -p 43110:43110 nofish/zeronet` +* 在你的浏览器中打开 http://127.0.0.1:43110/ + +### [Virtualenv](https://virtualenv.readthedocs.org/en/latest/) + +* `virtualenv env` +* `source env/bin/activate` +* `pip install msgpack-python gevent` +* `python zeronet.py` +* 在你的浏览器中打开 http://127.0.0.1:43110/ + +## 现有限制 + +* 没有类似于 Torrent 的文件拆分来支持大文件 +* ~~没有比 Bittorrent 更好的匿名性~~ (已添加内置的完整 Tor 支持) +* 传输文件时没有压缩~~和加密~~ (已添加 TLS 支持) +* No private sites + + +## 如何创建一个 ZeroNet 站点? + + +如果 zeronet 在运行,把它关掉 +执行: +```bash +$ zeronet.py siteCreate +... +- Site private key: 23DKQpzxhbVBrAtvLEc2uvk7DZweh4qL3fn3jpM3LgHDczMK2TtYUq +- Site address: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 +... +- Site created! +$ zeronet.py +... +``` + +你已经完成了! 现在任何人都可以通过 +`http://localhost:43110/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2` +来访问你的站点 + +下一步: [ZeroNet 开发者文档](https://zeronet.readthedocs.org/en/latest/site_development/getting_started/) + + +## 我要如何修改 ZeroNet 站点? + +* 修改位于 data/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 的目录. + 在你改好之后: + +```bash +$ zeronet.py siteSign 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 +- Signing site: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2... +Private key (input hidden): +``` + +* 输入你在创建站点时获得的私钥 + +```bash +$ zeronet.py sitePublish 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 +... +Site:13DNDk..bhC2 Publishing to 3/10 peers... +Site:13DNDk..bhC2 Successfuly published to 3 peers +- Serving files.... +``` + +* 就是这样! 你现在已经成功的签名并推送了你的更改。 + + +## 帮助这个项目 + +- Bitcoin: 1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX +- Paypal: https://zeronet.readthedocs.org/en/latest/help_zeronet/donate/ +- Gratipay: https://gratipay.com/zeronet/ + +### 赞助商 + +* 在 OSX/Safari 下 [BrowserStack.com](https://www.browserstack.com) 带来更好的兼容性 + +#### 感谢! + +* 更多信息, 帮助, changelog, 和 zeronet 站点: https://www.reddit.com/r/zeronet/ +* 在: [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet) 和我们聊天,或者使用 [gitter](https://gitter.im/HelloZeroNet/ZeroNet) +* Email: hello@noloop.me diff --git a/README.zh-cn.md b/README.zh-cn.md deleted file mode 100644 index 3e1cb394..00000000 --- a/README.zh-cn.md +++ /dev/null @@ -1,188 +0,0 @@ -# ZeroNet [![Build Status](https://travis-ci.org/HelloZeroNet/ZeroNet.svg?branch=master)](https://travis-ci.org/HelloZeroNet/ZeroNet) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://zeronet.readthedocs.org/en/latest/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://zeronet.readthedocs.org/en/latest/help_zeronet/donate/) - -使用 BitTorrent 网络和 Bitcoin 加密的去中心化网站 - https://zeronet.io - - -## Why? - -* We believe in open, free, and uncensored network and communication. -* No single point of failure: Site remains online so long as at least 1 peer is - serving it. -* 没有托管费用: 站点由浏览者保存。 -* Impossible to shut down: It's nowhere because it's everywhere. -* Fast and works offline: You can access the site even if Internet is - unavailable. - - -## Features - * Real-time updated sites - * Namecoin .bit domains support - * Easy to setup: unpack & run - * Clone websites in one click - * Password-less [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) - based authorization: Your account is protected by the same cryptography as your Bitcoin wallet - * Built-in SQL server with P2P data synchronization: Allows easier site development and faster page load times - * Anonymity: Full Tor network support with .onion hidden services instead of IPv4 addresses - * TLS encrypted connections - * Automatic uPnP port opening - * Plugin for multiuser (openproxy) support - * Works with any browser/OS - - -## How does it work? - -* After starting `zeronet.py` you will be able to visit zeronet sites using - `http://127.0.0.1:43110/{zeronet_address}` (eg. - `http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D`). -* 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. -* 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. -* 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. - Afterwards, the peers verify the `content.json` integrity (using the - signature), they download the modified files and publish the new content to - other peers. - -#### [Slideshow about ZeroNet cryptography, site updates, multi-user sites »](https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&loop=false&delayms=3000) -#### [Frequently asked questions »](https://zeronet.readthedocs.org/en/latest/faq/) - -#### [ZeroNet Developer Documentation »](https://zeronet.readthedocs.org/en/latest/site_development/getting_started/) - - -## Screenshots - -![Screenshot](https://i.imgur.com/H60OAHY.png) -![ZeroTalk](https://zeronet.readthedocs.org/en/latest/img/zerotalk.png) - -#### [More screenshots in ZeroNet docs »](https://zeronet.readthedocs.org/en/latest/using_zeronet/sample_sites/) - - -## How to join - -* Download ZeroBundle package: - * [Microsoft Windows](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-win.zip) - * [Apple OS X](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-mac-osx.zip) - * [Linux 64bit](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux64.tar.gz) - * [Linux 32bit](https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux32.tar.gz) -* Unpack anywhere -* Run `ZeroNet.cmd` (win), `ZeroNet(.app)` (osx), `ZeroNet.sh` (linux) - -If you get "classic environment no longer supported" error on OS X: Open a Terminal window and drop ZeroNet.app on it - -It downloads the latest version of ZeroNet then starts it automatically. - -### Linux terminal - -* `wget https://github.com/HelloZeroNet/ZeroBundle/raw/master/dist/ZeroBundle-linux64.tar.gz` -* `tar xvpfz ZeroBundle-linux64.tar.gz` -* `cd ZeroBundle` -* Start with `./ZeroNet.sh` - -It downloads the latest version of ZeroNet then starts it automatically. - -#### Manual install for Debian Linux - -* `sudo apt-get update` -* `sudo apt-get install msgpack-python python-gevent` -* `wget https://github.com/HelloZeroNet/ZeroNet/archive/master.tar.gz` -* `tar xvpfz master.tar.gz` -* `cd ZeroNet-master` -* Start with `python zeronet.py` -* Open http://127.0.0.1:43110/ in your browser - - -### [Vagrant](https://www.vagrantup.com/) - -* `vagrant up` -* Access VM with `vagrant ssh` -* `cd /vagrant` -* Run `python zeronet.py --ui_ip 0.0.0.0` -* Open http://127.0.0.1:43110/ in your browser - -### [Docker](https://www.docker.com/) -* `docker run -d -v :/root/data -p 15441:15441 -p 43110:43110 nofish/zeronet` -* This Docker image includes the Tor proxy, which is disabled by default. Beware that some -hosting providers may not allow you running Tor in their servers. If you want to enable it, -set `ENABLE_TOR` environment variable to `true` (Default: `false`). E.g.: - - `docker run -d -e "ENABLE_TOR=true" -v :/root/data -p 15441:15441 -p 43110:43110 nofish/zeronet` -* Open http://127.0.0.1:43110/ in your browser - -### [Virtualenv](https://virtualenv.readthedocs.org/en/latest/) - -* `virtualenv env` -* `source env/bin/activate` -* `pip install msgpack-python gevent` -* `python zeronet.py` -* Open http://127.0.0.1:43110/ in your browser - -## Current limitations - -* No torrent-like file splitting for big file support -* ~~No more anonymous than Bittorrent~~ (built-in full Tor support added) -* File transactions are not compressed ~~or encrypted yet~~ (TLS encryption added) -* No private sites - - -## How can I create a ZeroNet site? - -Shut down zeronet if you are running it already - -```bash -$ zeronet.py siteCreate -... -- Site private key: 23DKQpzxhbVBrAtvLEc2uvk7DZweh4qL3fn3jpM3LgHDczMK2TtYUq -- Site address: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 -... -- Site created! -$ zeronet.py -... -``` - -Congratulations, you're finished! Now anyone can access your site using -`http://localhost:43110/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2` - -Next steps: [ZeroNet Developer Documentation](https://zeronet.readthedocs.org/en/latest/site_development/getting_started/) - - -## How can I modify a ZeroNet site? - -* Modify files located in data/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 directory. - After you're finished: - -```bash -$ zeronet.py siteSign 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 -- Signing site: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2... -Private key (input hidden): -``` - -* Enter the private key you got when you created the site, then: - -```bash -$ zeronet.py sitePublish 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2 -... -Site:13DNDk..bhC2 Publishing to 3/10 peers... -Site:13DNDk..bhC2 Successfuly published to 3 peers -- Serving files.... -``` - -* That's it! You've successfully signed and published your modifications. - - -## Help keep this project alive - -- Bitcoin: 1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX -- Paypal: https://zeronet.readthedocs.org/en/latest/help_zeronet/donate/ -- Gratipay: https://gratipay.com/zeronet/ - -### Sponsors - -* Better OSX/Safari compatibility made possible by [BrowserStack.com](https://www.browserstack.com) - -#### Thank you! - -* More info, help, changelog, zeronet sites: https://www.reddit.com/r/zeronet/ -* Come, chat with us: [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet) or on [gitter](https://gitter.im/HelloZeroNet/ZeroNet) -* Email: hello@noloop.me