Gofile 批量下载实操:带密码链接 5 行命令下完,断点续传开箱即用
【免费下载链接】gofile-downloaderDownload files from https://gofile.io项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader
gofile-downloader 是一个单脚本的 Python 命令行工具,专门做 Gofile 批量下载:把 gofile.io 上的分享文件完整拉到本地,保留原始目录结构。它支持单链接、带密码的 gofile 链接,以及把一串链接写进 txt 一次性下完,过程有进度与速度显示,中断后能续传。适合经常收到 gofile.io 分享链接、想按清单把文件集中落到固定目录的人;它只管下载,不提供网盘式的管理功能。
最短路径:3 组命令拿到第一个文件
前置要求:Python 3.10+。uv会自动建虚拟环境并管理依赖,不用手动折腾。
git clone https://gitcode.com/gh_mirrors/go/gofile-downloader cd gofile-downloader把整个项目拉到本地,仓库只有几百 KB,秒级完成。
pip install uv uv sync安装 uv 并创建.venv、装好依赖(唯一第三方库是 requests),看到.venv出现即环境就绪。
uv run gofile-downloader.py https://gofile.io/d/你的文件ID uv run gofile-downloader.py https://gofile.io/d/你的文件ID "你的密码"第一行下普通链接,第二行给带密码的链接加上第二个参数。文件 ID 就是链接里/d/后面那串字符;默认保存到当前目录,会新建一个以链接 ID 命名的子目录。
三个高频动作
📋 动作一:清单文件一次下完
新建my-urls.txt,一行一个链接;某一行需要密码时,在链接后跟一个空格写密码——只对该行生效。
https://gofile.io/d/链接ID1 密码1 https://gofile.io/d/链接ID2 https://gofile.io/d/链接ID3 密码3uv run gofile-downloader.py my-urls.txt逐行处理清单里的链接,单个失败不影响其余的。批量模式下交互选择是关闭的,每个链接内的文件会全量下载。若所有链接共用同一个密码,可改用uv run gofile-downloader.py my-urls.txt 密码的形式在参数里统一传一次,清单里就不用写了。
✂️ 动作二:大文件夹里只挑几个
链接指向 50 个文件的文件夹,你只想要其中 3 个。把交互开关用环境变量前置到命令里:
GF_INTERACTIVE="1" uv run gofile-downloader.py https://gofile.io/d/文件夹ID终端会打印该链接下所有文件的编号清单,按提示输入编号(如1 3 7)就只下选中的;直接回车则全部下载。
⏯️ 动作三:断网了接着下
重跑同一条命令即可,不需要任何额外参数。工具先写入.part临时文件,续传时携带Range请求头,服务器返回 206 从断点继续;已完整存在的文件会打印already exist, skipping直接跳过。所以断网、按 Ctrl+C、关终端的代价只是重新发起一次请求。
配置速查:环境变量一览
在项目根目录建一个.env文件,uv启动时会自动读取,不必每次在终端里传环境变量。
GF_DOWNLOAD_DIR="./downloads" GF_MAX_CONCURRENT_DOWNLOADS="5" GF_TIMEOUT="15.0" GF_MAX_RETRIES="5"| 变量 | 默认值 | 作用 |
|---|---|---|
GF_DOWNLOAD_DIR | 当前目录 | 保存根目录,目录必须已存在 |
GF_INTERACTIVE | 关 | 设为"1"启用按编号交互挑选文件 |
GF_MAX_CONCURRENT_DOWNLOADS | 5 | 最大并发下载数 |
GF_MAX_RETRIES | 5 | 连接超时后的重试次数 |
GF_TIMEOUT | 15.0 | 连接超时阈值(秒) |
GF_CHUNK_SIZE | 2097152 | 每次读入内存的字节数(约 2 MB) |
GF_USERAGENT | Mozilla/5.0 | 请求使用的浏览器 User-Agent |
GF_TOKEN | 无 | 账户令牌,有账号体系需求再配,普通下载用不上 |
排错速查
| 症状 | 原因 | 一行解决 |
|---|---|---|
| 速度上不去 | 并发数与链接不匹配 | .env里设GF_MAX_CONCURRENT_DOWNLOADS="3"或"8" |
| 经常连接超时 | 超时阈值太短 | GF_TIMEOUT="30.0" |
| 弱网下频繁中断 | 重试次数不够 | GF_MAX_RETRIES="10" |
| 403 或密码错误 | 密码不对或链接已失效 | 核对密码;换有效链接 |
| 想固定保存位置 | 默认存在当前目录 | 先mkdir -p ./downloads,再设GF_DOWNLOAD_DIR="./downloads" |
uv sync失败 | Python 版本低于 3.10 | 升级 Python 后重新uv sync |
动手验证
拿一个手边的 gofile.io 链接,按上面"最短路径"跑一遍,确认当前目录出现以链接 ID 命名的子目录、文件大小与网页显示一致。想验一次完整流程:把两个链接(其中一个带密码)写进my-urls.txt,用批量命令跑一遍,确认两个都落在同一根目录下且互不报错。
【免费下载链接】gofile-downloaderDownload files from https://gofile.io项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考