如果 V2EX 的架构不用依赖中心服务器,内容的权威版本存在每个人自己的电脑上。
本地的内容无法被服务器篡改或者删除。
服务器只是在必要的时候聚合内容,并提供一些必须中心化服务器才能实现的额外功能,那会是怎样的一种架构?
Planet 就是这样的一种探索:一个基于 SwiftUI 的 macOS 本地应用,内置了静态网站生成器,Markdown 编辑,及 IPFS 节点。用 Planet 创建的网站,可以直接从本地通过 IPFS 就发布到互联网。
每个在 Planet 生成的网站,会拥有一个自己独特的 IPNS 地址,这是 IPFS 网络的类似 DNS 的名称系统。这个 IPNS 地址可以绑定到 ENS(.eth)或者 SNS(.sol)中,提供更容易记住的访问方式。
然后你可以把你用 Planet 创建的 IPNS 地址,或者绑定之后的 .eth / .sol 地址提交到 V2EX 上的 Planet 聚合器 ,就可以让你本地发布的内容被更多人看到。
在这样的架构上,中心化服务器只是整个网络中提供一些额外功能和流量的节点。如果中心化服务器没有正常工作或者消失,本地电脑里的内容也不会消失。
也可以通过 Homebrew 安装:
brew install planet
系统最低需求 macOS 12。推荐在 macOS 15+ 上运行。