53 个开发者工具,始终保持最新 — 上游每次发布后数小时内即可通过 apt 获取。 加入 Discord

📅 自 起,使用本 apt 镜像将需要订阅。 查看价格 · 🆓 有一个永久免费的镜像

🔑 订阅如何运作

付款之后会发生什么、apt 如何认证,以及从续订到取消订阅是怎么处理的

⚡ 简短回答。 你通过 Stripe 付款。几分钟内会收到一封邮件,里面有两样东西:登录名——你付款时使用的邮箱地址——以及一个系统生成的密码。把它们写入 /etc/apt/auth.conf.d/deb.griffo.io.confapt 会在每次下载时通过 HTTPS 一并发送。没有需要登录的用户面板,没有要轮换的令牌,没有许可证文件,也不限制同一套凭据用在多少台机器上。

🧾 1. 付款时会发生什么

  1. 你在 Stripe 完成结账。银行卡信息只交给 Stripe,从不经过这台服务器。
  2. Stripe 确认付款并通知仓库。访问权限就是在这一刻创建的——不是结账页面关闭的那一刻,所以仍在授权中的付款会稍慢一些。
  3. 系统创建你的账户,并在服务器上为它随机生成一个密码。
  4. 邮件发送到你在 Stripe 填写的地址,内含登录名、密码和配置命令。这是该密码唯一一次被传输。

如果几分钟内没有收到,先看垃圾邮件,然后到 Discord 提问——这是最快的途径,账户可以通过付款邮箱查到。

🔐 2. 凭据到底是什么

项目内容
登录名付款时使用的邮箱地址——无需选择,也无需记忆
密码24 个随机字符,在服务器端生成,不由你设定
存储方式bcrypt 哈希。明文不会保留——之后谁也查不到,包括我
有效期没有。密码不轮换、不过期;决定访问权限的只有背后的订阅
机器数量不限。没有席位计数、没有激活、没有设备注册

因为只存哈希,丢失的密码无法找回——但可以按需重新签发。回复欢迎邮件或在 Discord 提出,就能拿到新凭据;新密码签发的那一刻,旧密码即失效。请保存好欢迎邮件,更好的做法是把密码存进密码管理器。

🖥️ 3. apt 如何认证

就是普通的 HTTPS 上的 HTTP Basic 认证——apt 多年来原生支持的机制,不需要插件、不需要辅助程序、不需要额外软件包。凭据应放在 /etc/apt/auth.conf.d/,绝不要写进 sources.list 那一行:那样机器上任何用户都能读到,apt 还会在错误信息里把它泄露出来:

运行命令
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
sudo tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
apt update
sudo apt install extrepo
sudo extrepo enable griffo
sudo install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
sudo tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
sudo apt update

🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。

extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。

这就是全部的接入工作。有三个细节要注意,出问题的也正是这三处:machine 行只写主机名——deb.griffo.io,不带 https://、不带结尾斜杠、不带 /apt 路径;文件名以 .conf 结尾,因为其他扩展名会被 apt 静默忽略;文件属于 root 且权限为 600,因为 apt 拒绝读取其他用户可读的凭据——所以上面先以 600 创建空文件,再往里写入密码。 如果 apt 返回 401,完整的排查清单在这里 →

每一次请求都会在发生的当下核对数据库:登录名、密码哈希,以及该账户背后的订阅当前是否有效。什么都不缓存,也不会往你的机器上下发任何东西——正因如此,续订、取消或更换密码都会立即生效,你无需做任何操作。

🏗️ 4. 服务器、容器与 CI

一套凭据覆盖你运行的所有机器——工作站、笔记本、服务器、构建代理。把同一个 auth.conf.d 文件放到每台机器上,或在 CI 中以密文形式挂载。不该做的是把它打进会推送到公共镜像仓库的容器镜像里:它就是文件里的一个密码,会随着复制它的一切一起流传。构建镜像时请使用构建密文,或者直接从公开的 GitHub release 安装 .deb,那完全不需要凭据。

🔄 5. 年度订阅——完整生命周期

发生了什么对访问权限的影响
每年续订一次静默完成。Stripe 扣款,周期顺延,你的凭据不会改变——无需操作,也无需重新执行任何命令
你取消订阅通过欢迎邮件中的取消链接。访问权限持续到你已付费周期的结束,之后停止
扣款失败访问权限停止。更换银行卡并完成付款即可恢复——卡住了就到 Discord 询问
你之后重新订阅同一账户与同一密码被重新启用。不会再发新邮件,因为什么都没有改变
你申请退款退款一经办理,访问权限立即被撤销
访问权限结束你会收到一封说明邮件,apt install 开始返回 401。已安装的软件包不受影响

♾️ 6. 终身版——有何不同

终身版是一次性付款,不是订阅。没有要续订的,也没有要取消的,没有会过期的绑定银行卡,价格调整也影响不到你。凭据的用法完全一样——同样的登录名、同样的 auth.conf.d 文件,一切照旧。如果你原本是年度订阅后来升级,则沿用现有凭据;你会收到一封确认邮件,而不是新密码。唯一会终止终身访问的,是退款。

🚦 7. 哪些完全不需要订阅

命令需要凭据吗?
apt update不需要——索引对所有人开放
apt policy / apt-cache不需要
浏览 /apt/dists/不需要
apt install / apt upgrade需要
已经安装的软件包不需要——它们永不过期,也不检查许可证
deb-free.griffo.io不需要——永久免费,无需账户
GitHub 上的 .deb 文件不需要——永久免费

所以你可以先添加仓库、运行 apt update,在付任何钱之前就看清楚提供的是哪些版本。 永久免费镜像的完整说明 →

🗃️ 8. 关于你会保存哪些信息

你的邮箱地址、Stripe 客户标识、你密码的 bcrypt 哈希,以及订阅的起止日期。整条记录就这些。支付信息由 Stripe 处理,从不会到达这台服务器。发出的邮件只有服务本身需要的那几封:你的凭据、终身访问激活时的确认,以及访问结束时的通知。没有营销,没有邮件列表。 条款和条件 →

❓ 还是拿不准?

付款之前尽管问——Discord是联系我最快的方式,关于这一切如何运作的问题都很欢迎。如果你以前在 Buy Me a Coffee 支持过这个项目,去那里说一声:你可以获得免费的终身订阅。