Skip to content

Latest commit

 

History

History
50 lines (28 loc) · 5.22 KB

mobile-local-https.zh.md

File metadata and controls

50 lines (28 loc) · 5.22 KB

一键连接自己的电脑

English | 中文

更新 DS Bot 插件与手机 App 后,可以直接通过局域网 HTTPS 连接。无需域名、Tailscale、OpenSSL 或手动安装证书。

  1. 手机和电脑连接同一个 Wi-Fi;电脑保持 DSH 运行。
  2. 电脑端打开「设置 → 手机设备」,点击 Enable phone connection(启用手机连接)。插件自动生成证书、启动 HTTPS 并显示二维码。
  3. 在手机 App 的连接页扫描该二维码。App 自动发起配对。
  4. 电脑端点击 Approve,确认是自己的手机。之后打开 App 会自动连接。

如果电脑防火墙弹出提示,允许 专用网络 / 局域网 访问。手机首次扫码可能需要相机权限,iOS 也可能要求局域网权限。这些系统提示不能由插件代替你批准。

默认优先选择电脑的 IPv4 地址,端口为 8788;也支持选择内网 IPv6 或公网 IPv6。多个网卡时可在启用前选择 Wi-Fi 对应的地址。二维码中的地址必须从手机可达;访客 Wi-Fi、AP 隔离、VPN 或防火墙可能阻止连接。电脑更换网络或 IP 地址后,需要关闭再启用连接、重新生成二维码并配对新地址;正常证书续期不需要重新配对。

IPv6 直连

IPv6 连接需要 v0.1.1 及以上的插件与 App;v0.1.0 只自动列出 IPv4 地址。

已发布的 0.1.1 r2 没有独立 IPv6 开关:先关闭手机连接,网络地址下拉框才会出现,其中可选择 IPv6。最新开发分支已补充独立的 使用 IPv6 开关,连接启用后也会保留显示;无可用 IPv6 地址时显示原因,切换协议前需先关闭连接。该界面改进尚未包含在 r2 安装包中。

电脑拥有公网 IPv6、手机当前网络也支持 IPv6 时,可以跨网络直接连接,不需要域名、协调服务器、中继或额外 App。

  1. 在电脑「手机设备」页面关闭已有的手机连接,在网络地址列表选择标注 公网 IPv6 的地址,再启用连接。
  2. 在电脑防火墙与路由器 IPv6 防火墙中允许手机访问所选地址的 TCP 8788(使用其他端口时放行对应端口)。仅放行手机连接端口,DSH 管理端口无需开放;插件不自动修改防火墙。
  3. 手机 App 扫描新的二维码,在电脑批准。可切换到支持 IPv6 的手机流量测试外网连接。

IPv6 地址的写法为 https://[IPv6地址]:8788,方括号不能省略。插件会自动生成正确的二维码和 IP 证书,App 继续验证电脑公钥指纹。

fc / fd 开头的内网 IPv6 只能在有相应路由的网络使用,不能当作公网地址。fe80 开头的链路本地地址需要两端各自的网卡标识,插件不列出此类地址。公网地址是否实际可达仍取决于运营商、路由和防火墙;仅支持 IPv4 的手机网络无法直连 IPv6。公网 IPv6 的 HTTPS 服务只监听所选地址。

电脑的 IPv6 前缀或临时地址可能变化。地址失效后,关闭再启用连接,选择当前地址并重新配对;当前版本不会通过公网服务自动发现新地址。项目不提供托管协调或中继服务。

安全与恢复

插件用 Node 内置加密功能生成自签名 P-256 证书。二维码携带电脑公钥的 SHA-256 指纹,App 的专用原生 HTTPS/WSS 连接核对这个指纹,同时检查证书有效期、签名和地址。不会关闭整个 App 的 TLS 验证,也不会退回明文 HTTP。

配对凭据和公钥指纹一起保存到手机的安全存储。更换电脑身份需要重新配对。证书在临近到期或电脑地址变化时于启动阶段更新,保留原来的私钥,因此正常续期无需重新配对。电脑重启后插件自动恢复启用状态。私钥损坏时会拒绝启动,不能悄悄换成新的身份。

证书及启用设置保存在插件自己的 mobile/ 目录。插件不修改 DSH 安装或主机 profile。Unix 上私钥为 0600、证书目录为 0700;Windows 使用该目录原有的用户访问权限。只备份到自己的受保护位置,不能分享私钥。

「关闭手机连接」会停止入口和当前连接,保留配对记录;再次启用后仍可连接。「Revoke access」可以单独撤销某台手机。已手动配置公开 HTTPS 的主机继续使用原配置,不会被一键设置覆盖;显式 mobile.enabled: false 会禁止界面启用。

使用范围

这是 手机与电脑可直接互通 的方案,不是公网隧道。同一 Wi-Fi 通常最方便;支持 IPv6 的不同网络也可按上文配置公网直连。电脑关机、没有可达地址或路由器隔离时无法连接。需要其他远程部署方式时,见完整部署指南。

浏览器/Expo Go 无法使用这里的自签名证书公钥验证,必须更新并安装原生 App。Android 后台通知也使用相同身份验证;不依赖 FCM/APNs,但需要 App 的后台连接服务运行。iOS 原有后台执行时间限制仍适用。

GitHub Actions 可使用项目专用 DeepSeekBot 签名构建 Android APK;维护者需配置签名密码 Secret。之前的测试 APK 使用调试签名,切换到新签名时需卸载旧包再安装、重新配对。见签名与发布教程。本功能不要求用户配置 EAS 项目。