YTDLnis 应用签名验证防止第三方修改版冒充
为什么要验证签名
YTDLnis 源码公开、GPL v3 许可——任何人都可以 fork 修改后编译一个自己的版本发出来。问题是:
- 第三方 fork 可能植入广告、收集数据、修改下载逻辑
- 有些平台(不是 Google Play)上的 YTDLnis 可能是被重打包的恶意版本
- 修改版甚至可能窃取你生成的 Cookie
开发者在 GitHub README 里公开了官方签名证书的 SHA-256 指纹,用来验证你安装的 APK 确实是原开发者编译的。
官方签名(v1.9.0 及之前)
Signer #1 certificate DN: CN=Denis Cerri, OU=Personal, O=Personal, L=Albania, ST=Albania, C=AL
Signer #1 certificate SHA-256 digest: 263645cb5272eb290759fe1f59149ae24df6ce171e9f6666eead981d3fc64c95
Signer #1 certificate SHA-1 digest: 2fec9c2fcef68d29a60857e185c795fec5f56fb6
Signer #1 certificate MD5 digest: 429d0c6315d2f99650f66cc44cf5a794
2025 年中期左右(v1.10 起),开发者换了签名证书(因为原证书过期)。如果你在新的 Release Notes 或 README 里看到不同的 SHA-256 值,以最新的为准。
怎么验证
Android 上最方便的方法:
方法一:安装后用 YTDLnis 自带的方法
去「更多 → 设置 → Advanced → Verify signature」——部分版本有这个内置验证入口,直接点就行。
方法二:在 PC 上用 apksigner
apksigner verify --print-certs ytdlnis-release.apk
看输出里的 SHA-256 是否和官方公布的一致。
方法三:在手机上用 APK 分析工具
装一个 APK Analyzer 类的 App(比如 Apk Analyzer、APKPure 的检查功能),看 Signer 信息。
签名不一致怎么办
如果你安装的版本签名和官方对不上:
立即卸载,去官方渠道重新安装:
- 官方网站下载页:ytdlnis.org/download(最推荐)
- GitHub Releases:github.com/deniscerri/ytdlnis/releases(每次 Release 都有对应 APK)
- F-Droid:f-droid.org 上的版本(F-Droid 有自己的签名机制,但源码和官方一致)
- IzzyOnDroid:apt.izzysoft.de 上的版本
不要从不明来源(微信分享、QQ 群、网盘分享、第三方应用市场)安装 YTDLnis。特别是号称「破解版」「Pro 版」的——YTDLnis 本身就是免费开源的,根本没有 Pro 版,那 100% 是假冒的。
关于 F-Droid 版本
F-Droid 上的 YTDLnis 和 GitHub Releases 上的是同一个源码,但 F-Droid 有自己的签名机制(它会重新编译所有 App 并签自己的名)。所以 F-Droid 版本的证书指纹会和 GitHub 的不一样——这是正常的。
F-Droid 的重新编译机制保证了源码是可审计的(社区能看到 F-Droid 用哪个 commit 编的),安全性没问题,就是和 GitHub 版不能共存(两个签名不同不能覆盖安装,需要先卸一个)。
安全底线
- Cookie 是你账号的钥匙,绝不分享
- 下载文件的目录如果有不明的 APK 或可疑文件,用手机安全中心扫一下
- 新版本出的时候去官方网站更新,不要等第三方市场同步
- 观察 Obtain Sources 的行为:突然下载不相关的内容 → 先停 Source 再排查