代码小白,全程DSH指导完成!
源码:https://github.com/Duter2016/gh-proxy-manager
AUR:https://aur.archlinux.org/packages/gh-proxy-manager
gh-proxy-manager —— 一键管理 GitHub 下载加速,让 yay 升级不再卡死
起因
Arch 用户应该都遇到过:yay -Syu 升级 AUR 软件时,碰到 PKGBUILD 里写的是 https://github.com/xxx/releases/download/... 这种源,下载直接龟速甚至超时。以前我的做法是——手动翻出 build 目录下的 PKGBUILD,给每个 URL 手工加上加速前缀,升级一次改一次,烦不胜烦。
其实 makepkg 支持 DLAGENT 自定义下载器,git 也有 insteadOf 重定向。所以干脆写了个管理工具把这些全部自动化,做完顺手打包分享给大家。
功能
- yay/makepkg 下载加速:通过独立的
/etc/makepkg.conf.d/99-gh-proxy.conf覆盖 DLAGENT(不动主配置),所有https://github.com/*的源自动套加速前缀 - git clone 加速:按需开关
url.<加速前缀>https://github.com/.insteadOf全局规则 - 备选代理地址池:内置多个加速站可随时切换,自带连通性测试(批量/指定均可),测试结果直接显示在列表里
- 一键开/关:临时不用了就关掉,恢复官方直连,配置零残留
- 图形界面(yad)+ 命令行双模式;每次应用只弹一次密码框
安装
# 从 PKGBUILD 构建(附件/仓库里提供)
makepkg -f
sudo pacman -U gh-proxy-manager-2.1.2-1-any.pkg.tar.zst
依赖:bash curl git,可选 yad(图形界面)、polkit。
使用
图形界面:应用菜单搜「GitHub 下载加速管理」,或终端输入 gh-proxy-manager
┌─ GitHub 下载加速管理 ──────────────┐
│ [✓] 启用 yay/makepkg 下载加速 │
│ [✓] 启用 git clone 加速 │
│ 加速地址: https://ghfile.xxx.top/ │
│ │
│ [测 试(全 部)] [备选地址…] │
│ [应 用] [退 出] │
└────────────────────────────────────┘
勾选状态 → 填地址 → 应用;「备选地址」里可以添加/删除/切换/批量测速。
命令行:
gh-proxy-manager on # 开启 yay/makepkg 加速
gh-proxy-manager git-on # 开启 git clone 加速
gh-proxy-manager url https://ghproxy.net/ # 换加速站
gh-proxy-manager add https://xxx.example/ # 备选列表加一个
gh-proxy-manager use https://ghproxy.net/ # 切换生效地址
gh-proxy-manager test # 连通性测试
gh-proxy-manager off # 全部关闭
设计说明
- 不碰你的主配置:DLAGENT 覆盖走
makepkg.conf.d独立文件;删除时校验零残留 - 单次提权:一批改动合并成一条 sudo 批处理执行,写完后强制回读校验实际生效状态,防止“显示成功实际没写”
- 写入幂等:每次应用以
.new文件 + mv 原子替换,中断不会留半截配置 - 卸载干净:
pacman -R后跑一遍附带的uninstall-cleanup.sh即可清除运行时文件
注意事项
- 只对
github.comcodeload.github.com生效,其他 URL 直连不受影响 - 加速站本身的速度参差不齐,建议用「备选地址 → 测试」挑个最快的设为生效
- 这是 GUI 本地工具不是透明代理,浏览器访问 GitHub 不归它管
实测数据(同一文件、同网络直连 vs 加速):PiliPlus release 17.8MB,直连 30 秒超时 0 字节 → 加速后约 3 秒下完。