返回

文章详情

卷云:运行在 Cloudflare Workers 的 ATProto 个人数据服务器

Hacker News2026年6月20日 00:04

☁️ 大气中最轻的 PDS 一个在 Cloudflare Worker 上运行的单用户 AT 协议个人数据服务器 (PDS)。为什么要运行自己的 PDS?PDS 是 Bluesky 数据的存放地 – 帖子、关注、个人资料和媒体。运行个人 PDS 提供: 独立于平台变更 – 如果 Bluesky 的所有权或政策发生变化,账户仍然完全掌控。没有亿万富翁可以夺走它。 网络弹性 – 多样化的 PDS 提供商生态系统使 AT 协议网络更强大。更多独立的服务器意味着没有单点故障。 数据主权 – 仓库存在于直接控制下的基础设施中。 可移植性 – 在不同的托管提供商之间移动而不会失去追随者或身份。 架构 此实现使用 Cloudflare Workers 与 Durable Objects 和 R2: Worker – 无状态边缘处理程序,用于路由、身份验证和 DID 文档服务。 Durable Object – 单实例 SQLite 存储,用于您的 AT 协议仓库。 R2 – 用于大对象存储(图像、视频)。 结果是一个在边缘运行的 PDS,无需管理服务器,自动扩展,按需付费定价。 快速开始 npm create pds 此命令会创建一个新项目,安装依赖项并运行设置向导。有关详细的设置和配置,请参阅 PDS 包文档。 在开始之前 在运行您的 PDS 之前,您需要: 一个 Cloudflare 账户 – 如果您还没有账户,请在 cloudflare.com 注册。 将您的域名添加到 Cloudflare – 将您打算用于 PDS 的域名添加到您的 Cloudflare 账户中: 登录 Cloudflare 仪表板。 点击 “添加站点” 并输入您的域名。 按照说明更新域名的名称服务器指向 Cloudflare。 等待 DNS 传播(通常几分钟,最长可能需 24 小时)。 一旦您的域名在 Cloudflare 中激活,您可以继续进行设置向导。 包 包描述 @getcirrus/pds PDS 实现 – 处理仓库操作、联合、OAuth 和 CLI。 @getcirrus/oauth-provider OAuth 2.1 提供者,用于 “使用 Bluesky 登录”。 create-pds 创建新 PDS 项目的脚手架 CLI。 状态 ⚠️ 这是一个正在积极开发的实验性 Beta 软件。虽然核心功能可用,账户迁移已被测试,但此 PDS 实现仍在不断完善中。可能会发生破坏性更改,尚未发现所有边缘情况。在迁移主账户之前请考虑备份重要数据。 当前工作的核心功能: 仓库操作(创建、读取、更新、删除记录)。 联合(同步、火hose、blob 存储)。 OAuth 2.1 提供者(PKCE、DPoP、PAR)。 从现有 PDS 的账户迁移(已测试和验证)。 向另一个 PDS 的账户迁移(无状态令牌生成)。 无密码登录的密钥验证。 请查看 PDS 文档以获取当前限制和路线图。 关键安全性 您的签名密钥控制您的身份。设置后无法检索 Cloudflare 秘密,因此在设置期间备份您的密钥至关重要。 在设置过程中 当您运行 pds init 时,将提示您备份您的签名密钥。将其保存在安全的地方 – 密码管理器、加密备份或类似的地方。 密钥恢复 如果您已克隆到新机器并看到 “需要密钥恢复” 的错误: 恢复自备份 – 如果您备份了您的密钥(推荐),请将其添加到 .dev.vars : SIGNING_KEY=your-backed-up-key-here。 再次运行 init – pds init 将检测本地密钥并继续。 如果您丢失了密钥 对于 did:web 用户:生成一个新密钥,通过清除 .dev.vars 和重新运行 pds init。 旧签名将变得不可验证 – 追随者可能会看到警告。 您的身份继续存在,但没有连续性的加密证明。 对于 did:plc 用户:如果您注册了恢复密钥与 PLC,您可以轮换到新的签名密钥。 如果没有恢复密钥,您需要开始新的身份。 请查看 AT 协议 PLC 文档以获取恢复操作。 要求 启用 R2 的 Cloudflare 账户 您控制的域名(用于您的句柄和 DID) 资源 AT 协议文档 Bluesky Cloudflare Workers 许可证 MIT。© Matt Kane (@ascorbic)

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡