← 返回列表

Sesori Relay Server:在 Sesori 手机应用与 Bridge CLI 之间加密中转 WebSocket 流量

sesori-ai/sesori_relay_server · End-to-end encrypted relay routing traffic between the Sesori app and the Sesori Bridge

GitHub原文发布 未知首次收录 2026-11-04上架 2026-11-04 07:02

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

Sesori Relay Server 是使用 Go 编写的 WebSocket 中继服务器,用于在运行于笔记本的 Sesori Bridge CLI 与运行于手机的 Sesori 移动应用之间转发端到端加密流量。它按 JWT 中的 userId 将连接划分为账号组,每账号最多 10 个桥接端和 5 部手机;载荷采用 XChaCha20-Poly1305 加密,密钥由 X25519 密钥交换派生,中继服务器无法解密内容。服务器不持久化任何状态,并对连接数和活跃分组数进行限流。

核心能力与快速开始

★ 16 · Go

能做什么
提供 /ws WebSocket 端点,要求客户端先用 JWT 完成认证握手;按 JWT 中的 userId 将 bridge 与 phone 连接分组,每账号最多 10 个 bridge、5 个 phone;为 phone 到 bridge 的二进制帧附加 2 字节 connId 前缀以实现多设备寻址;支持控制消息(连接/断开通知、bridge 在线状态、连接通知策略);提供 /health 健康检查端点;内置按客户端 IP 限流(最多 20 连接)与全局最多 10,000 活跃分组的限制;不持久化任何状态。
适用场景
适合自托管 Sesori Relay 服务,将手机端 Sesori 应用与笔记本上的 Sesori Bridge CLI 配对,使其在账号内多台电脑与多部手机之间建立端到端加密通道,用于远程访问 AI 编程会话(bridge 后端连接 opencode serve)。
项目形态
可直接使用的工具
部署方式
支持本地 make run 或 docker compose up;Docker 镜像为多阶段构建(约 15MB),以非 root 用户运行;生产环境 TLS 部署参见仓库 DEPLOY.md 中的 Fly.io 与 VPS(Docker + Caddy)指南。默认监听 :8080,可通过 --addr/RELAY_ADDR 配置。
主要依赖
Go 1.23;使用 coder/websocket 库;不需要外部数据库或消息队列;需配合 Sesori Bridge CLI、Sesori 移动应用及签发 RS256 JWT 的认证服务使用。具体硬件与网络条件未说明。
使用限制
中继仅转发加密流量,无法解密数据,自身不提供加密密钥管理;不持久化状态,所有连接关闭后分组即被拆除;bridgeId 在握手时不由中继校验,依赖认证服务器返回 404 时以关闭码 4006 断开;认证服务器的传输错误、超时和 5xx 响应按 fail-open 处理;JWT 必须由 RS256 签名并含特定声明;未说明 API 成本、性能上限或商用许可范围(仅标注 Apache-2.0)。
许可证
Apache-2.0
最近推送
2026-11-03 08:57

资料检查:2026-11-04 07:00 · 卡片整理:2026-11-04 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。