如何找到 GitHub 项目的官方仓库,避开假冒副本
许多开源程序都放在 GitHub 上,很多人也会去那里找安装包。问题在于,任何人都可以注册账号,发布一个和知名项目同名的仓库。这些副本很多只是用来学习或测试,但也有一些专门用来散布和原版不一样的文件。
本指南介绍如何找到正确的仓库、下载前要核对什么,以及哪些迹象需要格外留意。这些都不需要你会编程。
为什么会有副本
项目越出名,冒出来的副本就越多。它们通常来自以下三种途径:
- 名字相似。一个和项目同名、但所有者不同的仓库,或者所有者名字只差一个字母的仓库,会和原版一起出现在搜索结果里,让匆忙的人上当。
- 换了下载链接的复刻(fork)。在 GitHub 上,任何人都可以复刻一个仓库,也就是复制一份自己单独修改。这很正常,也是开源的一部分。问题在于有人复制了项目,保留页面上的文字,却只把下载链接换掉。
- 广告和视频。搜索引擎广告、视频和宣称“免费下载”的帖子,有时指向的是副本,而不是真正的项目。
有复刻并不代表有恶意。很多复刻是为了修复错误、翻译程序,或者让一个被放弃的项目继续维护下去。真正要问的是另一件事:你到底是从哪个仓库下载的?
从官方网站开始
通往官方仓库最短的路,通常是项目自己的官方网站。知名项目都有一个链接到 GitHub 的网站,一般是页面顶部或底部的按钮或 GitHub 图标。顺着这个链接走,比相信第一个搜索结果更可靠。
反过来查也有帮助。在仓库页面右侧栏的“About”部分,可以看到项目网站的地址。官方的网站和仓库会互相指向:网站链接到仓库,仓库也链接回网站。
如果项目没有网站,可以找它的文档、知名来源的新闻,或者下文提到的软件管理工具里列出的仓库。
核对所有者
仓库地址的格式总是 github.com/所有者/项目。所有者可以是个人账号,也可以是组织,也就是团队和公司使用的账号。有三点值得核对:
- 所有者名称和网站上的一致。官方网站链接里的所有者,应该和你打开的仓库的所有者完全相同,一个字母都不差。
- 已验证组织的标记。组织可以向 GitHub 证明自己拥有官方网站的域名。验证之后,它的主页会在域名旁边显示“Verified”标记。并不是每个正规项目都有这个标记,但只要有,就是一条不错的线索。
- 账号的年龄和历史。打开所有者的主页。一个活跃多年、有其他项目和贡献记录的账号,有可以查证的过去。一个几天前才注册、只有一个仓库的账号,就需要多加小心。
看看是不是复刻
在复刻仓库的名称正下方,GitHub 会显示“forked from”标签,后面跟着它所来自的仓库。如果你以为自己打开的是原版,却看到了这个标签,就点击“forked from”后面的名称:原始项目在那里。
如果副本是从外部做的,也就是把文件下载下来,再重新上传到一个新账号,就不会显示这个标签。所以这个标签有帮助,但单靠它还不够:所有者和下载页面也必须对得上。
核对 Releases 页面
可以直接安装的程序通常放在 Releases 页面,它出现在仓库页面的右侧栏。它的地址格式是 github.com/所有者/项目/releases。请确认地址里的所有者和官方仓库的一致。副本可能照搬 README(项目的介绍文字),再把你带到另一个账号的 Releases 页面。
也要看看发布历史。成熟的项目通常在很长一段时间里发布过多个版本,每个版本都附有更新说明。如果只有一个版本,而且是一个新账号几天前才发布的,就值得更仔细地看一看。
常见的警示迹象
以下任何一个迹象单独出现都证明不了什么,但每一个都值得你停下来核对:
- 带密码的 ZIP 压缩包。加了密码的压缩文件会让杀毒软件看不到里面的内容。正规项目几乎从不这样发布程序。
- 无缘无故在 GitHub 之外下载。不用 Releases 页面,而是给出文件分享网站或短链接,又不说明原因。
- 要求关闭杀毒软件。“安装前请先关闭杀毒软件”这类说明是强烈的警示。普通程序不需要这样才能运行。
- 新仓库的星标多得反常。星标相当于 GitHub 上的收藏,项目通常是一点一点积累起来的。一个只存在几天的仓库,星标多得惊人,Issues(提问和反馈问题的区域)里却几乎没有讨论,星标可能是买来的。
- 照搬的 README,链接却被换掉。文字和知名项目一模一样,但下载按钮指向别处。把这些链接和官方网站上的对比一下。
- 好得不像真的承诺。“高级版已解锁”“激活工具”之类把付费功能免费送的说法,是诈骗和欺诈常见的温床。开源项目本来就是免费的,用不着这些。
拿不准时怎么办
如果有哪一点对不上,安装之前可以用几个简单的办法弄清楚:
- 在官方网站上查找名称。如果项目网站指向的是另一个仓库,就以网站指向的为准。
- 在知名的软件管理工具里查找。Windows 上用 winget,Mac 上用 Homebrew,Linux 上用 Flathub。这些软件目录会说明每个程序的来源,并由遵守审核规则的社区维护,在搜索结果之外给你第二个参考。
- 查看本站的项目资料卡。本站的每张资料卡都会列出检查发现的风险信号,并附上每条信号的证据,让你亲眼核对。没有风险信号的资料卡并不是保证,只是一个起点。
- 到官方项目里提问。在官方仓库的 Issues 或 Discussions 里,社区通常会告诉你某个链接是否真的属于这个项目。
如果还是拿不准,就先别安装。等一天再查一次,代价远比清理一台电脑小。
接下来
首页上的热门项目都附有各自的资料卡、发现的风险信号和仓库链接。到了下载的时候,指南《不会编程,如何安装 GitHub 上的程序》会告诉你在自己的系统上该选哪个文件。