Action Downloader GitHub
开源 · 零成本 · Made with ❤️ by lingyicute

让 GitHub 替你下载,
Release CDN 送到你手边。

在中国大陆下载海外资源常常只有几十 KB/s,甚至反复断线。Action Downloader 把下载链接交给 GitHub 的 Runner(实为 Azure VM)去抓取,再自动发布为 GitHub Release —— 而 Release 资源是有 CDN 加速的,直连即可跑满带宽。

只需一个链接 ≥ 2 GiB 自动分卷 Release + Artifact 双份 AGPL-3.0
Actions › Downloader › Run workflow
Checkout & 安装 wget / tree等待
wget 高速拉取海外文件等待
检查体积,≥ 2 GiB 则 split等待
gh release create + 上传 Artifact等待
downloader-42 已发布 · Downloader 下载成功: 第 1 个文件
Releases › down.part00 · down.part01 · down.part02
为什么需要它

同样是从境外拿文件,路径不同,速度天差地别

跨境链路拥塞、丢包、限速,让直接下载海外服务器上的大文件变成一场煎熬。而 GitHub 的 Release 资源通过全球 CDN 分发,在大陆地区通常能保持稳定、可观的直连速度。把「跨境」这一段交给 GitHub 数据中心来完成,你只需要走最后一公里。

直接下载海外源站

你的电脑 → 跨境链路 → 海外服务器

本机跨境出口 🐢海外源站
典型速度
~80 KB/s
稳定性
经常断
4 GB 耗时
14 h+

通过 Action Downloader

GitHub 服务器 → 海外服务器(同在境外,飞快),再由 Release CDN → 你

Runner ⚡ 源站Release CDN本机
典型速度
跑满带宽
稳定性
可断点续传
4 GB 耗时
几分钟

* 速度数据为示意,实际取决于你的运营商、宽带以及源站响应情况;Runner 与海外源站之间的下载通常可达数十 MB/s 以上。

工作原理

一个 workflow,四步搞定

整个流程就在 .github/workflows/downloader.yml 里,逻辑一目了然、方便审计与修改。

输入链接触发

通过 workflow_dispatch 手动触发,只有一个必填参数 LINK——你要下载的文件地址。

on: workflow_dispatch → inputs.LINK

Runner 端 wget 下载

在 ubuntu-latest 上安装 wget、tree、coreutils,把文件抓取到 downloads/down。GitHub 到海外源站的链路又快又稳。

wget -O downloads/down '$LINK'

大文件自动分卷

Release 单个附件上限 2 GiB。文件 ≥ 2 GiB 时自动按 2046 MiB 切分为 down.part00、part01…,本地一条命令即可合并。

split -b 2046M -d down down.part

发布 Release + Artifact

用 gh CLI 创建名为 downloader-N 的 Release 并上传全部文件;同时再上传一份 Artifact 作为备份。

gh release create "downloader-N" *
特性

小而美,恰到好处

0 ¥

零成本,无需服务器

公开仓库的 GitHub Actions 免费使用,不用买 VPS、不用配代理,Fork 就能用。

2 GiB

大文件自动分卷

超过 Release 单附件上限时自动 split,并在 Release 说明里附上合并指令,不怕忘。

双份存储

Release 走 CDN 长期保存;Artifact 作为备份,即使 Release 被清理也有退路。

只有 wget

不依赖任何第三方 Action 进行下载,只用 wget、split 和 gh CLI,行为透明可审计。

最小权限

仅声明 contents: write,使用仓库自带的 GITHUB_TOKEN,无需任何额外 Secret。

使用方法

三分钟上手

1

Fork 仓库

打开 lingyicute/Action-tools,点击右上角 Fork。建议保持仓库公开以享受免费 Actions 执行能力。

2

启用 Actions

进入你 Fork 后的仓库,切到 Actions 标签页。首次会提示「I understand my workflows, go ahead and enable them」,点击启用。

3

运行 Downloader

左侧选择 Downloader,点击 Run workflow,在 LINK 中粘贴要下载的文件直链,确认运行。

4

到 Releases 高速下载

等待 workflow 完成(取决于文件大小,通常几分钟),回到仓库首页右侧 Releases,找到 downloader-N,直接下载附件即可享受 CDN 速度。

(可选)合并分卷

如果文件 ≥ 2 GiB 被切分成了多个 .part,下载全部分卷后使用右侧命令合并。合并后请自行重命名为原始文件名和扩展名。

常见问题

你可能想问

为什么 Release 下载在大陆会比源站快?
GitHub Release 的附件由 GitHub 的对象存储与全球 CDN 分发,边缘节点覆盖广、链路质量好;而许多海外小站点、学术镜像、个人服务器只有单一节点,跨境访问时极易拥塞。Action Downloader 相当于把「跨境」这段由 GitHub 数据中心内部高速完成,你只需要从 CDN 拿结果。
下载的文件为什么叫 down,没有扩展名?
workflow 使用 wget -O downloads/down 统一命名,以简化后续分卷与发布逻辑。Release 说明里会记录原始链接,下载后自行重命名(例如加回 .iso.zip)即可。你也可以 Fork 后修改这一行来保留原始文件名。
为什么按 2046 MiB 切分而不是 2048?
GitHub Release 单个附件的上限是 2 GiB(2048 MiB)。取 2046 MiB 留出一点余量,避免恰好卡在边界导致上传失败。合并时按顺序拼接 down.part00down.part01… 即可完整还原。
有什么限制?
① 链接需要是无需登录、无需 Cookie 的直链;② 受 Runner 磁盘空间限制(大约十几 GB 可用),超大文件可能失败;③ 单个 job 最长运行 6 小时;④ Artifact 默认保留 90 天,Release 则长期保存;⑤ 请遵守 GitHub 服务条款,勿用于分发侵权或违规内容。
需要配置 Token 或 Secret 吗?
不需要。workflow 使用 Actions 自带的 GITHUB_TOKEN,并声明了 permissions: contents: write,足以创建 Release。你唯一需要做的就是 Fork 并启用 Actions。
私有仓库可以用吗?
也是可以的,但私有仓库的 Actions 分钟数和存储空间有配额限制,且 Release 附件需要登录才能下载。如果内容不敏感,建议使用公开仓库。

下一次遇到龟速下载,试试交给 GitHub

Fork、启用 Actions、粘贴链接。剩下的,交给 Runner 和 CDN。

已复制