Skip to content

Releases: Wong0728/Zyn_iLink_ChatBox_WongMod

v3.2.5

Choose a tag to compare

@github-actions github-actions released this 24 Aug 15:36

v3.2.5(2026-08-24)

正式版本发布。本版包含多用户消息收发可靠性修复、自托管部署组件与完整的多平台 Release 构建。

一键本地安装

Windows(PowerShell 5.1+):

irm https://raw.githubusercontent.com/Wong0728/Zyn_iLink_ChatBox_WongMod/main/deploy/windows/install.ps1 | iex

Linux / macOS / Termux:

curl -fsSL https://raw.githubusercontent.com/Wong0728/Zyn_iLink_ChatBox_WongMod/main/deploy/linux/install.sh | bash

上述脚本默认固定下载本 Release 的 v3.2.5 预编译包,先验证同名 SHA-256 sidecar,再执行 --version 运行验证后安装到用户本地目录;GitHub API 失败时会重试并按固定资产名直连 Release。Linux x86_64/aarch64 包使用 musl 静态目标,不受安装机 glibc 版本限制;不会下载 Alpha 版本,缺少本机架构包时才从同一 v3.2.5 tag 回退源码编译。

修复与改进

  • 多用户 Web 会话不再依赖服务端共享的当前联系人;文本、媒体、重发、删除与清空操作均显式校验目标联系人。
  • 发送遇到明确的瞬态 iLink 失败时保留相同 client_id 重试一次;会话过期与普通失败分别返回给前端。
  • 重启或延迟加载用户机器人时恢复该用户的配置、轮询与未完成出站消息;重新认证后的 token 同步持久化。
  • 媒体发送 API 直接返回刚创建的消息对象,前端不会再通过“最后一条消息”猜测结果。
  • 首次初始化支持环境变量与 --non-interactive,服务模式明确使用 --no-repl,更适合容器和 systemd。
  • 登录 IP / 账号限流改为可配置、可查看、可由管理员清除,并补齐 /healthz 的状态信息。
  • Linux 安装器补齐 ilinkwm 兼容入口、非交互卸载参数与固定安装路径;API 参考随源码包发布。
  • Linux 安装器增加 Release API 重试、固定资产名备用下载、二进制运行验证和 zsh/fish PATH 持久化;首次运行向导在非 TTY 且缺少非交互凭据时直接退出,避免 EOF 无限重问。
  • Windows 安装器与 Linux 安装器对齐:Release API 重试、固定版本备用直链、SHA-256 与 --version 安装前后验证;更新命令明确指向当前正式版本。
  • README、部署指南和 Hero 页补充四平台便携包的解压目录、web/ 同级约定与 ILINK_DATA_DIR;本地打包清单不再混入历史 ZIP。
  • Linux x86_64/aarch64 Release 改为 musl 静态编译,并将 HTTP 客户端切换为 rustls,避免预编译包依赖过新的 glibc/OpenSSL。
  • setup_complete 加入系统设置白名单,README 中的 admin config set setup_complete 0 现在可用;补充 /static/* 与页面路由映射说明。
  • 依赖许可证白名单补充 rustls 链路所需的 ISC License,保持 cargo deny check 可复现通过。
  • 随源码包与四个平台二进制包一并分发 iLink-Self-Hosted/ 自托管部署组件,Release 构建前后均校验其存在。

发布资产

  • Windows x64、Linux x64、Linux arm64、macOS arm64 预编译包,以及源码包。
  • 每个 zip 均附同名 .sha256,另提供总表 SHA256SUMS.txt

v3.2.4-wm1.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 05:00

v3.2.4-wm1.1(2026-08-18)

仓库治理与安全加固轮次,无功能改动。重点:消除审查中发现的 17 项风险点。

修复

  • start.ps1 默认监听地址 0.0.0.0127.0.0.1(与 README §1.4「最安全」一致)。公网监听仍可手动设 ILINK_HOST=0.0.0.0 + 通过脚本内安全确认 + ILINK_ALLOW_INSECURE_PUBLIC=1
  • release.ymlgenerate_release_notes: true 替换为从 CHANGELOG.md 自动抽取对应版本段(解决"Full Changelog 链接重复 16 次"问题)。
  • release.yml:改为矩阵构建上传 artifact、单独 publish job 一次性创建 Release,并在发布前后校验版本、5 个 zip、sidecar 与 SHA256SUMS.txt
  • Windows/Linux 安装器下载预编译包后强制校验同名 .sha256,校验失败不会解压或覆盖旧安装;默认版本固定为 v3.2.4-wm1.1
  • Windows 服务与 Linux systemd 的 HTTPS 反代模式默认监听 127.0.0.1,仅受信内网明文模式允许 0.0.0.0
  • Cargo.toml / src/config.rs / README / Pages 宣传页统一为 v3.2.4-wm1.1,并补充 Apache-2.0 license 元数据。
  • 依赖锁文件升级 anyhow 1.0.102 → 1.0.104spin 0.9.8 → 0.9.9,消除 RustSec advisory 与 yanked 版本。
  • README §1.3 给出 CARGO_TARGET_DIR 显式命令(之前只说"可设…")。
  • README §4.4 引导用户开 GitHub Issue 反馈(之前只说"如发现 bug…")。
  • start.ps1 注释新增"为何默认 127.0.0.1 + 怎么扩到公网"。

新增

  • .github/workflows/ci.yml:PR + push main 触发 cargo fmt --check + cargo clippy + cargo build(多平台)。
  • rust-toolchain.toml:固定 Rust 1.95.0;CI 加入 cargo test --all-targets --locked,Windows Clippy 改为强失败。
  • .github/workflows/dependency-audit.yml + deny.toml:接入 RustSec audit、依赖来源/许可证/重复依赖检查。
  • .github/workflows/codeql.yml:接入 Rust CodeQL,第三方 Action 固定 commit SHA。
  • .github/ISSUE_TEMPLATE/bug_report.md + feature_request.md:规范化反馈入口。
  • .github/PULL_REQUEST_TEMPLATE.md:PR 提交清单(验证步骤、关联 Issue、兼容性影响)。
  • .github/CODEOWNERS:默认 owner 为 @Wong0728
  • .github/dependabot.yml:每周自动检查 cargo + github-actions 依赖更新。
  • CONTRIBUTING.md:贡献流程(分支、commit 规范、本地构建、PR 流程)。

仓库设置(API 操作)

  • main 分支启用 branch protection
    • allow_force_pushes = false(防止历史被重写)
    • required_linear_history = true(禁止 merge commit)
    • required_status_checks 包含两个平台的 Lint + BuildCI / README link check (Linux)
    • required_pull_request_reviews: required_approving_review_count = 1
  • 启用 web_commit_signoff_required(要求所有贡献者签署 DCO)。
  • 关闭 has_projects / has_wiki(项目早期不使用,减少干扰)。
  • 手动编辑 release v3.2.4 的 body:清掉 16 次重复的 Full Changelog 链接,替换为「请升级到 v3.2.4-wm1.1+」提示。

关于历史 force-push 的公开说明

首次 release(2026-08-16 17:25 UTC)后,早期 4 个 commit 通过 git push --force 被替换:

旧 SHA(已弃) 替换原因
bd3a2efd security 修复 含 2 个错提交文件:安全审计报告_2026-08-16.md分发/SHA256SUMS.txt
a3e01ea0 fix(ci) package.py 内容被新 553789d6 覆盖(内容相同)
8560b296 fix(installer) CRLF 内容被新 11e83c6b 覆盖(内容相同)
8604e5a9 docs: 云端发布指南更新 整条 commit 丢失,文件调整为内部材料不入仓

替换后 SHA 全变化(7d5c42a1 / 553789d6 / 11e83c6b / 431e0a53),但内容大致相同。Pages 部署历史里仍记录旧 SHA,跳转会 404

自 v3.2.4-wm1.1 起,main 分支启用 branch protection + allow_force_pushes=false,不再发生 force-push。

审计参考:详见仓库根 安全审计报告_2026-08-18_云端仓库审查.md(该文件被 .gitignore 屏蔽,外部不可访问)。

已知遗留

  • run_test.py(5.9 KB,仓库根目录)—— 开发辅助脚本,README §1.3 已说明角色,保留
  • web/landing.html(19 KB)—— Rust 服务的 / 路由;与 docs/hero/ilinkwm_hero.html(GitHub Pages)功能互补,保留
  • reference/Zyn-iLink-ChatBox-v3.2.4.py(750 KB)—— 原版 Python 单文件,作对照参考;下次大版本可考虑改用 git submodule 或单独仓库。
  • e3b1aa7 commit 含 GBK ↔ UTF-8 字节对位错乱 diff(install-service.bat +97 -97 零和)—— 历史可读性问题,无法清理。

v3.2.4

Choose a tag to compare

@github-actions github-actions released this 16 Aug 17:25

v3.2.4(历史版本)

这是早期发布的 v3.2.4-wm1.0 兼容资产,Release body 曾因重复触发累积错误的自动变更链接。

当前维护基线为 v3.2.4-wm1.1。请升级到新的正式 tag/Release;安装前请校验对应 .sha256 文件。

完整变更记录见 CHANGELOG.md