Jinx——托管在 GitHub Pages 上的免费短链接服务

查看原文 HN 讨论

文章摘要

Jinx 是一个极简主义的短链接方案,核心主张可以概括成一句话:短链接本质上只是一张查找表,不该为它付月费,也不该为它维护一台服务器和一个数据库。

作者 gdmcdonald 在 Show HN 自述里解释了造轮子的动机。他所在的小团队评估过三类现有方案,觉得没有一类合适:付费短链服务(Bitly 一类)每月都要收钱,而它提供的功能实质上只是键值映射;免费开源的自托管方案(YOURLS、Shlink 等)不收钱,但你得自己找地方跑应用、跑数据库,最终还是在为服务器付月费;而免费版的托管服务通常有各种限制——链接数量上限、编辑功能被收进付费墙,有些甚至会把你的二维码重定向去插广告。

Jinx 的做法是把整个服务退化成一个纯静态网站。你把所有链接写进一个配置文件,打开 GitHub Pages,把自己的域名指过去,五分钟完成。作者列出的功能包括:

整个项目 MIT 协议、无广告、除 GitHub 账号外不需要任何注册。代码在 github.com/gdmcdonald/jinx,jinx.fyi 本身就是一个跑在上面的活例子。

这个设计的取舍也很明确:因为是静态站点,链接数据是公开的(任何人都能看到仓库和列表页),改一条链接要走一次 Git 提交和一次 Pages 构建,没有实时编辑界面,统计数据也只能依赖第三方的客户端脚本。对于一个内部小团队分享资料链接的场景,这些代价基本可以忽略;但如果需要私有链接、精确的服务端统计、或者高频动态创建,Jinx 显然不是答案。作者自己的定位很诚实:这是给「小团队」用的东西,他在公司里已经用得挺顺手。

HN 评论精华

必须如实说明:这个 Show HN 帖子的讨论非常冷清,只拿到 8 分和两条回复,没有形成任何有实质技术含量的讨论。

帖子发布后作者没有在评论区做进一步补充,两条留言也都未获回复。换句话说,关于这个项目最完整的第一手材料仍然是作者自己写的那段 Show HN 说明,本文摘要部分即基于此。考虑到 HN 上短链接工具几乎每隔一段时间就会出现一个,而「静态站点 + GitHub Pages」这条路线本身并不新鲜(用 Netlify _redirects、Cloudflare Worker、甚至一堆 HTML meta refresh 页面都能做到类似效果),社区反应平淡大概也在意料之中。Jinx 真正的差异化更多在于把这条路线打磨成了一个开箱即用、带搜索页和本地二维码生成的完整模板,而不是让人自己拼装。