一个源,装下 farfarfun 的所有包
APT 源和 Homebrew tap 是同一个仓库。加源只做一次,以后新收进来的包都是裸名字直接装。
- 索引是签过名的每次重建都用同一把 GPG 密钥重签,apt 自己会校验。
- amd64 与 arm64两个架构各扫一份索引,机器不会在列表里看到装不上的包。
- 能退回去每个包在源里留最近几版,升坏了可以指定版本装回来。
- Gitee 回落GitHub 连不上时,Homebrew 这条线可以整条换成 Gitee 镜像。
加源
一次就够
下面这段只做一次,已经按你的系统选好了。以后装任何一个包都不用再来。
密钥指纹557A C9DC 98EC A712 0119 F9A7 4CDA D037 2FCA 5BF0
Debian、Ubuntu 及其衍生版
curl -fsSL https://farfarfun.github.io/packages/farfarfun.gpg \
| sudo tee /usr/share/keyrings/farfarfun.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/farfarfun.gpg] https://farfarfun.github.io/packages/deb stable main" \
| sudo tee /etc/apt/sources.list.d/farfarfun.list
sudo apt update这三行做了什么
公钥落在 /usr/share/keyrings,源文件写进 /etc/apt/sources.list.d。源地址里的 stable main 是这个仓库唯一的套件和组件。
macOS 与 Linuxbrew
brew tap farfarfun/packages https://github.com/farfarfun/packages
brew trust farfarfun/packagestap 那行要带 URL
brew tap a/b 默认只找 a/homebrew-b,而这个仓库还兼着 apt 源,不能叫 homebrew-packages —— 否则 apt 地址里会凭空多出 homebrew 几个字。
trust 那行不能省
Homebrew 6.0 起第三方 tap 默认不可信,不 trust 的话裸名字会被直接拒绝。这里信任整个 tap,以后加的包不用再逐个信任。
GitHub 连不上的时候
brew tap farfarfun/packages https://gitee.com/farfarfun/packages
brew trust farfarfun/packages镜像只换 tap 这一步
formula 里每个 url 都配了 Gitee mirror,下包这一步 brew 自己会回落。cask 的 DMG 没有这条路(cask 的 url 不认 mirror),apt 那半边也没有 —— deb 树在 Pages 上,镜像仓库带不走。
包
9 个
每个包一页:安装命令、源里留着的版本、各平台的安装包。加一个新包只改 packages.toml,这些页面自己跟上。
- fundeploy0.3.13
一条命令管本机的开发环境、常驻服务、工具和镜像源。
- APT
- Homebrew
- 命令行工具
- funget1.2.0
HTTP 文件传输工具:Range 并发下载、断点续传、PUT/POST 上传。
- APT
- Homebrew
- 命令行工具
- funbuild1.6.105
One-command release pipeline for Python, frontend, Flutter and Rust repos
- APT
- Homebrew
- 命令行工具
- funclash1.0.5
基于 Clash Meta(mihomo)内核的多平台代理客户端。简单易用,开源,无广告。
- APT
- Homebrew Cask
- 桌面应用
- funread1.1.127
自托管的小说与订阅阅读客户端:连你自己那台服务器,断网也能接着读。
- APT
- Homebrew Cask
- 桌面应用
- 两步验证 FunOTP
uTools 里的两步验证器:本地离线算 TOTP / HOTP 动态码,主搜索框搜账号回车就复制。
- uTools
- uTools 插件
- 网址收藏 FunLink
把零散书签整理成网址导航:分类、拖拽排序、废纸篓,在 uTools 主搜索框里搜完直接打开。
- uTools
- uTools 插件
- 好友聊天 FunChat
把一屋子 AI 好友装进 uTools:多角色切换、内置角色市场、话题回溯、一键导出。
- uTools
- uTools 插件
- 文档笔记 FunDoc
uTools 里的 Markdown 文档:多层目录、三种编辑模式、LaTeX 公式完全离线渲染。
- uTools
- uTools 插件
这个仓库怎么跑的
一张清单管三条渠道
各项目发版时把附件挂在自己的 GitHub Release 上。这边按 packages.toml 收上来、重算索引、签名、发到 Pages,同一张清单还会生成 Homebrew 的 formula 和 cask。
一次构建
packages.toml ──┬─► 收 .deb → 拼 pool → 扫索引 → 签名 → 发 Pages → 装机验证
└─► 渲染 formula / cask → 提交回 master → 同步 Gitee → 装机验证
什么时候重建
项目发版时打一下、packages.toml 改了、手动触发,以及每两小时一次的定时扫 —— 所以不通知的项目最多等两小时也会被收进来。