抗封锁

Velum 的设计目标是:即使有人试图关停它,它也能继续运行。这里说明我们做了什么,也同样清楚地说明我们无法避免什么。

多个入口,隐藏域名

  • 入口网关有多个,分布在不同域名上(见 @velum/core 中的 GATEWAYS 列表)。应用和节点按顺序尝试,一个失效就换下一个。
  • 入口网关在 Cloudflare 上启用 ECH(加密客户端问候):监视连接的人看不到你访问的网站名称。

节点彼此发现

  • 每个节点都把自己的地址(endpoint)公布在链上。应用和节点会保存这份列表,入口失效时直接互连,就像比特币节点那样。
  • 节点之间互相交换邻居列表(PEX)。
  • 提供 DNS 种子:分布在多个域名上、记录节点的 TXT 记录,用于从零找到网络。
应用 ──▶ 入口 1(ECH)──✕ 被封锁
     ──▶ 入口 2(另一个域名,ECH)
     ──▶ 已知节点(从链上保存的 endpoint)
     ──▶ DNS 种子 ──▶ 节点 ──▶ 邻居(PEX)

路线图

  • 伪装传输:看起来像普通 HTTPS 的流量(类似 WebTunnel 或 obfs)。
  • Tor 和 I2P。
  • 蓝牙网状网络,无需互联网也能和附近的人聊天。
  • 三跳 Sphinx 式路由和掩护流量,用来对抗同时观察整个互联网的人。

我们不承诺什么

  • 没有任何系统是无法封锁的。 一个国家可以封锁域名、IP 地址,甚至整个 Cloudflare。只要还有彼此可达的节点,网络就能存活,但连接到网络可能会更困难。
  • 全局观察者如果能同时看到全部互联网流量,可以尝试比对发出和到达的时间。固定大小的填充和轮换信箱有所帮助;三跳路由和掩护流量将在之后推出。
  • 应用商店可能在某个国家下架应用。因此我们也在本网站发布经过签名的 Android APK 和节点二进制文件。