Skip to content

Releases: guo641/doustudio

DouStudio v0.3.16

Choose a tag to compare

@github-actions github-actions released this 20 Aug 11:39

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.16-<plat>.zip.sha256

DouStudio v0.3.15

Choose a tag to compare

@github-actions github-actions released this 20 Aug 08:48

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.15-<plat>.zip.sha256

DouStudio v0.3.11-rc2

Choose a tag to compare

@github-actions github-actions released this 19 Aug 12:24

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.11-rc2-<plat>.zip.sha256

DouStudio v0.3.11-rc1

Choose a tag to compare

@github-actions github-actions released this 19 Aug 12:19

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.11-rc1-<plat>.zip.sha256

DouStudio v0.3.10-rc1

Choose a tag to compare

@github-actions github-actions released this 19 Aug 10:12

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.10-rc1-<plat>.zip.sha256

v0.3.9 — 半在线心跳 License Server + 客户端信任根固化

Choose a tag to compare

@github-actions github-actions released this 19 Aug 08:40

v0.3.9 重大更新

本版本完成半在线心跳 License Server 上线与客户端信任根加固,并补齐时钟与首次心跳的安全边界。

安全加固

Phase-1: License Server

  • 生产服务运行于 Ubuntu 24.04,使用非 root systemd 服务与 Python venv。
  • TLS 自签证书带 IP SAN,并以 SPKI pin 作为客户端身份信任依据。
  • 服务端 Ed25519 签名私钥采用加密 PKCS8 存储。

Phase-2: 客户端信任根

  • 嵌入真实 server Ed25519 公钥。
  • 固定心跳端点 https://124.221.210.12:8443。
  • 强制实时 SPKI pin 校验;pin 不匹配时拒绝续期。
  • server 公钥缺失或签名无效时 fail-closed,仅保留 7 天离线 grace,不因单次网络故障退出程序。

Phase-3: P1 加固

  • 校验 server_timestamp 单调性,防止时钟回拨绕过。
  • 修复 fresh_until <= 0 首次心跳无限 grace 问题,并以签名 issued_at 作为首次 grace 锚点。
  • 显式校验响应 client_pubkey 与本机请求一致。
  • 重新编译并打包 Cython verifier。

已关闭风险

  • Fake license-server MitM 续期绕过。
  • 接受任意自签证书的 SPKI pin 空实现。
  • 空 server 公钥时跳过签名校验的 fail-open。

下载与校验

  • Windows x86_64: DouStudio-v0.3.9-windows-x86_64.zip
  • ZIP SHA-256: 7A38C63812555318179A19AC68AB8613FDAAAF968240AE049B181F30845AF1EC
  • 同名 .sha256 文件已随 Release 上传。
Get-FileHash -Algorithm SHA256 .\DouStudio-v0.3.9-windows-x86_64.zip

验证

  • GitHub Actions 构建与上传成功。
  • License 触达回归:67 passed,1 skipped。
  • 版本、设置与更新路径:50 passed。
  • Windows 真机:主界面启动成功,无重复激活弹窗。
  • 打包程序健康检查:version=0.3.9、activated=true、license_status=valid。
  • 生产心跳握手成功,fresh_until、last_server_sync 与 clock_offset_ms 已真实落盘。

升级提示

  • 启动时会连接 124.221.210.12:8443 执行一次授权心跳。
  • 临时网络故障不会立即阻止使用;有效授权按 7 天离线 grace 运行。
  • 后台默认每 24 小时续期一次。

DouStudio v0.3.1.3

Choose a tag to compare

@github-actions github-actions released this 12 Aug 09:33

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.1.3-<plat>.zip.sha256

DouStudio v0.3.1.2

Choose a tag to compare

@github-actions github-actions released this 12 Aug 08:53

自动构建产物。SHA256 见同名 .sha256 文件。

验证

sha256sum -c DouStudio-v0.3.1.2-<plat>.zip.sha256

v0.2.37.3

Choose a tag to compare

@guo641 guo641 released this 10 Aug 05:03

v0.2.37.3

两个用户反馈合并到一起修:

修复 / 体验

  1. 隐藏账号列表里的 token 显示列 + 刷新 token 按钮 — 用户截图反馈 token 列里显示「cookie 里缺少关键字段:['web_id', 'ms_token']」之类的内部 hint 不该给普通用户看。token 状态本来就是后端内部用的,前端展示出来反而制造焦虑。

    • 删 thead 里的 Token 列、tbody 里的 token badge / age / hint 三件套、行末「🔄 刷新 token」按钮、配套的 refs / 函数 / onMounted 调用。
    • 兜底链路保留:每行「🍪 重新导出 cookies」按钮仍在(v0.2.37.2 已加),cookie 在线但 cookies.json 损坏时一键修。
    • 后端 /api/accounts/{id}/webmssdk-tokens 端点保留供内部使用,只是前端不再展示数据。
  2. 画面描述上限 2000 → 5000 字 — 用户反馈 2000 字太短,复杂场景描述经常被截断导致生成结果跟预期不符。

    • 前端 <DpTextarea> :maxlength="2000" 提到 5000,底部计数提示同步。
    • 后端 CreateVideoTaskBody.prompt 加 max_length=5000;prompts 列表用 field_validator 给每个元素也按 5000 字封顶。
    • 新增 test_create_video_task_body_rejects_prompt_over_5000_chars 守住 Pydantic 边界。

v0.2.37.2

Choose a tag to compare

@guo641 guo641 released this 10 Aug 04:01

v0.2.37.2

修复

  • cookie 读取主源改成 cookies.json:登录流程已经存了一份明文 JSON cookies,直接读它,不再尝试解密 Chromium SQLite。
  • 删 v0.2.37 的 DPAPI Playwright 兜底 + keepalive 90s + 18s 探测:用户反馈「只要 cookie 在线账号就没问题」,核心是读 cookies.json,这些补偿链路反而把流程搞复杂,验证后才删。
  • refresh-tokens 端点简化:直接复用登录流程的 cookie 落盘逻辑(同一个 profile_dir 复用同一个 cookies.json)。

新增

  • 重新导出 cookies 按钮(行级,账号表格每行):当 cookie 在线但 cookies.json 丢/损坏时,用户点一下让 Playwright 重新打开浏览器(~8 秒窗口偏移到屏幕外)拉一份新 cookies.json 落盘。

影响

  • 用户体验:cookie 在线但 token 失败的场景,从「等 90 秒超时报错」变为「点按钮 ~10 秒修好」。
  • 兼容性:已有账号无需重登。