💐 Sync 2026-10-06 12:33:44

This commit is contained in:
github-actions[bot] committed 2026-10-06 12:33:44 +08:00
1 parent 8be03ce939
commit 7fe69dbb3a
246 files changed
+50330 -3414

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
## 更新内容
- 修复子域名反向代理规则的 WebSocket 开关未生效问题。
- 子域名规则现在会正确把 LuCI 中的「WS」配置传入 Nginx 站点生成逻辑。
- 修复后,Open-Box 等依赖 WebSocket 的动态连接、日志、内存和流量页面可通过 MiniGate 外网穿透正常建立动态通道。
## 验证
- `root/usr/lib/minigate/proxy.sh` 语法检查通过。
- 已在软路由实机验证:开启 `box` 子域规则 WebSocket 后,生成的 Nginx 站点配置包含 `Upgrade` 与 `Connection "upgrade"`。
- 普通公网 API 返回 200,未登录 WebSocket 请求返回 401,确认请求已进入上游认证层而非被反代层返回 404。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.14-1_all.ipk`。
- 源码安装包:`minigate-v2026.9.14-1-src.tar.gz`,适用于依赖和固件匹配的 opkg / apk 系统。
- 继续附带 `luci-app-minigate-v2026.9.14-1-src.tar.gz` 兼容旧更新器识别的源码包名。
- 本次只修复 MiniGate 反代生成逻辑,不改变现有配置文件格式。
+22
View File
@@ -0,0 +1,22 @@
## 更新内容
- 修复完成一次一键更新后,后续点击「检查更新」没有反应、只显示旧状态的问题。
- 更新流程现在会在成功、失败或回滚返回后显式释放更新锁。
- 安装与回滚启动 MiniGate、Nginx、登录防护和 LuCI 服务时会关闭更新锁文件描述符,避免长驻进程继承锁。
## 根因
旧版更新器持有 fd 9 执行安装脚本。安装脚本启动 Nginx 和登录防护日志监听进程后,这些长驻进程继承了更新锁;更新脚本退出后锁仍然存在,后续检查只能返回上一次保存的状态。
## 验证
- 更新器回归测试覆盖统一解锁和长驻服务文件描述符隔离。
- Shell 语法、版本一致性和安装包内容在发布前检查。
- 软路由部署后连续执行两次检查更新,并核对更新锁、MiniGate 服务、Nginx 配置和外网反向代理。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.14-2_all.ipk`。
- 源码安装包:`minigate-v2026.9.14-2-src.tar.gz`,适用于依赖和固件匹配的 opkg / apk 系统。
- 继续附带 `luci-app-minigate-v2026.9.14-2-src.tar.gz` 兼容旧更新器识别的源码包名。
- 本次不改变现有 MiniGate 配置格式。
+19
View File
@@ -0,0 +1,19 @@
## 更新内容
- 新增适合 SSH 登录软路由后直接执行的短安装命令:
```sh
curl -fsSL https://raw.githubusercontent.com/tpxcer/minigate/main/scripts/install.sh | sh
```
- 在线安装脚本自动获取 GitHub latest Release,不需要手工填写版本号或源码包文件名。
- 安装前后分别获取 `SHA256SUMS`,避免下载过程中恰好切换版本而混用文件。
- 安装前验证源码包 SHA-256、压缩包路径和三处版本信息,通过后才调用正式安装器。
- 保留 README 中的固定版本安装方式,便于指定版本和手工复核。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.14-3_all.ipk`。
- 源码安装包:`minigate-v2026.9.14-3-src.tar.gz`。
- 继续附带 `luci-app-minigate-v2026.9.14-3-src.tar.gz`,兼容旧更新器识别的源码包名。
- 本次只更新 GitHub 项目,不自动安装到软路由。
+21
View File
@@ -0,0 +1,21 @@
## 更新内容
- 在 minigate 总览标题右侧新增「卸载」按钮。
- 点击后显示二次确认弹窗,明确提示 DDNS、证书续期、反向代理和登录防护会立即停止。
- 默认保留 `/etc/config/minigate`、证书、封禁记录和日志,方便以后重新安装。
- 用户主动勾选后,可同时彻底删除配置、证书、封禁记录和日志。
- 卸载脚本兼容源码安装、opkg 和 apk,并清理 minigate 的 cron、运行进程、防火墙状态、临时文件和 LuCI 缓存。
- 按钮与确认弹窗适配深浅色主题和移动端布局,取消、Esc 或点击遮罩均不会执行卸载。
## 安全边界
- LuCI 卸载接口只接受 POST 请求,并校验固定确认值和 `0/1` 数据清理选项。
- 卸载脚本先复制到随机临时文件再后台执行,避免删除程序目录后中断自身。
- 卸载会中断由 minigate 提供的公网入口,建议从 LAN 或 SSH 登录 LuCI 后操作。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.14-4_all.ipk`。
- 源码安装包:`minigate-v2026.9.14-4-src.tar.gz`。
- 继续附带 `luci-app-minigate-v2026.9.14-4-src.tar.gz`,兼容旧更新器识别的源码包名。
- 本次本地实现不会自动安装到软路由,也不会自动卸载现有实例。
+17
View File
@@ -0,0 +1,17 @@
## 更新内容
- 项目名称和 OpenWrt 内部包名统一为 `minigate`,GitHub 仓库改为 `tpxcer/minigate`。
- 版本号按北京时间(Asia/Shanghai)发布日期命名:首版为 `2026.9.14`,同日后续版本依次为 `2026.9.14-1`、`2026.9.14-2`。
- 登录 LuCI 后打开 minigate 总览,自动检查 GitHub 最新正式版。自动检查只提示,不下载或安装;10 分钟内复用成功检查结果,手动检查不受此限制。
- 点击「一键更新」先显示本次 Release 的更新内容,点击「确认更新」才安装。期间若最新版本改变,会要求重新查看并确认。
- 更新说明弹窗跟随深浅主题,支持滚动长说明、键盘切换、Esc 关闭和取消。
- 修复更新成功状态可能导致页面反复刷新的问题;保留 SHA-256 校验、配置备份、服务验证与失败回滚。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.14_all.ipk`。
- 源码安装包:`minigate-v2026.9.14-src.tar.gz`,适用于依赖和固件匹配的 opkg / apk 系统。
- 为兼容 `v1.3.11` 的更新器,本次另附内容相同的 `luci-app-minigate-v2026.9.14-src.tar.gz`。旧名称只用于兼容,不是新内部包名。
- `v1.3.11` 用户升级到本版后,才具备自动检查和更新说明弹窗;旧版不能识别带 `-N` 后缀的日期版,建议先升级本版,或按 README 手动安装。
- 源码/网页更新不修改包管理器数据库。原来通过旧名 IPK/APK 安装的用户,请按 README 先备份并迁移包名,不要混用两种包名。
- 本次仅发布 GitHub 更新,不自动安装到任何软路由。
+18
View File
@@ -0,0 +1,18 @@
## 修复内容
- 修复从 `v2026.9.14-4` 一键更新时可能显示「安装失败,正在恢复原版本」的问题。
- 当 OpenSSL CLI 已可正常执行、但定制固件的包数据库没有 `openssl-util` 安装记录时,源码安装器不再重复调用包管理器安装。
- OpenSSL CLI 确实缺失时,仍会通过当前系统的 opkg 或 apk 安装 `openssl-util`。
## 原因
- `v2026.9.18` 为修复 ACME 依赖,把 `openssl-util` 加入源码安装依赖。
- 部分定制固件可能已经通过可信包内容部署 `/usr/bin/openssl`,但没有对应的 apk 安装记录。
- 旧检测只看包数据库,会继续运行 `apk add openssl-util`;软件源与固件不匹配时安装失败,MiniGate 更新器会按设计自动回滚。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.18-1_all.ipk`。
- 源码安装包:`minigate-v2026.9.18-1-src.tar.gz`。
- 继续附带 `luci-app-minigate-v2026.9.18-1-src.tar.gz`,兼容旧更新器识别的源码包名。
- 本次修复不会自动安装到软路由;请在 LuCI 中重新检查更新后手动更新。
+18
View File
@@ -0,0 +1,18 @@
## 修复内容
- 修复动态 DNS 正常运行,但「最近一天 IP 变化明细」显示读取失败、无法显示记录的问题。
- DDNS 写入端和 LuCI 查询端统一使用域名生成历史文件名,不再依赖两端表示不同的 UCI 匿名节名称。
- 接口成功但暂时没有 IP 变化记录时,页面现在显示「暂无 IP 变化记录」,不再误报读取失败。
## 原因
- DDNS 脚本枚举匿名配置节时得到 `@ddns[0]`,LuCI 查询接口得到的是 UCI 内部 `cfg...` 名称,导致写入和读取的文件路径不一致。
- 空 Lua 表可能被 JSON 编码为 `{}`,旧前端只接受数组,因而把正常空结果当成接口错误。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.18-2_all.ipk`。
- 源码安装包:`minigate-v2026.9.18-2-src.tar.gz`。
- 继续附带 `luci-app-minigate-v2026.9.18-2-src.tar.gz`,兼容旧更新器识别的源码包名。
- 旧版本生成的历史文件会保留,不会自动删除;更新后 MiniGate 启动时会立即执行一次 DDNS,同步生成新格式记录。
- 本次修复不会自动安装到软路由;请在 LuCI 中手动更新后终验。
+21
View File
@@ -0,0 +1,21 @@
## 更新内容
- 动态 DNS 页面新增「最近一天 IP 变化明细」。
- 按 DDNS 记录分别展示 IPv4 / IPv6 地址、开始时间、结束时间和持续时长。
- 当前仍在使用的 IP 标记为「使用中」,支持筛选单条 DDNS 记录和手动刷新。
- 桌面端使用紧凑表格,手机端改为纵向明细,优先显示 IP 地址和持续时间。
- 修复源码安装漏装 `openssl-util`,导致 ACME 签发和续期缺少 OpenSSL CLI 的问题。
## 存储与性能
- 历史保存在 `/etc/minigate/ddns-history`,每条记录文件权限为 `0600`。
- 只有检测到 IP 真正变化时才写入,稳定轮询不会触碰历史文件。
- 保留最近 24 小时事件和窗口前最后一条锚点,可正确计算跨越查询边界的持续区间。
- 普通卸载继续保留历史数据;只有主动选择彻底清理时才会删除。
## 安装与兼容性
- opkg 安装包:`minigate_2026.9.18_all.ipk`。
- 源码安装包:`minigate-v2026.9.18-src.tar.gz`。
- 继续附带 `luci-app-minigate-v2026.9.18-src.tar.gz`,兼容旧更新器识别的源码包名。
- 本次发布不会自动安装到软路由。