如何用二维码把 iPhone 配对到 Boop 服务器:完整图文流程与手动配对方案
【免费下载链接】boopA tiny, self-hosted notification inbox for developers. Something happened in one of your apps; Boop tells you on your phone.项目地址https://gitcode.com/gh_mirrors/boop2/boop点击查看免费下载Boop 是一款自托管的开发者通知收件箱notification inbox你的应用发生了什么事Boop 就把推送通知直接送到你的手机上。本文带你走通Boop 二维码配对的完整流程——在 Web UI 生成一次性配对二维码用 iPhone 上的 Boop App 扫码几分钟内完成配对如果现场没法扫码还附上了手动输入 server token 的配对方案和常见问题排查清单。一、配对原理二维码里到底藏了什么Boop 的配对设计非常克制不注册账号、不经过任何第三方中转配对只发生在你的服务器和 iPhone 之间。先看一张全局架构图紫色虚线标注的 pairing QR 就是本文的主角整个配对过程分三步生成一次性 tokenWeb UI 调用POST /api/v1/pairing服务器签发一个以pair_开头的短期令牌有效期10 分钟、只能用一次、可随时吊销实现见 server/internal/pairing/pairing.go。把 JSON 编码进二维码token 连同服务器地址一起被编码进二维码内容长这样{version: 1, server: https://boop.example.com, token: pair_...}换取设备凭证App 扫码后把 token 提交到/api/v1/pairing/exchange服务器验证通过即消费该 token创建一台设备并返回长期设备凭证boop_dev_...App 把它安全存入 Keychain。 服务器只保存 token 的 SHA-256 哈希交换接口的服务端实现见 server/internal/api/api.go。二、配对前准备3 个前提条件条件说明Boop 服务器已运行Docker 一键部署见 docker-compose.ymliPhone 装好了 Boop AppiOS App 需自己用 Xcode 构建签名步骤见 ios/README.md手机能访问到server地址二维码里的地址必须能被 iPhone 的 Wi-Fi 访问⚠️ 第三条是最常见的坑二维码里的服务器地址由环境变量BOOP_BASE_URL决定。如果你的部署显示的是内网/局域网地址手机根本连不上——建议把它设为公网可达的 HTTPS 地址并放在反向代理之后。三、一键扫码配对4 步完整流程第 1 步在 Web UI 生成配对二维码浏览器打开 Boop 的 Web UI进入Devices页面点击Pair iPhone按钮页面会立刻显示一个二维码并带倒计时提示Single use · 10 分钟有效。此时前端每 3 秒轮询一次配对完成的设备会立刻出现在下方列表里。这一步由 server/web/src/pages/Devices.svelte 实现二维码用 SVG 渲染server/web/src/lib/ui/QR.svelte。第 2 步打开 Boop App 扫码在 iPhone 上打开 Boop App在欢迎页点击Pair serverApp 会自动调起摄像头基于 VisionKit 的实时条码识别见 ios/Boop/Pairing/QRScannerView.swift。摄像头对准屏幕上的二维码识别成功后自动进入 Pairing with your server… 状态。第 3 步确认配对成功并允许通知配对成功后 App 显示绿色对勾和 Paired提示你允许通知。点击Continue后App 会向 Apple APNs 注册推送令牌并上报到服务器——这一步完成后推送通道才算真正就绪。客户端从扫码到凭证落地的完整逻辑可参考 ios/Boop/Screens/PairingView.swift 与 ios/Boop/Networking/AppSession.swift。第 4 步在 Web UI 确认设备回到 Devices 页面新设备出现在Paired devices列表Push一列显示 Registered 即代表通道就绪。此时建议到 Settings 里Send test notification发一条测试通知验证全链路。 首次部署走 Setup 向导时第 3 步 iPhone 里内嵌了同一个配对面板server/web/src/pages/Setup.svelte流程完全一致。四、手动配对方案扫不了码时的备选路径如果现场不方便扫码比如投屏、远程桌面Boop 提供了手动输入通道效果与扫码完全等价。第 1 步在 Web UI 查看 payload在二维码下方点击Show payload会显示与二维码内容完全相同的 JSON{version:1,server:https://boop.example.com,token:pair_xxx}第 2 步在 App 中手动输入在 Boop App 的 Pair server 页面点击Enter details manuallyios/Boop/Screens/PairingView.swift分别填入Server服务器地址省略https://前缀也可以App 会自动补全Pairing tokenpair_开头的完整 token点击Pair即可走的是与扫码相同的 exchange 流程。手动配对有两道硬性校验ios/Boop/Pairing/PairingPayload.swiftserver必须是合法的http://或https://地址token必须以pair_开头且长度大于 10不满足时 App 会提示 The pairing code has an invalid token 之类的错误对照 payload 再核对一遍即可。五、常见问题排查FAQ现象 / 报错原因解决办法pairing token is invalid or has expiredtoken 已用过、被吊销或超过 10 分钟重新点击 Pair iPhone 生成新码TTL 定义见 server/internal/pairing/pairing.goThat code is not a Boop pairing code扫到的内容不是 Boop 的 JSON确认扫的是配对二维码而非其他码扫码后一直转圈、连接失败手机访问不到server地址检查BOOP_BASE_URL是否公网可达局域网场景走 Tailscale / VPN配对成功但收不到推送APNs 未配置按 README.md 的 Apple setup 配置.p8密钥事件会照常存储只是推送被跳过误生成了 token 想作废—Web UI 点 Cancel或调用DELETE /api/v1/pairing/{id}吊销六、小结简单背后的安全设计Boop 的二维码配对看似轻松细节却很到位短期 一次性token 只有 10 分钟有效期且用后即焚过期超 24 小时还会被自动清理只存哈希数据库里只有 token 的 SHA-256不存明文可随时吊销待用 token 支持逐条作废本地安全存储换来的设备凭证写入 iOS Keychain零账号体系全程无需注册服务器地址 token 就是全部身份配对完成后你的部署脚本、CI 或错误追踪工具就可以通过项目 API key 向 Boop 发送事件消息会第一时间出现在 iPhone 的通知栏里。更多 API 与配置项见 README.md 与 integration-llms.md。赞分享【免费下载链接】boopA tiny, self-hosted notification inbox for developers. Something happened in one of your apps; Boop tells you on your phone.项目地址https://gitcode.com/gh_mirrors/boop2/boop点击查看免费下载相关推荐Olares 上使用 OpenClaw 移动客户端连接二维码与手动配对完整指南Olares 上使用 OpenClaw 移动客户端连接二维码与手动配对完整指南 本文围绕 Olares 上自托管 OpenClaw 智能体的移动端接入场景系云原生后端运维SideInstaller Side by Side 教程如何用一台 iPhone 无线配对另一台 iPhone免电脑完整步骤SideInstaller Side by Side 教程如何用一台 iPhone 无线配对另一台 iPhone免电脑完整步骤 SideInstaller如何用AI Toolbox把AI CLI配置同步到WSL和远程服务器SSH与WSL同步完整教程如何用AI Toolbox把AI CLI配置同步到WSL和远程服务器SSH与WSL同步完整教程 AI Toolbox 是一款个人 AI Toolbox 桌面应创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考