发布 ZeroNet 0.7,一个创建去中心化网站的平台

经过一年的开发,去中心化网络平台发布 零网 0.7,它建议使用比特币的寻址和验证机制与 BitTorrent 的分布式交付技术相结合来创建无法审查、伪造或封锁的网站。 网站内容存储在访问者计算机上的 P2P 网络中,并使用所有者的数字签名进行验证。 使用备用根 DNS 服务器系统进行寻址 Namecoin。 该项目是用 Python 编写的 分发者 根据 GPLv2 许可。

网站上发布的数据经过验证并链接到网站所有者的帐户,类似于比特币钱包的链接,这也使得控制信息的相关性和实时更新内容成为可能。 要隐藏 IP 地址,可以使用匿名 Tor 网络,ZeroNet 内置了对此的支持。 用户参与他访问的所有站点的分发。 下载到本地系统后,文件将被缓存并可使用类似于 BitTorrent 的方法从当前计算机进行分发。

要查看ZeroNet站点,只需运行zeronet.py脚本,然后您可以通过URL“http://127.0.0.1:43110/zeronet_address”在浏览器中打开站点(例如,“http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”)。 打开网站时,程序会查找附近的同级并下载与请求的页面关联的文件(html、css、图像等)。
要创建站点,只需运行命令“zeronet.py siteCreate”,之后将生成站点标识符和私钥,以使用数字签名确认作者身份。

对于创建的站点,将创建一个“data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”形式的空目录。 更改此目录的内容后,必须使用命令“zeronet.py siteSign site_identifier”并输入私钥来验证新版本。 一旦新内容经过验证,需要使用命令“zeronet.py sitePublish site_id”进行公布,以便更改后的版本可供同行使用(WebSocket API 用于公布更改)。 沿着这条链,节点将使用数字签名检查新版本的完整性,下载新内容并将其传输给其他节点。

能力:

  • 不存在单点故障 - 如果发行版中至少有一个对等点,则站点仍然可以访问;
  • 网站缺乏参考存储 - 无法通过断开托管来关闭网站,因为数据位于访问者的所有计算机上;
  • 所有以前查看过的信息都在缓存中,并且可以在离线模式下从当前计算机访问,无需访问全球网络。
  • 支持内容实时更新;
  • 可以通过“.bit”区域中的域名注册进行寻址;
  • 无需预先设置即可工作 - 只需使用软件解压存档并运行一个脚本即可;
  • 能够一键克隆网站;
  • 基于格式的无密码身份验证 BIP32:账户受到与比特币加密货币相同的加密方法的保护;
  • 内置SQL Server,具有P2P数据同步功能;
  • 能够使用 Tor 实现匿名,并完全支持使用 Tor 隐藏服务 (.onion) 代替 IPv4 地址;
  • TLS 加密支持;
  • 通过 uPnP 自动访问;
  • 可以将具有不同数字签名的多个作者附加到该网站;
  • 用于创建多用户配置的插件的可用性(openproxy);
  • 支持广播新闻源;
  • 适用于任何浏览器和操作系统。

ZeroNet 0.7 的主要变化

  • 代码经过重新设计,支持Python3,确保兼容Python 3.4-3.8;
  • 实现了受保护的数据库同步模式;
  • 在可能的情况下,第三方库的主要发行版已停止,以支持外部依赖;
  • 验证数字签名的代码加速了5-10倍(使用libsecp256k1库;
  • 添加了已生成证书的随机化以绕过过滤器;
  • P2P代码已更新为使用ZeroNet协议;
  • 新增离线模式;
  • 新增UiPluginManager插件,用于安装和管理第三方插件;
  • 提供对OpenSSL 1.1的全面支持;
  • 连接到对等点时,使用虚拟 SNI 和 ALPN 记录使连接更类似于通过 HTTPS 调用常规站点;

ZeroNet 0.7.0 发布同一天 形成的 更新 0.7.1,消除了可能允许在客户端执行代码的危险漏洞。 由于渲染模板变量的代码中存在错误,开放的外部站点可以通过具有无限 ADMIN/NOSANDBOX 权限的 WebSocket 与客户端系统建立连接,从而可以通过以下方式更改配置参数并在用户计算机上执行其代码:使用 open_browser 参数进行操作。
该漏洞出现在分支 0.7 以及从修订版开始的实验版本中 4188 (20 天前进行的更改)。

来源: opennet.ru

添加评论