(注意:本文档的翻译版本通常滞后于最新内容)
in English | em português | по-русски | 日本語
zeronet-conservancy
是 零网 ZeroNet 项目的一个分支/延续(其创建者已放弃维护),致力于维持现有的p2p网络,进一步发扬去中心化与自由的价值观,并逐步得到一个设计得更好的网络。
在onion-v3切换危机期间,我们需要一个能够支持onion-v3,且不仅仅依赖于个别开发者的可信的分支。本分支从实现这一任务开始,对 ZeroNet/py3 分支作了最少的改动,从而让任何人都可以轻松地审计这些改动。
目前,0net正陷入前所未有的危机,而本分支似乎是唯一存活下来的。我们的开发进展缓慢,但其中的部分工作正在幕后进行。如果你完全是个0net的新手,且没有人指导你,而且你也不是开发者的话,我们建议请等待v0.8版本发布。
- 我们相信开放、自由和不受审查的网络与通讯。
- 不受单点故障影响:只要至少有一个节点在提供服务,站点就能保持在线。
- 无需托管费用:站点由访问者们来共同托管。
- 无法被关停:因为节点无处不在。
- 快速并且支持离线访问:即使没有互联网,你也可以访问站点。
- 实时更新站点
- 一键克隆已有的站点
- 使用私钥/公钥的免密码认证
- 内置SQL服务器,支持P2P数据同步,便于动态站点开发
- 匿名性:支持采用.onion匿踪服务的Tor网络(支持onion-v3)
- TLS加密连接(会经过明网)
- 自动开启uPnP端口(可选)
- 支持多用户插件(openproxy)
- 兼容任何现代浏览器/操作系统
- 离线站点可通过其他方式进行同步(或当连接恢复时同步)
- 启动
zeronet.py
后,你可以通过以下方式访问zeronet站点:http://127.0.0.1:43110/{零网站点地址}
(例如http://127.0.0.1:43110/1MCoA8rQHhwu4LY2t2aabqcGSRqrL8uf2X/
) - 当你访问一个新站点时,它会通过BitTorrent网络来寻找可用节点,从这些节点下载站点所需的文件(如html, css, js...)。
- 每个你访问过的站点也由你提供托管服务。
- 每个站点包含一个
content.json
文件,其中包含着由本站所有文件生成的sha512哈希值以及由站点私钥生成的签名。 - 如果站点拥有者(即持有站点私钥的人)对站点内容进行了修改,则他/她会重新签署
content.json
文件并发布至其他节点。随后,其他节点会验证content.json
的完整性(通过签名),并下载被修改的文件,随后将更新过的内容继续发布给其他节点。
以下链接来自原版ZeroNet:
- NixOS: 搜索zeronet-conservancy软件包(并参见下方)
- ArchLinux: 最新发行版,最新git版
- 安装并配置nix包管理器(如果需要的话)
nix-env -iA nixpkgs.zeronet-conservancy
如果您使用的是NixOS系统,将zeronet-conservancy
添加到系统配置中
(感谢 @fgaz 制作并维护此软件包)
安装autoconf和其他基本开发工具,python3和pip,然后看“构建python依赖”
sudo apt update
sudo apt install git pkg-config libffi-dev python3-pip python3-venv python3-dev build-essential libtool
yum install epel-release -y 2>/dev/null
yum install git python3 python3-wheel
sudo dnf install git python3-pip python3-wheel -y
sudo zypper install python3-pip python3-setuptools python3-wheel
sudo pacman -S git python-pip -v --no-confirm
- 安装 Termux(在Termux中可以通过以下命令安装包
pkg install <package-names>
) pkg update
pkg install python automake git binutils libtool
- (在旧Android系统上可能还需安装这个)
pkg install openssl-tool libcrypt clang
- (若安装了上述包仍在启动时遇到问题,请告诉我们)
- (可选)
pkg install tor
- (可选)通过以下命令运行Tor:
tor --ControlPort 9051 --CookieAuthentication 1
(你可以通过右滑来打开新会话)
- 克隆此repo(注意:在Android/Termux上应将其克隆到Termux的“home”文件夹中,这是因为虚拟环境无法位于
storage/
) python3 -m venv venv
(创建python虚拟环境,命令末尾的venv
只是个名称,若使用其他名称,需在后续命令中替换)source venv/bin/activate
(激活环境)python3 -m pip install -r requirements.txt
(安装依赖)python3 zeronet.py
(运行zeronet-conservancy!)- 在浏览器中打开登录页面:http://127.0.0.1:43110/
- 需要在新的终端再次启动的话,进入repo目录并执行:
source venv/bin/activate
python3 zeronet.py
- 克隆此repo
- 进入已经安装过依赖的shell:
nix-shell '<nixpkgs>' -A zeronet-conservancy
./zeronet.py
- 构建0net镜像:
docker build -t 0net-conservancy:latest . -f Dockerfile
- 或构建集成tor的0net镜像:
docker build -t 0net-conservancy:latest . -f Dockerfile.integrated_tor
- 运行它:
docker run --rm -it -v </path/to/0n/data/directory>:/app/data -p 43110:43110 -p 26552:26552 0net-conservancy:latest
- /path/to/0n/data/directory - 该目录保存所有数据,包括你的私钥证书。如果在生产模式下运行,请千万不要删除这个文件夹!
- 也可以通过docker-compose运行:
docker compose up -d 0net-conservancy
来启动两个容器——0net和tor各自运行。 - 或者在同一个容器中运行0net和tor:
docker compose up -d 0net-tor
。 (请检查上述说明是否仍然可行)
克隆Github仓库并安装所需的Python模块。首先编辑命令开头的zndir,将其改为你想要存储zeronet-conservancy
的路径:
zndir="/home/user/myapps/zeronet" ; if [[ ! -d "$zndir" ]]; then git clone --recursive "https://github.com/zeronet-conservancy/zeronet-conservancy.git" "$zndir" && cd "$zndir"||exit; else cd "$zndir";git pull origin master; fi; cd "$zndir" && pip install -r requirements.txt|grep -v "already satisfied"; echo "Try to run: python3 $(pwd)/zeronet.py"
(此命令也可用于保持zeronet-conservancy
是最新版本)
- 安装通用依赖和克隆repo(如上所述)后,
运行
start-venv.sh
,它将为你创建虚拟环境并安装Python依赖 - 以后会添加更多便捷脚本
下载并解压以下.zip压缩包 zeronet-conservancy-0.7.10-unofficial-win64.zip
(这些说明正在测试当中,请帮助我们测试并改进它!)
- 安装Python: https://www.python.org/downloads/
- 安装在Windows下适用于Python的编译器,这对我这种非Windows用户来说是最难的一步(详见 https://wiki.python.org/moin/WindowsCompilers ,之后我会提供更多参考)
- [可选,如需获取最新开发版本]安装Git:https://git-scm.com/downloads
- [可选,如需为更好的连接性和匿名性来使用tor]安装tor浏览器:https://www.torproject.org/download/
- 打开git bash控制台
- 在命令行输入或粘贴
git clone https://github.com/zeronet-conservancy/zeronet-conservancy.git
- 等待,直至git下载好最新的开发版本,然后继续在控制台操作
cd zeronet-conservancy
python -m venv venv
(创建Python虚拟环境)venv\Scripts\activate
(激活环境)pip install -r requirements.txt
(安装Python依赖)(有些使用者反馈此命令未能成功安装所有依赖,需手动逐个安装依赖)- (注意:如果上一步失败了,可能说明C/C++编译器未能成功安装)
- [可选,为更好的连接性和匿名性]启动Tor浏览器
- (注意:Windows可能会弹窗,提示出于“安全原因”阻止了网络访问—请选择允许访问)
python zeronet.py --tor_proxy 127.0.0.1:9150 --tor_controller 127.0.0.1:9151
(启动zeronet-conservancy!)- [需要完全匿名,要用如下方式启动]
python zeronet.py --tor_proxy 127.0.0.1:9150 --tor_controller 127.0.0.1:9151 --tor always
- 在浏览器中访问http://127.0.0.1:43110
构建.exe文件
- 按照上述步骤操作完成后,再执行
pip install pyinstaller
pyinstaller -p src -p plugins --hidden-import merkletools --hidden-import lib.bencode_open --hidden-import Crypt.Crypt --hidden-import Db.DbQuery --hidden-import lib.subtl --hidden-import lib.subtl.subtl --hidden-import sockshandler --add-data "src;src" --add-data "plugins;plugins" --clean zeronet.py
- dist/zeronet 路径下会包含可用的 zeronet.exe!
- 文件传输未压缩
- 不支持私密站点
- 不支持DHT
- 不支持I2P
- 不支持中心化的模块,比如zeroid(我们正在改进!)
- 尚无可靠的垃圾信息保护措施(我们也在改进)
- 无法直接在浏览器中使用(中长期会优先解决此问题)
- 不支持数据透明
- 尚无可重现构建
- 不支持磁盘加密存储
- 尚无可重现构建(因此在部分GNU/Linux发行版之外无法构建)
- 点击仪表盘菜单中的 ⋮ > "Create new, empty site" 。
- 你将被重定向到一个只有你可以修改的全新站点!
- 你可以在 data/[你的站点地址] 目录中找到并修改你的站点内容。
- 修改完成后,打开你的站点,向左拖动页面右上角的“0”按钮,然后点击底部的sign and publish按钮。
下一步请看:ZeroNet开发者文档
我们需要更多的维护者!今天就加入吧!你不需要懂编程,这里还有很多其他工作要做。
我们需要为各个主流操作系统平台提供独立构建的版本,并存入各种FLOSS仓库。如果你正在使用的Linux发行版还没有得到我们提供的相应构建包,为何不自己创建一个,或者(如果你不知道怎么做)去询问你的系统维护者呢?
我们决心继续前进,打造一个完美的p2p网络,因此我们需要更多的帮助来实现它。
我们知道这份文档有所欠缺,但我们尽力支持任何希望迁移站点和内容的用户。请不要犹豫,随时联系我们。
告诉大家你为何选择使用0net及我们这个特别的分支!人们需要知道他们的替代方案。
此分支由@caryoscelus创建并维护。你可以在 https://caryoscelus.github.io/donate/ 上查看捐赠方式(如果在github上阅读,也可查看侧边栏了解更多途径)。随着我们团队的不断壮大,我们也会在更友善的众筹平台上创建团队账户。
如果你想确保你的捐赠会被视作对本项目的支持,下面是一个专门的比特币地址: 1Kjuw3reZvxRVNs27Gen7jPJYCn6LY7Fg6。如需更匿名和私密的方式,以下是Monero钱包地址: 4AiYUcqVRH4C2CVr9zbBdkhRnJnHiJoypHEsq4N7mQziGUoosPCpPeg8SPr87nvwypaRzDgMHEbWWDekKtq8hm9LBmgcMzC
如果你希望通过其他方式捐赠,请随时联系维护者或创建一个issue。
该项目当前托管在GitHub。但这并不理想;GitHub是一个专有的、有其商业秘密的系统,不是自由及开放源代码软件(FLOSS)。我们对使用像GitHub这样的专有系统来开发我们的FLOSS项目深感担忧。我们有一个开放的议题页面来追踪从长远来看迁移出GitHub的进展。我们强烈建议你阅读放弃 GitHub运动以及软件自由保护协会对其的阐述,以便了解为什么GitHub不适合托管FOSS项目。
如果你是已经停止使用GitHub的贡献者,欢迎在notabug上查看我们的镜像,并在那里进行开发,或者通过联系方式直接向项目维护者发送git补丁。
无论过去还是现在,未经许可地通过GitHub Copilot使用本项目的代码的行为必须立即停止。我们不允许GitHub将本项目代码用于Copilot。