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
merge into: TDLM:main
TDLM:main
TDLM:perf/reuse-block-lookups
TDLM:perf/creative-node-self-heal
TDLM:perf/hyper-node-creator
TDLM:perf/creative-node-registry
TDLM:perf/singularity-queries
TDLM:perf/tank-crops-lookups
TDLM:fix/guifactory
TDLM:build/stratum-bump
No Reviewers
Labels
Clear labels
area/build
area/client
area/compatibility
area/config
area/integration
area/lifecycle
area/lighting
area/network
area/performance
area/persistence
area/release
area/render
area/security
area/server
area/test
origin/scan
origin/upstream-sync
构建系统、编译与 CI。
仅客户端(渲染除外)
跨模组、跨版本或外部接口兼容行为。
默认配置、配方、日志噪音
跨仓库 API、工具链或功能联动问题。
实体、区块、世界对象的加载、卸载、持久化与资源所有权。
光照更新、传播队列及其与区块卸载、渲染路径的行为。
网络包与同步
运行时 CPU、内存、分配、网络或存盘开销问题。
NBT、存档、实体/区块加载卸载与生命周期
版本、Maven 坐标、制品发布与发布链路。
渲染、光照、着色器
权限边界、服务端校验、反序列化或其他安全风险。
仅服务端 tick/逻辑
测试实现、覆盖与验证设施
组织内部审计扫描产出
日扫上游 GTNH 发现的待吸收改动
priority
p0
最高处理优先级:广泛崩溃、数据或权限风险,或关键发布通道被阻断且无绕行方案。
priority
p1
高处理优先级:核心功能明显受损或影响范围较大,近期安排处理。
priority
p2
常规处理优先级:影响范围有限且有可行绕行,纳入计划处理。
priority
p3
低处理优先级:影响轻微或仅涉及边界场景,有空再处理。
resolution
duplicate
与另一 issue 重复
resolution
fixed
已有合并的 PR/commit 修复
resolution
invalid
复核后不成立/无法复现/无需处理
resolution
recorded
记录类 issue,记录完成即关闭
resolution
wontfix
评估后决定不修
type
audit
扫描、覆盖普查、设计评估等记录类,本身不是待修缺陷
type
chore
构建、CI、发布、依赖、版本、上游同步、清理
type
defect
功能错误、崩溃、数据错乱(不含性能与安全专项)
type
feature
新功能或联动,当前行为不算故障
type
perf
CPU/内存/分配/网络/存盘开销问题
type
question
待答复/待决策,尚未形成实现任务
type
security
权限越界、复制/刷物品、绕过领地、服务端校验缺失、反序列化
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: TDLM/thaumicadditions#33
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
为该 Forge 模组接入 ProGuard 混淆基线(minify + obfuscate),面向 1.7.10 / GTNH。
Changes
proguard-rules.pro(含@Mod/ Mixin / coremod / 枚举等 keep,以及本仓扫描到的入口类)proguard.gradle;在build.gradle中apply fromassemble;使用./gradlew proguardJar -PtdlmProguard或带-PtdlmProguard的 assemblebuild/proguard/(已 gitignore,不提交到默认分支)Test plan
./gradlew jar proguardJar -PtdlmProguardNotes
0f2784db86to0296c7143b本 PR 已改为最小独立接入(
proguard-baseline.pro+ 可选proguard-mod.pro),与 Stratum 模型对齐。Stratum 中枢: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
Pull request closed