Skip to content

Releases: just-a-FA-for-name/DSHgo

DSHgo V1.3 · 针对 #5/#6 的连接恢复与 WebView 兼容性修复

Choose a tag to compare

@just-a-FA-for-name just-a-FA-for-name released this 30 Oct 08:16

DSHgo V1.3 · 连接恢复与 WebView 兼容性修复

大家反馈的问题我都有在看,没有装死。 这次针对 issue #5:页面一直加载、issue #6:连接失败,结合实际诊断日志做了集中修复。感谢提供日志和复现信息的朋友。

本次修复

  • 复杂网络下反复断连、恢复过程被打断:只在实际承载网络、DNS 或验证状态变化时处理网络切换,避免后台蜂窝网络回调误触发重连;健康连接不再被简单网络提示强制打断,同一故障周期减少重复恢复事件。
  • #5 页面卡在加载、脚本与插件无法正常启动:电脑桥接不再默认强加 COOP/COEP,保留上游策略;提前补齐缺失的 Promise.withResolvers / AbortSignal.any,手机使用真实 WebView UA,增加脚本、插件资源和页面启动阶段的诊断分类。
  • #6 部分设备和内网地址连接失败:隧道 socket 绑定改用公开 Android API,替代隐藏字段反射;允许显式配置的 tailnet、私有局域网 HTTP 地址,并检查地址范围。公网地址仍要求 HTTPS,不自动降级,不绕过 HTTPS 证书或 SNI 校验。
  • 电脑插件启动与重试:自动查找桌面版自带的 dsh CLI,减少 PATH 不完整造成的启动失败;Tailscale Serve 失败采用退避,避免反复等待同一请求。
  • 连接状态误报:认证失败、限流和服务器错误独立显示,HTTP 业务错误不再直接视为断网。
  • 诊断更准确:正确说明内置隧道,删除误导性的独立 Tailscale 安装提示及不存在的脚本提示;增加实际 MagicDNS 配置、socket 绑定、实际网络变更和页面资源失败信号。

两端都要升级

  1. 手机覆盖安装 DSHgo-v1.3.apk,同签名升级保留原有数据和设置。
  2. 电脑下载 DSHgo-pc-plugin-v1.3.zip 并完整解压,进入 pc-plugin,运行 install.bat 更新现有插件。
  3. 等电脑任务结束后,退出并重新打开 dsh 桌面版。

这是现有 dsh-phone-remote 的升级,无须另装一套远程工具或重装 Tailscale。只更新 APK,无法获得电脑桥接里的页面启动兼容修复与插件重试策略。

测试情况与后续反馈

39 项隔离回归通过。一加 Android 16 / WebView 156 上验证了实际 socket 绑定、压缩页面及同步/模块脚本加载、GET 连接 reset 后恢复、POST 到达隔离上游后断开不由应用/桥接重复提交,以及 WebSocket 握手。正常网络前台观察 138 秒没有新增异常或重连状态。

#5/#6 已做针对性修复,但报告者的 WebView 150、Android 13 / WebView 116 和真实复杂运营商 5G 环境仍待复测。 目前不声称已确认所有故障的唯一根因,也不将发布版本等同于所有机型均已解决。详细测试范围见 V1.3 验收记录。

仍有问题请在设置 → 故障排查 → 导出诊断包,附上出现问题的时间、手机系统/WebView 版本及网络情况。无需 root;日志只保存有界数字状态分类,不记录聊天、连接地址、Cookie 或 Token,不自动上传。

V1.2 已有的文件分块续传、应用专用隧道、可切换大肥鱼主题及开屏动画继续保留。

DSHgo V1.2 · 连接稳定性与弱网修复、文件续传、诊断日志和大肥鱼主题

Choose a tag to compare

@just-a-FA-for-name just-a-FA-for-name released this 24 Oct 15:28

DSHgo V1.2

这次集中修复了很多连接、弱网恢复和文件上传问题,也补上了免 root 诊断日志,并重新整理手机竖屏触控界面。

升级时请同时更新手机 APK 和电脑端插件。 手机安装 DSHgo-v1.2.apk;电脑下载并解压 DSHgo-pc-plugin-v1.2.zip,进入 pc-plugin 双击 install.bat,完成后重启 dsh 桌面版。

修复了什么

  • 5G / relay 下卡在“正在载入”:针对 issue #4,向 Android 显式下发 MagicDNS,修复隧道通了但 .ts.net 域名无法解析的问题;保留正确域名、SNI 和证书校验。
  • 隧道影响其他软件:改为 DSHgo 应用专用 VPN,其他 App 继续走自己的网络。
  • 频繁断连、网络切换后恢复不正常:改进物理网络选择、上游 DNS 更新和连接恢复,避免正常恢复过程反复整页重载。
  • 弱网下功能未挂载、白屏或看起来像“退回旧版本”:禁用工作台 HTML/API 的陈旧缓存,提前安装传输和手机适配,修复慢速加载时的重载干扰,并识别 Chromium 内部错误页。
  • “显示已连接”但实际发不出去:下行 WebSocket 心跳不再掩盖 HTTP 上行失败,连接提示更接近实际状态。
  • 文件上传断一次就卡住:新增自适应分块与网络中断续传,修复创建/分块确认丢失、半截 TCP 一直占用上传通道等问题。
  • 桥接和实时连接问题:修复端口发现竞争、错误端口猜测、WebSocket Host/Origin 不一致、流式转发和缓存等问题;发送命令不会因网络重试被重复执行。

新增了什么

  • 文件分块续传:分块从 128 KiB 开始,按网络自适应调整到 32 KiB–1 MiB,进度以已确认字节计算;电脑暂存采用流式落盘。
  • 免 root 诊断日志:设置 → 故障排查 → 导出诊断包。插卡手机出现问题后,可以直接导出 ZIP,并说明时间和复现操作。支持关闭与清除,不自动上传,不记录聊天、文件名、IP、域名、Cookie 或 Token。
  • 可切换的大肥鱼主题:顶部连接状态徽章、侧栏、输入卡片、连接/错误插画统一适配,原有主题保留;切主题不再销毁当前网页和草稿。
  • 手机触控优化:继续以手机竖屏使用为主,扩大顶栏点按区域、设置开关支持整行点按,刷新前提示草稿和上传风险。
  • 开屏动画调整:保留较慢的从右往左拉出;作者头像、哔哩哔哩和 FA 2517 同组同步出现,换用浅蓝渐变背景。

为什么电脑插件也要更新?怎么更新?

这里的插件是现有 dsh-phone-remote 的 V1.2 升级版,不是再装一套远程软件。它是手机与电脑工作台之间的桥接,负责登录转接、页面/实时连接转发,以及这次新增的电脑端分块暂存、续传和上传回执。

只更新 APK,手机端的 MagicDNS 和专用 VPN 修复会生效,但旧插件没有 V1.2 的续传接口及桥接修复,无法获得完整的新上传能力。大文件上传、弱网恢复请两端一起更新。

  1. 电脑保持原有 Tailscale 安装和账号,无须重装 Tailscale。
  2. 下载 DSHgo-pc-plugin-v1.2.zip,完整解压。
  3. 打开解压出的 pc-plugin 文件夹,双击 install.bat。它会更新已有插件并注册到 dsh 的 profile;重复运行不会嵌套安装 bridge/bridge。
  4. 退出并重新打开 dsh 桌面版,让桥接加载新版本。
  5. 手机覆盖安装 DSHgo-v1.2.apk,再打开 DSHgo 连接。

默认不需要手改代码、重新配对或开放公网端口。若你原本使用自定义 Tailscale serve / 插件配置,请保留并检查自己的配置。

验证与已知限制

  • 34 项连接、上传与真 Chromium 手机适配回归通过;最终非调试 APK 已在 SM-F7310 覆盖安装并启动,免 root 的系统保存 ZIP 流程也实际验证过。
  • 测试涵盖随机丢包、抖动、乱序、限速、随机断连、外层中继连接重置和黑洞。约 32 MiB 文件在恢复正常网络后完成上传,草稿和当前页面保留。
  • 极端 45% 丢包、64 kbit/s 阶段会停滞;不承诺这种条件下仍能流畅使用。真实运营商 5G、不同设备后台策略仍请继续反馈。
  • 网络中断可续传;App/WebView 被杀、电脑桥接重启或登录身份改变后,需要重新选择文件。
  • 分块适配当前 DSH 文件 Worker 的 Blob 协议;图片保留原有图片协议,本次验证了合成 PNG。不能据此宣称所有图片格式均已解决。
  • 单文件协议上限 2 GiB,本次真机最大实测约 32 MiB,2 GiB 仍未压力验证。

更多测试范围见 V1.2 验收记录。大肥鱼图片署名与独立许可见 素材许可。

反馈时请附版本、复现时间、网络类型与导出的诊断 ZIP;请勿在公开 Issue 上传个人凭据或聊天内容。

DSHgo V1.1

Choose a tag to compare

@just-a-FA-for-name just-a-FA-for-name released this 22 Oct 13:43

V1.1 — 2026-10-22

V1.1 连接恢复紧急修复

  • 补回已经打开工作台之后的自动重连,网络恢复时重新启动工作台连接,不依赖整页刷新。
  • 修复恢复后仍显示「连接异常」:不再根据残留错误提示或聊天文字判断网络,
    改为连通性探测和实际 API / 实时流响应共同确认恢复。
  • 修复隧道短暂断开后,原生界面误走首次加载分支、可能刷新当前页面的问题。
  • 重连保留当前草稿和附件,不重放发送消息或上传请求;遵守自动重连开关并限制重试频率。
  • 旧探测超时不会覆盖较新的成功状态。仅网页可访问、实时会话尚未恢复时,继续显示恢复中。
  • 对外版本仍为 V1.1,Android 内部版本代码更新为 3,可直接覆盖安装。

新增

  • 手机对话文件上传:从输入区「+ → 文件」打开 Android 系统文件选择器,按网页要求支持单选或多选。文件先添加到草稿,仍由用户确认发送。
  • 窄屏抽屉式侧边栏:默认收起,通过顶栏左侧菜单图标展开;点遮罩、选会话或按返回键后收起。设置开关即时生效。
  • 手机布局适配:侧边栏展开时覆盖在对话之上,不再挤压对话宽度;右侧预览区、弹窗和顶栏按钮适配窄屏。

优化

  • 流畅度:不再在每次流式输出时遍历整页弹窗和所有子元素;改为按帧合并更新、处理新增节点,并在页面隐藏时暂停额外适配工作。
  • 启动体验:工作台就绪后尽快进入页面,不再强制等待 6.5 秒启动动画。
  • 交互:保留正文选择复制,限制会话切换引起的自动键盘弹出;顶栏图标补充无障碍描述。
  • 串流:SSE / NDJSON 逐块转发,其他文本按需流式 gzip,减少首包等待及完整响应缓冲。
  • 弱网恢复:页面加载失败采用带随机抖动的退避重试;遵守自动重连开关,手动重连无需等待。

修复

  • 修复侧边栏收起后对话区域落入零宽度网格列、出现白屏的问题。
  • 修复旧网络断开事件清空仍可用的新网络,以及资源转发目标切换后仍连接旧电脑的问题。
  • 修复重复轮询、已销毁界面遗留网络监听,以及 WebSocket / HTTP 断开后的连接清理问题。
  • 修复写入请求在断线时被自动重放的风险;仅对只读请求进行网络失败重试,取消请求不重试。
  • 不再根据聊天正文里的「请重试」等文字自动点击按钮或刷新页面,也不再把旧 API 缓存冒充成功响应。
  • 允许 App 的本机回环 HTTP / WebSocket 转发,避免 Android 拦截本机 inspector 通道;其他明文目标仍禁用。
  • 修复电脑插件重复安装时生成 lib/lib、bridge/bridge,导致更新文件没有替换到运行位置的问题。

已知问题

  • 三星 SM-F7310 测试机仍可能提示「文件资源服务不可用」,无法预览读取的图片。另一台主力机正常;本版暂不修复此设备兼容问题。
  • 真实运营商网络切换和长期后台运行仍需持续观察,不代表所有设备与网络环境均已完成验收。

升级方式

  1. 手机覆盖安装 DSHgo-v1.1.apk,无需卸载,保留登录和设置。
  2. 电脑更新插件文件,重新运行 pc-plugin/install.bat 并重启 dsh。
  3. Android 版本名 1.1,当前版本代码 3;电脑插件版本 1.1.0。

DSHgo v1.0

Choose a tag to compare

@just-a-FA-for-name just-a-FA-for-name released this 21 Oct 12:31

首个正式版本

  • 手机端 DSHRemote.apk(内置 Tailscale,arm64 + armv7)
  • PC 端见仓库 pc-plugin/(install.bat 一键安装)
  • 使用说明:docs/使用说明.md

有问题 B 站视频下方交流 @Fa2517