kinderao/dsh-pocket-relay ↗★ 0
dsh-pocket-relay
通过局域网扫码或自建中继实现远程访问和多设备热备实时共享 适合希望外部访问本机 DSH 的用户,需部署 relay 并完成设备级认证与连接参数配置。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:kinderao/dsh-pocket-relay說明文件
閱讀完整 README ↗中继(自建服务器,长期使用推荐)
如果你有一台带公网 IP 的服务器,用它当中继比 Cloudflare 隧道更稳、地址固定、也不依赖第三方:
手机 ──HTTPS──▶ 你的服务器(relay) ◀──出站长连接── 电脑上的 dsh web
- 编译并部署 relay(Go 写的单个静态二进制,零运行时依赖):
npm run build:relay # 产出 relay/dist/ scp relay/dist/dsh-pocket-relay-linux-amd64 :/opt/dsh-pocket-relay/dsh-pocket-relay # 服务器上: ./dsh-pocket-relay gen-token # 生成 agent token cp config.example.json config.json && vi config.json ./dsh-pocket-relay check --config config.json # 只校验配置 nohup ./dsh-pocket-relay --config config.json > relay.log 2>&1 & - 设置页 → 手机访问 → 中继:填服务器地址、agent 端口、对外访问地址、Token。
- 打开常开开关(首次会弹一次安全声明),之后 dsh 一起来就在线。
- 点「添加设备」→ 手机扫配对二维码 → 设置该设备的独立密码 → 回电脑点「批准」。
要点:
- relay 自己终结 TLS,可以跑在任意端口(不占 443);证书既可以沿用你已有的签发产物, 也可以让程序内置 ACME(DNS-01)自动申请与续期——DNS-01 不需要开放 80/443。
- 自带 Web 管理端(状态 / 证书续期 / 访客白名单 / 日志)。
- 中继通道走设备认证:每台手机一个独立密码,可在设置页单独撤销;凭据永不落盘。
- 设备会话 10 分钟无操作失效(只按真实操作续期,心跳/后台请求不算)。
- 不想长期开着就点「暂停远程」;局域网与 Cloudflare 通道不受影响。
完整部署(nohup 与 systemd、ACME 配置、管理端、排障、安全清单)见 relay/README.md。