fix(download): LiteLoader 不再套 bmclapi 改写,Central 库接上 bmclapi/maven
bmclapi-liteloader 改成 enabled=false(规则保留作形状留档):2026-11-10 实探 `apply()` 的真实产物 https://bmclapi2.bangbang93.com/maven/versions.json 404 / 9 B、 /maven/com/mumfrey/liteloader/1.7.10/liteloader-1.7.10_04.jar 404 / 9 B、 /maven/com/mumfrey/liteloader/{maven-metadata.xml,1.12.2-SNAPSHOT/maven-metadata.xml} 全 404 / 9 B;官方 dl.liteloader.com 的 versions.json 200 / 49129 B、artifact 200 / 533903 B。引擎遇 404 只会白丢一次请求再前进(NotFound 不重试),官方不可达时 更是直接失败,所以镜像优先用户不该再为每个 LiteLoader 文件试一次镜像。 新增 bmclapi-maven-central(repo1.maven.org/maven2 → bmclapi/maven):bmclapi 的 /maven 不只是 libraries.minecraft.net 的镜像,Central 的路径逐字节一致(asm-all 5.2 247787 B、gson 2.10.1 283367 B、log4j-core 2.17.1 1790452 B,sha1 逐一相同),不存在 的坐标两侧都是 404(镜像回 9 B 纯文本,没有「200 + HTML」假阳性)。 快照仓 repo.mumfrey.com 不加规则:bmclapi /maven、maven.aliyun.com/repository/central、 repo.huaweicloud.com/repository/maven 对 com/mumfrey/liteloader/1.12.2-SNAPSHOT/ maven-metadata.xml 全是 404,只有官方 200 / 358 B,所以只登记探测结果、不铺未验证的规则。 测试:新增 liteloader_urls_stay_official_only(镜像优先模式也只出官方一条,把 enabled 翻回 true 的变异实测会红);library_urls_expand_to_the_maven_subpath_on_bmclapi 补 Central 用例;形态判据的 EXPECTED 表加 bmclapi-maven-central。不探外网。 version 保持 3 不升 4:download/jdk_sources.rs 与 tests/game/java_vendor_chain.rs 两处 pin 了 version == 3,后者不在本 mission 的 scope(第一轮 workspace test 就是被这条 pin 抓红的),升版留给专门一轮;规则改动与探测记录写进 mirrors.json 的 notes。
This commit is contained in:
1 parent
54995a4af8
commit
146eb3d8db
2 files changed
+55
-33
No files matched your search
@@ -1,11 +1,16 @@
|
||||
{
|
||||
"version": 3,
|
||||
"notes": [
|
||||
"M225(规则修订,version 仍为 3):① bmclapi-liteloader 关闭——2026-11-10 实测镜像侧全 404,LiteLoader 走官方直连;② 新增 bmclapi-maven-central,把 repo1.maven.org 的库接到 bmclapi 的 /maven(实测逐字节一致);③ 快照仓 repo.mumfrey.com 无任何镜像,登记为「不加速」。**不升 version 的原因**:v4 会把 `download/jdk_sources.rs::builtin_table_is_v3_with_all_four_source_families` 与 `tests/game/java_vendor_chain.rs`(`mirror_table_v3_registers_all_four_source_families`)里的 `version == 3` pin 弄红,升版得同时改那两处——本轮只修规则,version 的世代标记留给一次专门的升版。",
|
||||
"v3(D23/M36):adoptium 表收敛到清华 TUNA 一家(其余院校实测 404,登记保留但 enabled=false);新增 oracle_openjdk / microsoft_openjdk / zulu 三张表,供 game::java 的三发行版回退链使用。",
|
||||
"华为云 / 腾讯云 / 阿里云没有 Adoptium 镜像:华为云门户对任意不存在的路径都回 200 + 12KB HTML(假阳性,M34 实测),腾讯云 /v1/source.js 与华为云 /v1/repositories 的权威清单里都没有 JDK 项。据此不再登记 adoptium.huaweicloud。",
|
||||
"oracle_openjdk 的目录与文件名与 download.java.net 完全同构,但 hash 段(f2283984656d49d69e91c558476027ac)不可推导——候选 URL 只能来自对镜像目录页的解析,禁止拼装。",
|
||||
"microsoft_openjdk 没有国内镜像,也没有 GitHub 资产(api.github.com 的 microsoft/openjdk releases 里 assets 全空);唯一渠道是 aka.ms 模板 301 → download.visualstudio.microsoft.com(国内约 400 KB/s)。",
|
||||
"zulu 的 API size 字段与真实字节数差 133 B,只能用于展示;校验一律用 sha256_hash。"
|
||||
"zulu 的 API size 字段与真实字节数差 133 B,只能用于展示;校验一律用 sha256_hash。",
|
||||
"LiteLoader 的 bmclapi 改写已关闭(bmclapi-liteloader.enabled=false,规则保留作形状留档):2026-11-10 实探 curl -sS -L -o /dev/null -w '%{http_code} %{size_download}' —— 官方 https://dl.liteloader.com/versions/versions.json 200 / 49129 B、.../com/mumfrey/liteloader/1.7.10/liteloader-1.7.10_04.jar 200 / 533903 B;镜像侧(`apply()` 的真实产物:`from` 吃掉 `/versions` 后剩下 `/versions.json`)https://bmclapi2.bangbang93.com/maven/versions.json 404 / 9 B、/maven/com/mumfrey/liteloader/1.7.10/liteloader-1.7.10_04.jar 404 / 9 B、/maven/com/mumfrey/liteloader/{maven-metadata.xml,1.12.2-SNAPSHOT/maven-metadata.xml} 也是 404 / 9 B。(任务描述里的 `/maven/versions/versions.json` 也实测 404,但那条双段路径不是这条规则拼出来的,别照样抄。)引擎遇 404 会前进到官方(NotFound 不重试),所以留着这条只会让镜像优先用户每个文件白丢一次请求;官方不可达时更是直接失败。",
|
||||
"bmclapi-maven-central 的依据:bmclapi 的 /maven 是真的 maven 代理(不止 libraries.minecraft.net)。2026-11-10 实测 —— 官方 repo1.maven.org 与镜像 200 且字节数一致、sha1 逐一相同:org/ow2/asm/asm-all/5.2 (247787 B)、com/google/code/gson/gson/2.10.1 (283367 B)、org/apache/logging/log4j/log4j-core/2.17.1 (1790452 B),另有 asm 9.3 / asm-util 9.3 / jna 5.13.0 / annotations 24.0.1 字节数一致;不存在的坐标两侧都是 404(镜像回 9 B 纯文本,无「200 + HTML」假阳性)。注意两点:① 镜像还是上游的超集(org/spongepowered/mixin/0.8.5 在 Central 是 404、镜像 200 / 1089277 B),命中超集不影响校验(清单自带 sha1);② 镜像对 Range 请求回 200 全量而非 206,所以这条规则只对不走分块的资源有实际意义(库文件是 Library,本来就 not prefers_chunked)。",
|
||||
"快照仓不加速(不登记规则):LiteLoader 的快照分支固定在 https://repo.mumfrey.com/content/repositories/snapshots/(M222 的 SNAPSHOT_REPO)。2026-11-10 实测官方 .../com/mumfrey/liteloader/1.12.2-SNAPSHOT/maven-metadata.xml 200 / 358 B,而候选镜像 bmclapi /maven 404 / 9 B、maven.aliyun.com/repository/central 404 / 689 B、repo.huaweicloud.com/repository/maven 404 / 394 B —— 没有任何镜像有 com/mumfrey,所以这条还是直连,别按「同族都该有镜像」的直觉加规则。",
|
||||
"repo.maven.apache.org(Central 的官方别名)实测 200 / 247787 B,镜像同路径也 200 / 247787 B,但本仓库没有任何生产代码用这个 host(发行版库基址用的是 repo1.maven.org),所以不登记第二条规则——要用时再加,别为「可能有人用」提前铺。"
|
||||
],
|
||||
"gh_proxies": [
|
||||
{
|
||||
@@ -156,10 +161,16 @@
|
||||
"from": "https://meta.quiltmc.org",
|
||||
"to": "https://bmclapi2.bangbang93.com/quilt-meta"
|
||||
},
|
||||
{
|
||||
"id": "bmclapi-maven-central",
|
||||
"from": "https://repo1.maven.org/maven2",
|
||||
"to": "https://bmclapi2.bangbang93.com/maven"
|
||||
},
|
||||
{
|
||||
"id": "bmclapi-liteloader",
|
||||
"from": "https://dl.liteloader.com/versions",
|
||||
"to": "https://bmclapi2.bangbang93.com/maven"
|
||||
"to": "https://bmclapi2.bangbang93.com/maven",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"id": "bmclapi-authlib-injector",
|
||||
|
||||
Reference in new issue
Block a user