chore: add ProGuard obfuscation baseline for Forge mod #33

Closed
layue13 wants to merge 1 commits from chore/proguard into main
pull from: chore/proguard
Owner

Summary

为该 Forge 模组接入 ProGuard 混淆基线(minify + obfuscate),面向 1.7.10 / GTNH。

Changes

  • 新增 proguard-rules.pro(含 @Mod / Mixin / coremod / 枚举等 keep,以及本仓扫描到的入口类)
  • 新增 proguard.gradle;在 build.gradle 中 apply from
  • 默认不强制接入 assemble;使用 ./gradlew proguardJar -PtdlmProguard 或带 -PtdlmProguard 的 assemble
  • mapping 输出到 build/proguard/(已 gitignore,不提交到默认分支)

Test plan

  • 能拉 MC/Forge 依赖时:./gradlew jar proguardJar -PtdlmProguard
  • 本 CI/agent 环境若无法解析 Minecraft 依赖,则仅提交配置,未做完整构建验证
  • 自动扫描 keep 条目数:2
  • 构建类型:gtnh

Notes

  • 不含字符串加密等非 ProGuard 能力
  • 范围:仅 TDLM 允许清单内的 Forge 模组
## Summary 为该 **Forge 模组**接入 ProGuard 混淆基线(minify + obfuscate),面向 1.7.10 / GTNH。 ## Changes - 新增 `proguard-rules.pro`(含 `@Mod` / Mixin / coremod / 枚举等 keep,以及本仓扫描到的入口类) - 新增 `proguard.gradle`;在 `build.gradle` 中 `apply from` - 默认不强制接入 `assemble`;使用 `./gradlew proguardJar -PtdlmProguard` 或带 `-PtdlmProguard` 的 assemble - mapping 输出到 `build/proguard/`(已 gitignore,不提交到默认分支) ## Test plan - [ ] 能拉 MC/Forge 依赖时:`./gradlew jar proguardJar -PtdlmProguard` - [ ] 本 CI/agent 环境若无法解析 Minecraft 依赖,则仅提交配置,未做完整构建验证 - 自动扫描 keep 条目数:2 - 构建类型:gtnh ## Notes - 不含字符串加密等非 ProGuard 能力 - 范围:仅 TDLM 允许清单内的 Forge 模组
layue13 added 1 commit 2026-11-08 14:18:02 +00:00
chore: minimal standalone ProGuard (baseline + proguard-mod.pro)
Build / build (push) Skipped
Build / publish (push) Skipped
Build / build (pull_request) Failing after 1m32s
Build / publish (pull_request) Skipped
0296c7143b
Align with Stratum-default + per-mod overrides: do not ship a full duplicate
ruleset beyond proguard-baseline.pro; extras go in proguard-mod.pro only.
layue13 force-pushed chore/proguard from 0f2784db86 to 0296c7143b 2026-11-08 14:18:02 +00:00 Compare
Author
Owner

本 PR 已改为最小独立接入(proguard-baseline.pro + 可选 proguard-mod.pro),与 Stratum 模型对齐。Stratum 中枢:https://git.potatolab.uk/TDLM/stratum/pulls/5。

本 PR 已改为**最小独立接入**(`proguard-baseline.pro` + 可选 `proguard-mod.pro`),与 Stratum 模型对齐。Stratum 中枢:https://git.potatolab.uk/TDLM/stratum/pulls/5。
Author
Owner

按审核意见关闭、不合并。

结论:不把 ProGuard 做成 Stratum 默认能力;1.7.10 大量字符串引用下通用基线不安全,且 Stratum 产物作下游编译依赖时默认混淆伤害大。若以后再做:仅少数需保护的 mod 单独开启、自管 keep,并经真实 MC 跑通后再谈。
详见审核:https://git.potatolab.uk/TDLM/stratum/pulls/5

按审核意见关闭、不合并。 结论:不把 ProGuard 做成 Stratum 默认能力;1.7.10 大量字符串引用下通用基线不安全,且 Stratum 产物作下游编译依赖时默认混淆伤害大。若以后再做:仅少数需保护的 mod 单独开启、自管 keep,并经真实 MC 跑通后再谈。 详见审核:https://git.potatolab.uk/TDLM/stratum/pulls/5
layue13 closed this pull request 2026-11-08 15:19:24 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TDLM/thaumicadditions#33