ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

awesome-shizuku 贡献指南:为 Shizuku 应用精选列表提交条目的格式规范、收录门槛与自动化校验

awesome-shizuku 贡献指南:为 Shizuku 应用精选列表提交条目的格式规范、收录门槛与自动化校验 awesome-shizuku 贡献指南为 Shizuku 应用精选列表提交条目的格式规范、收录门槛与自动化校验【免费下载链接】awesome-shizukuCurated list of awesome Android apps making use of Shizuku项目地址: https://gitcode.com/GitHub_Trending/awe/awesome-shizuku本文以仓库根目录的 CONTRIBUTING.md 为核心系统讲解向 awesome-shizuku记录使用 Shizuku 能力的 Android 应用精选列表贡献条目时的完整规则包括单行条目格式模板、SPDX 许可证标注、五种语义标签、闭源应用单独收录的门槛以及仓库内 lint.py、sync_translations.py、check_links.py 三套脚本对格式、翻译与链接健康度的机器化保障。读完本文你可以准确判断一个新应用是否满足收录条件并按规范格式提交一份能够通过自动化校验的 Pull Request。项目背景列表的结构与「主列表 子列表」组织方式awesome-shizuku 是一个精选列表仓库Shizuku 允许普通应用在非 root 设备上通过 ADB 以提权方式直接使用系统 API本仓库则持续收录利用这一能力的 Android 应用。仓库内容并不只有一份 README而是由多个相互关联的文档组成文件作用README.md主列表开源 / 源码可获取应用的精选目录按 20 余个分类组织AI agents、Automation、Network、Privacy、Terminals……另有 Development libraries 等分区pages/CLOSED_SOURCE.md闭源应用的独立子列表pages/ARCHIVED.md已被开发者弃用或停止维护的应用归档pages/RISH.mdrish高权限 shell 的使用说明README_cn.md / README_tw.md简体中文、繁体中文翻译版本对贡献者而言最重要的是理解「新增条目应落在哪张表」开源或源码可获取的项目进主列表 README.md闭源项目进 pages/CLOSED_SOURCE.md已弃用项目则被移到 pages/ARCHIVED.md。此外CONTRIBUTING.md 还要求所有新增条目保持字母序插入不要追加在分类末尾。条目格式一行式模板的逐字段拆解CONTRIBUTING.md 对每个条目的书写格式有硬性规定模板如下* [Name](https://example.com) - Short description, under 250 characters License [(Source code)](https://url.of/source-code)逐字段拆解*与方括号名称条目必须以*或-开头的无序列表符号开始名称放在方括号中并链接到项目地址-分隔符名称链接之后必须跟一个由空格包围的短横线-其后再写描述文字。lint 脚本正是依靠这一带空格的分隔符避免与15-day trial这类带短横线的标签混淆描述description必须少于 250 个字符用一句话说明应用做了什么License反引号标签条目必须以反引号包裹的许可证标识收尾推荐使用 SPDX license identifier如GPL-3.0、Apache-2.0若 SPDX 未收录该许可证或项目本身没有许可证则统一标注为Proprietary(Source code)可选后缀只有当源码链接与主链接不同时才能追加若二者相同则必须省略避免重复链接标签tag位于名称链接与-描述之间用于标记付费、内购、广告等属性详见下一节。仓库里的 lint.py 用正则完整复刻了这套模板约束主格式正则app_pattern要求「行首缩进 */-名称 可选标签 - 描述」而结尾正则end_pattern强制条目必须以反引号许可证标签收尾可选跟随(Source code)。值得注意的一个细节是规范文本要求描述不超过 250 字符而 lint 脚本实际以300 字符作为硬上限校验见 lint.py即 250 字符是编写建议300 字符是机器底线。标签体系五种语义标签与推荐标记名称与描述之间可以插入标签tagCONTRIBUTING.md 与 README.md 的 Annotations 小节共同定义了完整的标签语义标签含义Paid付费应用IAP包含应用内购买In-App PurchaseAds包含广告n-day trial使用 n 天后需要付费n替换为具体天数如15-day trialRoot需要 Shizuku 以 Root 模式运行Proprietary非 FOSS 许可证闭源或仅源码可见项目作为结尾许可证标签使用✨维护者个人推荐深度使用 Shizuku 或属于独特/隐藏宝藏应用此标记由维护者决定贡献者不应自行添加在 lint 脚本中合法的标签白名单被定义为一组正则见 lint.pyPaid、IAP、Ads、\d-\w trial、Root均允许跟随 emoji以及✨。凡是模板中出现了白名单之外的内容如拼写错误的标签、多余的空格都会被判定为INVALID TAG错误。参考 README.md 中的真实条目可以直观看到标签与许可证的组合用法...IAP - Display widgets on the lockscreen. Shizuku is only required on Android 13 and laterMIT(Source code)含内购 SPDX 许可证 独立源码链接...15-day trialIAP - Android app manager for both rooted and non-rooted devicesGPL-3.0试用期 内购双标签叠加...Root- Manage your Magisk module repositoryGPL-3.0仅 Root 模式可用...Paid - Launch/interact with (un)exported activities...GPL-3.0付费 源码链接。收录门槛什么样的项目可以被加入列表CONTRIBUTING.md 明确列出了四条硬性收录要求闭源应用必须放入 pages/CLOSED_SOURCE.md。理由是 Shizuku 赋予应用高级 ADB 权限主列表只收录开源 / 源码可获取的应用任何人都能检查其代码并自行编译杜绝「闭源黑盒」风险完全闭源的应用需要用户盲目信任因此单独成表。README 的 Closed-source apps 小节也复述了这一安全考量见 README.md项目必须有英文落地页、README 或文档保证列表读者与维护者都能理解项目用途项目不能被开发者弃用deprecated / abandoned已弃用项目会被维护者移入 pages/ARCHIVED.md 归档项目必须提供某种形式的下载链接APK 文件、Google Play Store、F-Droid 等任一渠道均可。格式的机器化保障lint 脚本如何守护列表质量由于列表规模庞大仅主列表就包含数百个条目人工校验不可行仓库用 scripts/lint.py 实现了自动化校验。该脚本一次校验三个文件README.md、pages/CLOSED_SOURCE.md、pages/ARCHIVED.md见 lint.py任一文件出错即sys.exit(1)非常适合作为 CI 门禁。脚本逐行扫描并报告以下典型错误lint.pyINVALID TAG名称与描述之间存在白名单之外的标签或多余空格MALFORMED ENDING条目结尾缺少反引号许可证标签或缺少-分隔符即整行不符合模板会另行报MALFORMED ENTRYEXTRA HYPHEN描述与许可证标签之间存在游离短横线WRONG TAG ORDERLicense标签必须出现在[(Source code)]链接之前DESCRIPTION TOO LONG描述超过 300 字符DUPLICATE LINK(Source code)链接与主链接完全相同。此外脚本支持 GitHub Actions 的 step summary 输出通过GITHUB_STEP_SUMMARY环境变量可以把校验结果自动写入 CI 摘要页。因此贡献者在提交 Pull Request 之前完全可以先在本地执行python3 scripts/lint.py对将要修改的文件做一次自检。多语言同步机制sync_translations.py 如何保持三语一致仓库维护着英文、简体中文、繁体中文三套列表README.md↔README_cn.md/README_tw.md闭源列表同理。为保证翻译文件与英文源文件结构同步scripts/sync_translations.py 实现了「以英文为准、按条目合并翻译」的同步逻辑双解析器设计中文解析器刻意宽松只匹配Name并抓取其后内容用剥除正则清理标签、emoji 与描述因为中文翻译格式容易「写坏」英文解析器则严格要求-分隔符前后有空格避免误伤15-day trial这类带短横线的标签以 URL 和名称作翻译键翻译按条目的 URL失败时回退到名称小写形式与英文条目一一对应子条目、 [!NOTE]信息框、Annotations 和 License 区块都会被单独保留并回填调用映射见 sync_translations.pyREADME.md → README_cn.md目录标题## 目录源码链接文案「源代码」、README.md → README_tw.md## 目錄、「原始碼」、以及闭源列表的两份翻译。这说明新增英文条目后翻译文件中的对应描述需要另行补齐脚本只负责结构同步不会凭空生成翻译。链接与仓库健康检查check_links.py 的持续质量审计scripts/check_links.py 是维护者用来审计列表健康度的工具它解析 README 中每个条目的 GitHub 仓库地址与声明许可证再调用 GitHub API 逐一核对最终生成report.md报告check_links.py。它主要检查三类问题已归档仓库archived true归档后应被移入 pages/ARCHIVED.md两年未更新的仓库以pushed_at与「当前时间 − 2 年」比较识别进入停滞状态的项目许可证不一致条目中声明的许可证与 GitHub 检测到的 SPDX 许可证不匹配脚本内置了Propietary→Proprietary的拼写归一化见 check_links.py。脚本建议设置GITHUB_TOKEN环境变量以规避未认证请求的低限流check_links.py。值得注意的是README 还提到维护者运行着一个自动化爬虫持续扫描 GitHub 与多个 F-Droid 仓库中新增的 Shizuku 相关项目——也就是说候选项目可能先被爬虫发现再由维护者按 CONTRIBUTING.md 的规范人工收录。自动化 Changelog 与 [silent] 提交约定仓库维护着一个按日期排序、自动生成的 changelog用于让关注者更容易追踪列表的新增内容。与贡献者直接相关的是提交消息约定CONTRIBUTING.md在提交消息中加入[silent]关键字可以阻止该次变更出现在 changelog 中语法修正、分类调整、URL 更新等小幅改动必须使用[silent]反过来说如果修改既有条目而不加[silent]该条目会被提升到 changelog 顶部可能造成不必要的「刷屏」。提交流程从编辑 README 到合并 Pull Request最终提交路径在 CONTRIBUTING.md 中给出通过文本编辑器或 GitHub 网页界面编辑 README.md新增闭源应用则编辑 pages/CLOSED_SOURCE.md按本文所述模板插入新条目保持字母序在本地运行python3 scripts/lint.py校验格式对小幅修正类变更在提交消息中加入[silent]发起 Pull RequestPR等待维护者审阅合并。结语贡献前速查清单项目是否开源 / 源码可获取闭源则改投 pages/CLOSED_SOURCE.md是否已有英文落地页 / README / 文档且未被弃用、提供可下载渠道条目是否按字母序插入并严格匹配* Name [Tags] - Description \License (Source code) 模板描述是否少于 250 字符许可证是否为反引号包裹的 SPDX 标识无法识别时用Proprietary标签是否只用了Paid/IAP/Ads/n-day trial/Root外加维护者的 ✨(Source code)链接是否与主链接重复许可证标签是否位于源码链接之前提交前是否运行过python3 scripts/lint.py自检小幅改动是否加上了[silent]遵循这套由规范文本与三套自动化脚本共同定义的流程你的贡献就能稳定通过校验顺利进入这份 Shizuku 生态精选列表。【免费下载链接】awesome-shizukuCurated list of awesome Android apps making use of Shizuku项目地址: https://gitcode.com/GitHub_Trending/awe/awesome-shizuku创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表