Skip to content

Releases: xswt442-cmd/dsh-instance-manager

v0.9.12

Choose a tag to compare

@github-actions github-actions released this 17 Sep 14:41

修复

  • 自动选端口改为先实际尝试监听再返回,且重试会跳过上一次失败的那个端口。此前端口在扫描时看起来空闲、子进程监听时却报 EADDRINUSE,换口重试又挑中同一个端口,形成子进程反复启动即死、面板一直停在「启动中…」的循环。
  • 面板的「启动中…」状态改为在请求结束后无条件复位,后续刷新失败不再把按钮永久留在禁用态。

完整变更: v0.9.10...v0.9.12

v0.9.10

Choose a tag to compare

@github-actions github-actions released this 17 Sep 12:18

新增

  • 启动新实例可指定端口:留空沿用自动选择;指定端口被占用时返回 port_in_use 且不换口启动;非整数或超出 1–65535 返回 400,不静默回退。
  • 丢失扫描/绑定竞态的重试只对自动选择生效,指定端口失败不再换口重试。

变更

  • 停止确认态改为橙色描边 + 「确认?」。红色表示已发生的错误,而停止尚未执行、仍可撤销。未确认时仍是红色描边「停止」。

完整变更: v0.9.9...v0.9.10

v0.9.9

Choose a tag to compare

@github-actions github-actions released this 17 Sep 12:01

修复

  • 停止的两步确认此前只对当前实例生效,其他实例一次点击即执行。现在所有可停止的本地实例都先进入确认态。
  • 确认态文案由「确认结束?」改为「再次点击结束」,确认窗口 4 秒后自动取消。

变更

  • README 抬头统一为一致徽章行。

完整变更: v0.9.8...v0.9.9

v0.9.8

Choose a tag to compare

@github-actions github-actions released this 16 Sep 17:35

修复

  • 行的 :端口 链接改指 ?action=open&port=:宿主从 server-<port>.out.log 读出该实例当前进程的 token 并返回 303。DSH 要求实例根 URL 携带每进程 token,原先的裸根地址必然 401。
  • token 每次进程启动重新生成,同一端口重启后日志中会累积多行,因此只取最后一条。
  • 日志行按 URL 解析并校验协议、回环主机、端口、根路径与 token;任一项不符即视为无 token。
  • 无 token 可读(实例不由本机 launcher 启动或日志已轮转)时返回 409 launch_token_unavailable,不再跳到裸根地址。
  • 远程实例行的端口链接由该 peer 自身的面板执行同一换取流程。

安全

  • token 只出现在 303 响应的 Location 头,带 cache-control: no-storereferrer-policy: no-referrer,不进面板状态也不进链接 href
  • action=openlist / logs / sessions 走同一浏览器认证门。

完整变更: v0.9.7...v0.9.8

v0.9.7

Choose a tag to compare

@github-actions github-actions released this 15 Sep 17:01

维护

  • 共享片段的 CI 校验改为在本仓执行(loopback:check / guard:check),不再跨仓比对。
  • LICENSE 版权署名统一为 xswt442-cmd

完整变更: v0.9.6...v0.9.7

v0.9.6

Choose a tag to compare

@github-actions github-actions released this 14 Sep 17:49

安全

  • 修复同源校验的一处绕过:Host 头存在但解析不出主机名时(例如写成未加方括号的 IPv6 主机 ::1:3080,RFC 7230 不允许这种写法),此前会整段跳过白名单校验。现在这类请求一律按非回环拒绝。
  • IPv4-mapped IPv6 回环 [::ffff:127.0.0.1] 现在在 Origin 路径上也能被识别为回环。此前它只出现在 Host 白名单里,而 URL 解析器会把这种写法规范化成 [::ffff:7f00:1],导致 Origin 校验永远匹配不上。

修复

  • 通过 IPv6 回环地址(::1)访问时不再被拒绝。

完整变更: v0.9.5...v0.9.6

v0.9.5

Choose a tag to compare

@github-actions github-actions released this 04 Sep 15:01

变更

  • 适配 DSH 0.1.2-rc.1 的 Connection 鉴权:浏览器 API 与 SSE 使用签名 cookie,内部实例探测保留严格 loopback 通道;Connection 拒绝或卸载时不再降级放行。
  • 网页面板启动的新实例会打开 DSH 的一次性 token URL 完成 cookie 交接;Agent 工具启动仍使用 --no-open,并统一采用显式 --profile web 参数。
  • 面板语言跟随 DSH 全局 locale,移除独立的 dshim-lang localStorage 偏好与语言按钮;旧 DSH 仍按浏览器语言降级。
  • 兼容检查覆盖 0.1.2-rc.1 与 latest。

修复

  • 请求守卫改用 TCP 对端地址判定本地性。对于旧版或自定义的远程监听,此前远端来源伪造 Host: 127.0.0.1 即可通过守卫并绕过 fleet bearer,执行 start / stop / stop-all / stop-self。
  • 对端地址缺失或为空白时按未知来源拒绝,不再视为本地请求。
  • 服务运行在 HTTP 默认端口 80 时,省略端口的同源 Origin(如 http://127.0.0.1)不再被误判为跨源。

完整变更: v0.9.4...v0.9.5

v0.9.4

Choose a tag to compare

@github-actions github-actions released this 02 Sep 14:39

变更

  • Dock 片段改由 dsh-mini-utility-dock 同步;插件发布物仍可独立运行。
  • Dock 统一过滤外部 SVG 图标,并为无效图标显示文本回退。

完整变更: v0.9.3...v0.9.4

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 01 Sep 20:11

新增

  • 配置迁移至 settings,区分即时生效与重启生效的选项,并保留 env 作为默认层。
  • Fleet token 作为 secret 存储;无效配置自动回退到 schema 默认值。

修复

  • 修复缺少 token 时远程请求返回 500;现在按预期返回 403。

完整变更: v0.9.2...v0.9.3

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 31 Aug 11:33

变更

  • DSH Instance 与 TreeKeeper 接入带版本的 Mini Utility Dock 协议。
  • Dock 注册支持 HMR 所有权保护;打开一个面板会关闭同级面板。

修复

  • 中英文面板标题统一为 DSH Instance

完整变更: v0.9.1...v0.9.2