夜雨聆风学习资料网

ARTICLE · 1060150

受够捆绑安装,我做了个干净的软件下载站

受够捆绑安装,我做了个干净的软件下载站
上周想转个 PDF,被一个下载站先喂了个下载器,装完桌面凭空多出三个图标,浏览器主页也被改了。这篇讲我为什么干脆自己写了一个:只收开源和免费软件,目前 12 款;下载一律跳官方源,不中转、不改包,也不往安装包里塞东西。顺便说说它现在能做到什么程度。

事情本身很小。

我想把一份 PDF 转成 Word,搜索引擎给的第一个结果是个下载站。页面上一共排着七个「立即下载」按钮,我数了一下,其中六个是广告位,真正能用的那个藏在最不起眼的角落。

我点了看起来最像官方的那一个。它先给我装了个「高速下载器」。

装完,桌面凭空多出三个图标,浏览器主页也被改了。

我只想要个工具,最后却花了二十分钟清理战场

后来我想明白一件事:这不是技术问题,也不是这些站长不会做产品。赚的就是你点错那一下的钱——捆绑安装、静默推广、改默认主页,每一项都是明码标价的流量生意。内容做得再干净,只要模式不变,它还是会长成那个样子。

所以我没打算去优化它。换规则比优化有用。

于是有了「栈里有物」,域名是 goods.ha0ran.icu。

每张卡片都写清开发方和版本,不用点进去猜

一个下载站该有的样子

第一屏就是站名、搜索框,和一句话:每一款都经人工筛选,只把真正好用的留下来,没有捆绑安装,也没有静默推广。

往下是「编辑推荐」,六张卡片,每张写清四件事:软件名、开发方、当前版本、支持哪些系统。

我特意把开发方放到了显眼位置。Mozilla 做的浏览器、VideoLAN 做的播放器、Igor Pavlov 做的压缩工具——你一眼能看出这东西是谁在维护,而不是只看到一个孤零零的软件名。谁在维护,决定它会不会更新。

整个首页只有两个推荐位,「编辑推荐」和「最新上架」。没有横幅广告,也没有「猜你喜欢」。

首页顶上还有一排数字:收录 12 款、8 个分类、5 个支持平台。数字不大,但每一个都是数据库里实时算出来的。我宁可它小,也不想凑。


八个分类,点进去直接是软件列表

找软件这件事,不该先跟广告打架

分类是两层:顶级 8 个,往下 25 个

顶级的八个是:系统工具、安全防护、开发工具、办公学习、网络浏览、图形图像、影音播放、手机应用。点「图形图像」进去,才拆出截图工具、图片编辑、压缩工具这些更细的归类。

这么设计是因为,先想干什么,不是要哪个软件。想找个替代收费软件的免费截图工具,从「图形图像」两步就到,不用在推荐位里翻。

列表页给了三组筛选:分类、平台、排序。勾上「Windows」再勾「开源」,剩下的就都是能在你电脑上跑的。

搜索也是同一套索引,和筛选条件可以叠加用。


全部软件页,可以按分类和平台一起筛

只收开源和免费软件,宁缺毋滥

第二条规矩:只收开源和正经免费软件。

目前站里 12 款,开源 10 款、免费 2 款。名单是这些:Firefox 火狐浏览器、7-Zip、VLC 媒体播放器、OBS Studio、Visual Studio Code、Git for Windows、Bitwarden、GIMP、ShareX、Everything、LibreOffice、qBittorrent。

它们有几个共同点:

  • 授权清楚
    要么开源,要么官方明确免费,没有「试用 30 天」的暗坑
  • 有正经维护方
    基金会、开源社区或明确的公司,不是来历不明的打包版
  • 能长期用
    不是收一波钱就消失的壳软件

一款软件想进这个名单,得过三道:先确认授权类型,再看有没有明确的维护方,最后我自己装上用几天。三道过不了,宁可不收。

12 款听着是很少,但不追数量,追每款都站得住。与其收录三百款你根本不敢点的东西,不如把 12 款写清楚。

最新上架按更新时间排,不是按谁给钱排


详情页头部,开发方、版本、平台一眼看全

下载一律跳官方源,不中转、不改包

这是全文最硬的一条规矩,也是我花心思最多的地方:站内不托管任何安装包

你点任何下载按钮,浏览器直接打开软件的官方页面或官方直链。中间没有我这一层。

为什么这么较真?因为中间有一层,就可能被换包。哪怕我完全不想干这事,风险也客观存在。而现在,想塞东西也没地方塞

按钮上直接写「外部链接」,点了就是去官网

每个版本卡片上都写着文件名、大小、更新日期,下载按钮旁边明确标着「外部链接」。留给你核对用的

版本号我也会跟着官方更新。写这篇的时候顺手核了一遍,Firefox 已经走到 142.0。版本停在旧数字上,等于变相让读者去别处找。

代价我也直说:速度取决于官方源,不是我的服务器。想要快,请去官方那边下;我这边只负责告诉你该去哪个官方。

一个下载站最难的部分,不是把软件放上去,而是忍住不往里面加东西。
— 浩然

后台首页,下载趋势和分类占比都是实时算的

后台是我自己天天用的,所以做得很实在

这站是手写的 PHP,自研 MVC、零第三方依赖,一共 37 张表。

为什么自己写?因为下载站的功能其实很固定:软件、分类、平台、标签、版本、评论、下载记录、用户。用现成框架当然更快,但依赖越少越好维护,别人 ssh 进来也不容易从框架的已知漏洞下手。

后台该有的都有:软件增删改查、版本管理、分类与标签维护、用户与评论审核、下载记录、站点设置、操作日志。

几个关键指标,不用自己去数据库里数

统计这块做细了一点。软件数、下载数、用户数、评论数四个指标,加一条按天聚合的下载趋势折线,和一个按分类拆分的占比环形图。这些数字都是实时从数据库算出来的,不是写死的截图。

对我自己最实用的其实是操作日志:谁在什么时候改了哪条数据,都留痕。一个人维护,最怕「我改过什么忘了」


收藏和下载记录都留在账号里,换设备也在

登录之后,还能干点别的

注册登录是一整套:注册、登录、忘记密码、改密码、改资料。密码用哈希存储,所有表单都带 CSRF 校验。

登录之后,收藏和下载记录都跟着账号走。在这台电脑收藏的东西,换一台登录还是那些。评论和评分也要求登录,免得刷分。

手机端首页,布局是单独调过的

手机上打开也是能用的

手机端的布局单独调过,不是把电脑页面缩一缩。搜索框、分类入口、软件卡片都按单手能点到的尺寸排。

理由很实际:先在手机看到,才在电脑上装。手机上找得到、看得清,这件事才算闭环。


最后说点实话

这站刚上线,收录 12 款软件,注册用户目前只有我自己。我不打算劝你搬家。

更想做的,是把一套规则讲清楚:

  • 不中转
    所有下载都去官方源,我不碰安装包
  • 不塞东西
    没有下载器、没有捆绑、没有静默推广
  • 不追数量
    只收开源和免费软件,收录慢一点没关系

这套规则能不能一直守住,要等站变大才知道。但至少现在,你能核对每一个链接

觉得有点意思的话,去 goods.ha0ran.icu 逛逛。如果你也有那种用了很多年、一直想推荐给别人的软件,欢迎在评论区写下来,我看看能不能收进来。


觉得有用?点个关注,持续获取优质内容。

END

相关学习资料