OhGithubLost 6.2.0 · 正式版 / Stable
下载链路重做(端点 / 路由 / 完整性)+ 文件预览 + 隐私承诺。九条构建腿全绿。 Download pipeline rebuilt (endpoints, routing, integrity), plus file previews and a privacy commitment.
新增 / Added
- 文件预览:图片(可缩放)、SVG(矢量渲染)、XML 与文本(语法高亮)。 在仓库页长按文件 →「打开方式」可在「内置预览 / 编辑器 / 浏览器」之间选择。 File previews for images (zoomable), SVG (vector), XML and text; long-press a file in the repository page and pick “Open with”.
- Action 构建产物下载控件:运行详情页列出产物(名称 / 大小 / 有效期), 已过期的条目直接禁用。 Build-artifact download control in the run detail page; expired artifacts are disabled.
- 编辑器长按菜单:复制 / 剪切 / 粘贴 / 全选(只读态自动裁掉剪切与粘贴)。 Long-press selection menu in the code editor.
- 引导页最后一页《开源协议与隐私承诺》(15 语言全文): 保证不收集数据(无遥测 / 分析 / 广告 / 追踪 SDK,令牌只在本机), 并明确排除可选的 Web 浏览器版本 —— 该功能默认关闭,开启前会再次单独提示。 A licence-and-privacy page as the final onboarding step, guaranteeing no data collection while explicitly excluding the optional Web build.
变更 / Changed
- 内置加速通道改为
https://proxy.344977.xyz/(单前缀转发完整原始链接), 同意协议版本 1 → 2(地址变更属实质修改,需重新征求同意)。 Built-in acceleration channel switched toproxy.344977.xyz; consent version 1 → 2. - 加速路由改为纯函数判定(
ogLAccelCandidates):签名族(Release 附件 / Action 日志 / 产物)按 500KB 阈值;raw 族仅「内置通道 + 公开仓库」才加速。 Routing is now a pure function: signed assets follow a 500 KB threshold; raw assets accelerate only on the built-in channel for public repositories. - 仓库文件取法按是否加速分流:不加速走 API
(
/repos/{o}/{r}/contents/{path}+Accept: application/vnd.github.raw, 实测支持 Range,多连接分片不退化);加速才把 raw 链接交给代理。 Repository files now use the Contents API with the raw media type when not accelerating, and only hand raw links to the proxy when accelerating. - README 仓库内图片:内置 + 公开时改走 raw + 代理 —— raw 不限流,而 Contents API 认证后也只有 5000 次/小时,一次 README 几十张图很容易吃配额。 README images use raw through the proxy on the built-in channel: raw is not rate-limited, unlike the 5 000/hour authenticated Contents API.
- 登录页精简:删掉「怎么拿令牌」引导、「向导进度」四步清单与重复标题, 保留安全说明、输入、显示/隐藏、登录与游客入口(文件缩小 27%)。 Login page simplified; the how-to guide and step checklist are gone.
- 下载管理页的状态与分类标签改为走 i18n(此前是域层硬编码中文)。 Download status/category labels are now localised.
修复 / Fixed
- 私有仓库下载未带认证头(Release 附件 / Action 产物 / 仓库文件三处都会 401/404)。私有仓库此前实际上无法下载。 Private-repository downloads carried no auth header and failed outright.
- 下载后不校验完整性:现在比对 GitHub 提供的 SHA-256;不匹配判为失败且 不导出到 SAF;没有摘要可比对时如实标注「未校验」,不声称已验证。 Downloads are now verified against GitHub’s SHA-256 digest; mismatches fail and are never exported. Resources without a digest are honestly labelled “not verified”.
- 文件名未做净化:新增净化(只取末段、剔控制字符、拒
..、绕开 Windows 保留设备名、限长 120 并保住扩展名)。 Download file names are now sanitised. - 非 http(s) 地址被放行:新增协议白名单,入队与全部降级地址一律校验。 A scheme allow-list now rejects anything that is not http/https.
- 跨域重定向的令牌外泄风险:此前依赖 Dart SDK 未文档化的”自动剥离
Authorization”行为;现在显式不跟随重定向,并校验跳转目标(拒绝回环 / 私网 /
链路本地,含云元数据
169.254.169.254)。 Redirects are no longer followed implicitly, and redirect targets are validated. - 构建:Windows 两条腿 spec 从未被应用 —— Windows runner 无 PyYAML,注入器 走了手写的兜底解析器,而它几乎解析不出内容,导致编译宏全部未注入。 已重写为缩进驱动解析器,与 PyYAML 结果逐字段一致。 Windows builds never applied the platform spec because the dependency-free YAML fallback parser was broken; it has been rewritten.
- 构建:Android 五条腿未跟进 Kotlin DSL 迁移 —— 模板已生成
build.gradle.kts,spec 仍指向build.gradle,注入被静默跳过,compileSdk停在 36 且 desugaring 未开。注入器现在缺目标文件即报错退出, 失败点从编译期前移到注入期。 Android legs had not followed the Kotlin DSL migration; the injector now fails loudly instead of silently skipping. - 发布:Linux 的 deb / rpm / AppImage 从未真正发布过 —— 发布作业没有
actions/checkout,工作目录是空的,tool/linux_packages.py根本找不到; 而该步骤带|| true,把错误整个吞掉。v5.6.0、v6.0.0、v6.2.0 的 Release 里 裸放安装包数量均为 0。已补上签出步骤,并把「脚本不存在」改为非零退出码失败 (单个格式打包失败仍只告警,不拖垮发布)。 Linux .deb / .rpm / AppImage were never actually published: the release job had noactions/checkout, so the packaging script was absent, and|| trueswallowed it.
移除 / Removed
- main 上的 Web 残留:
.github/workflows/web.yml(挂在push:[main],每次推 main 都会执行且带contents: write)、tool/web_build.py、docs/WEB.md。 - 5 个已被
platform_spec.yaml+ 统一注入器取代的旧脚本 (inject_android_gradle/inject_android_icon/inject_android_manifest/inject_desktop_shell/inject_windows_cmake)。 - 2 个无引用的遗留文档(
docs/ANIMATION_PLAN.md、docs/RELEASE_NOTES.md)。
已知限制 / Known limitations
- 私有仓库的 raw 内容无法走加速(README 仓库内图片、仓库文件)。
raw端点 没有签名机制,私有内容必须直接带令牌 —— 交给代理等于泄露令牌。这是硬约束。 Raw content of private repositories cannot be accelerated: the raw endpoint has no signing mechanism, so delegating it to a proxy would leak the token. - 音频不做内置播放:Contents API 对超过 1 MB 的文件不返回内容,音频必然超限。 可在下载后用系统播放器打开。 No in-app audio playback: the Contents API returns no content above 1 MB.
- Web 功能不在隐私承诺范围内(见引导页最后一页);该功能默认关闭。 The Web build is excluded from the privacy commitment; it is off by default.
- macOS / iOS 自 v5.6.0 起弃用。
- Linux 需要 glibc ≥ 2.35(Ubuntu 22.04 一代及以上)。
- Linux 裸放安装包本版仅 3 / 6:deb(两架构)与 rpm(x86_64)已产出, rpm(arm64)与两个 AppImage 尚未产出。三种包在 zip / 7z 里都齐全, 详见「产物」一节。
产物 / Artifacts
Android arm64-v8a / armeabi-v7a / x86_64 / universal-APK / AAB、
Windows x64 / arm64、Linux x64 / arm64,每份均含 zip 与 7z。
Linux 裸放安装包:本版只产出了 3 / 6(如实说明)
这三种包此前从未真正发布过 —— 本版第一次让它们开始产出,但仍未齐备:
| amd64 / x86_64 | arm64 | |
|---|---|---|
.deb |
✅ | ✅ |
.rpm |
✅ | ❌ Ubuntu 的 rpm 缺少 aarch64 平台定义,无法在 x86_64 宿主上交叉构建 |
.AppImage |
❌ | ❌ appimagetool 未接受到 ARCH 环境变量,退出码 1 |
三种包在 zip / 7z 里都齐全 —— deb / rpm / AppImage 一并打进了
OGL-v6.2.0-Linux.*.zip 与 .7z,所以功能上不缺,只是没有裸放直传。
裸放安装包是本版新增的,缺失项会在后续版本补齐。
下载 / Download
本版本共 23 个构件产物。
Android
| 文件 | 大小 |
|---|---|
| OGL-v6.2.0-Android.AAB.7z | 60 MB |
| OGL-v6.2.0-Android.AAB.zip | 62 MB |
| OGL-v6.2.0-Android.arm64-v8a.7z | 8.2 MB |
| OGL-v6.2.0-Android.arm64-v8a.zip | 11 MB |
| OGL-v6.2.0-Android.armeabi-v7a.7z | 8.2 MB |
| OGL-v6.2.0-Android.armeabi-v7a.zip | 11 MB |
| OGL-v6.2.0-Android.universal-APK.7z | 20 MB |
| OGL-v6.2.0-Android.universal-APK.zip | 29 MB |
| OGL-v6.2.0-Android.x86_64.7z | 8.7 MB |
| OGL-v6.2.0-Android.x86_64.zip | 11 MB |
Windows
| 文件 | 大小 |
|---|---|
| OGL-v6.2.0-Windows.arm64.7z | 8.4 MB |
| OGL-v6.2.0-Windows.arm64.zip | 13 MB |
| OGL-v6.2.0-Windows.x64.7z | 9.6 MB |
| OGL-v6.2.0-Windows.x64.zip | 14 MB |
Linux
| 文件 | 大小 |
|---|---|
| OGL-v6.2.0-Linux.arm64.7z | 7.4 MB |
| OGL-v6.2.0-Linux.arm64.zip | 12 MB |
| OGL-v6.2.0-Linux.x64.7z | 8.2 MB |
| OGL-v6.2.0-Linux.x64.zip | 12 MB |
完整列表与校验信息见 Releases v6.2.0。