UpdateFetch 能根据用户的设定,每日检查 GitHub、F-Droid 等平台的软件,若有更新则下载,并提供链接,方便在特殊网络环境中分享、下载软件,配合 UpdateFetchWeb 更方便使用。可以前往演示网页体验: UpdateFetch Web (vfly2.com)
项目地址: AhFeil/UpdateFetch: 定期检查和下载软件的最新版,方便在特殊网络环境中分享、下载软件 (github.com)
创建这个项目的需求动力是在 “长城防火墙” 下,国内机子想装个 serverstatus 探针都要梯子,虽然可以手动上传,但是不方便写脚本。后来又发现这个项目还方便给其他人分享 GitHub 上的好用 APP 等,他们也方便自行更新软件,于是又写了 UpdateFetchWeb 作为前端。
功能#
- 方便在国内直接下载软件,如 xray、serverstatus-rust ,不用每次都加代理
- 方便给一般用户分享软件,以及方便他们更新,如 Bitwarden 、Element
使用#
首先安装: 定期检查和下载软件的最新版 UpdateFetch 的安装步骤 - 技焉洲 (vfly2.com)
然后编写自己的下载项,这样程序每天执行就会检查、更新。
下载项配置文件#
为了方便管理,本项目会重命名下载后的文件,格式为: 软件名 - 系统 - 架构 - 版本。后缀名,每个部分用 -
连接,因此软件名不能带有 -
,会导致程序出错。
GitHub 网站 release 下载
本项目最初参考 Linux 下的自动下载最新版的 shell 脚本,因此 GitHub 下载器是模仿这种脚本思路来的
# 以 xray 为例
xray_binary: # 下载项的名称,在上传时,会创建同名目录;以及在下载器会用到
name: xray # 软件名,用于重命名下载后的文件,推荐全小写,不能带有 -
website: github # 用哪个下载器
project_name: XTLS/Xray-core
sample_url: https://github.com/XTLS/Xray-core/releases/download/${tag}/Xray-${system}-${ARCHITECTURE}${suffix_name} # release 中的下载链接,${} 包裹的在下载时会被替换成实际值
system: # 软件要下载哪些系统的,左边是用于重命名的标准名称,右边的列表里,左项是 sample_url 中应该实际填写的,右边是对应的后缀名
windows: [windows, .zip]
linux: [linux, .zip]
architecture: # 软件要下载哪些架构的,左边是用于重命名的标准名称,右边是 sample_url 中应该实际填写的
arm64: arm64-v8a
amd64: '64'
# 最终,下载器会组合出 4 个下载链接,并下载,假设查到的最新版是 v1.8.7, 4 个网址分别是
# https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-windows-arm64-v8a.zip
# https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-windows-64.zip
# https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-linux-arm64-v8a.zip
# https://github.com/XTLS/Xray-core/releases/download/v1.8.7/Xray-linux-64.zip
FDroid 下载
SchildChat:
name: schildchat
website: fdroid
project_name: de.spiritcroc.riotx # 这个到软件在 FDroid 网站的页面,其网址最后一部分就是
# 因为 FDroid 上都是 Android 平台的 APP,因此不必填写系统
architecture:
arm64: arm64-v8a
安装 UpdateFetchWeb#
UpdateFetch 只是用于下载,没有用户能交互的界面,而 UpdateFetchWeb 是在网页上展示它下载的内容,方便使用。演示网页: UpdateFetch Web (vfly2.com)
添加前端网页需要额外几步
- 安装 UpdateFetchWeb,并添加用户、分类和 token
- 在 UpdateFetch 的配置文件将上一步的 token 和网址填入
- 运行 UpdateFetch,就可以将更新信息自动传到网页了
安装流程: updatefetchWeb 的安装步骤 - 技焉洲 (vfly2.com)
除此之外,UpdateFetchWeb 还有一个更实用的功能,以一定格式自动跳转到最新版的下载网址。
比如要获取 xray 的 Windows 平台 AMD64 架构的文件,可以直接访问 http://ip:7699/xray-win-amd64 ,本程序会跳转到最新的网址
格式为: 软件名-系统 - 架构,软件名必须是第一个。系统和架构有别名,Windows 可以填 win 或 windows,具体查看 settings.py 中的设置。
配合 bash 脚本的示例:
url="http://updatefetch.vfly2.com/xray-linux-arm64"
# 获取最终的重定向URL
redirect_url=$(curl -Ls -o /dev/null -w %{url_effective} $url)
# 下载文件
curl -LO "$redirect_url"