【免费下载链接】hydra
A fast, resilient, multi-source file retriever and download engine
hydra CLI是一个开源的高性能多线程下载工具,一条命令即可自动拆分连接、实时再平衡负载,并支持断点续传、多镜像聚合、限速和灵活输出控制。它同时兼容wget/curl风格参数,让老脚本几乎零成本迁移。这篇教程带你用 10 分钟、10 个常用命令,从零掌握 hydra 下载器的核心玩法。
💡 为什么选 hydra?官方基准测试中,
hydra -x 8在 100ms 往返链路上下载 1GB 文件平均达到414 MB/s(2.6 秒完成),内存占用仅为同配置 aria2c 的 1/3、curl 的 2/5。调度与限速的实现分别在 crates/hydra-core/src/sched.rs 与 crates/hydra-core/src/rate.rs。
一、快速安装 hydra 下载器
按需选择一种方式,装完后hydra与短名hya都在PATH中:
| 平台 | 命令 |
|---|---|
| macOS / Linux | curl -fsSL .../install.sh \| bash -s -- --cli(仅装 CLI) |
| macOS / Linux | brew install ja7ad/tap/hydra |
| Windows (PowerShell) | irm .../install.ps1 \| iex |
| Arch Linux | paru -S hydra-download-manager-bin |
⚠️ Ubuntu 上包名是
hydra-download-manager,直接apt install hydra装到的是另一款同名密码破解工具。
想从源码构建?clone 仓库后执行cargo build --release,产物位于target/release/hydra:
git clone https://gitcode.com/gh_mirrors/hydra74/hydra cd hydra cargo build --release安装完成后,运行hydra -V查看版本,hydra --help查看全部参数。完整的参数字典请查阅手动页 docs/man/hydra.1。
二、命令 1:一条命令完成下载(自动探测并行度)
hydra https://example.com/archive.tar.gz不带任何参数时,hydra 会先实测这条链路能支撑多少并行连接,只打开真正有用的数量——单连接已跑满的链路上不会盲目开更多连接。进度条、剩余时间、续传能力一目了然。
三、命令 2:-x N手动指定多线程连接数
hydra -x 8 https://example.com/largefile.iso-x(等同--max-connection-per-server)为每个来源固定打开 N 条连接,-s N是它面向 aria2c 习惯的别名。桌面版 GUI 中对应的「每个文件拆分为多条连接、实时再平衡」效果如图所示:
小提示:小文件永远不会被过度拆分(每 256 KiB 最多一条连接),1 KiB 的文件也只发 1 个请求。
四、命令 3:-O/-P/-y控制输出文件与目录
# 指定输出文件名 hydra https://example.com/archive.tar.gz -O output.tar.gz # 保存到目录(不存在会自动创建),-y 按文件真实类型自动归档 hydra -P ./downloads -y https://example.com/app.zip-O FILE:输出文件名,始终优先于 URL 推断的默认名-P DIR:输出目录,等价于wget的-P--remote-name:按 URL 最后一段命名(curl 的-O语义)-y(--sort-by-type):按文件头 magic bytes而非扩展名,把成品归档进Video、Music、Compressed等分类子目录
批量下载时按类型自动分文件夹的效果:
其他常用输出开关:--no-clobber(文件已存在则跳过,即wget -nc)、-f(强制覆盖)、--stdout(结果写标准输出,方便管道处理)、--no-save(只测速不落地)。
五、命令 4:-c断点续传,中断不白下
# 下载中断后,同一条命令加 -c 从断点继续 hydra -c https://example.com/largefile.isohydra 在传输过程中持续写入续传 sidecar 记录;按Ctrl-C会立刻把当前实际持有的区间写入续传记录并退出(退出码 130),下次-c直接从断点开始。若远端文件已变化(续传校验发现对不上),hydra 会拒绝续传并打印原因,而不是拼出一个坏文件。相关逻辑见 crates/hydra-net/src/transfer.rs。
六、命令 5:--mirrors多镜像聚合下载
hydra --mirrors \ https://mirror1.example.org/file.iso \ https://mirror2.example.org/file.iso默认情况下多个 URL 会下载成多个文件;加上--mirrors后,它们被视为同一个文件的多个镜像,hydra 把字节区间在多个来源之间拼接组装,并实时把慢源的活儿偷给快源(Range Stealing)。若某来源与文档声明的大小或校验器不一致,会被带原因剔除。
七、命令 6:--limit-rate限速,跑满不伤网卡
hydra --limit-rate 5M https://example.com/big.iso按聚合速率封顶(支持500k、2M这类写法)。写错格式会直接报错退出,而不是静默变成不限速——避免在计费和共享链路上「超速」翻车。配合--polite(每个主机只用一条连接)则更适合志愿者镜像站。
八、命令 7:一次下载多个 URL(并行 / 排队)
# 默认并行抓取多个不同文件,--parallel-max 控制同时进行的任务数 hydra --parallel-max 4 URL1 URL2 URL3 # 改为逐个排队下载 hydra --mode queue URL1 URL2 URL3 # 从文件读取 URL 列表,每行一个 hydra --input-file urls.txt九、命令 8:--inspect探测与--list-streams流媒体
# 只探测不下载:文件大小、类型、是否支持断点、重定向链等 hydra --inspect https://example.com/release.iso # 列出 HLS/DASH 流的全部清晰度档位 hydra --list-streams https://stream.example.com/master.m3u8 # 下载流媒体并指定清晰度(取不到精确匹配时选向下最近的档位) hydra --quality 720 https://stream.example.com/master.m3u8.m3u8/.m3u/.mpd结尾的 URL 会被自动识别为自适应流清单;HLS 与 DASH 的解析代码位于 crates/hydra-stream/src/hls.rs 与 crates/hydra-stream/src/dash.rs。直播录制可用--record-seconds 60录满 60 秒媒材后收尾,得到一个完整可播放文件。
十、命令 9:hydra interactive交互式队列(TUI)
# 启动全屏队列管理器,URL 会在启动时入队 hydra interactive https://example.com/file1.iso https://example.com/file2.zip队列持久化在本地状态文件中,下次启动自动接回。常用按键:
| 按键 | 功能 |
|---|---|
a | 添加 URL |
j/k | 上下选择任务 |
p/r | 暂停 / 恢复 |
d | 取消任务 |
+/- | 调整队列并行度 |
b | 后台运行(离开界面,下载继续) |
q | 停止并退出 |
按键表与细节见 docs/man/hydra-interactive.1,实现位于 crates/hydra-cli/src/tui.rs。
十一、命令 10:hydra checksum校验与--json机器可读输出
# 查询发布方公布的摘要(头部摘要 → 旁挂 .sha256 文件 → 生态索引) hydra checksum https://example.com/release.tar.gz # 下载完成后按目标哈希校验,不匹配则退出码为 1 hydra --checksum sha256:e3b0c442... URL # 结果以 JSON 输出到标准输出,方便脚本解析(隐含静默模式) hydra --json URL--print-checksum则会在完成后报告文件的 SHA-256。checksum子命令的完整信任链说明见 docs/man/hydra-checksum.1。
十二、日志与进阶输出控制速查
| 需求 | 参数 |
|---|---|
| 只留错误输出 | -q/--quiet |
| 详细 / 调度器级详细 | -v/-vv |
| 打印请求与响应头 | -S |
| 只探测头部不取正文 | --spider |
| 日志写入文件(无 ANSI,可 grep) | -o log.txt/--logfile-append log.txt |
| 兼容 wget / curl 方言 | --compat wget或--compat curl |
| 安装 shell 补全 | hydra install-completions |
🔄 脚本迁移:现有
wget/curl脚本可直接运行——二进制被调用时的名字会自动推断方言;hydra compat-link还能创建wget/curl兼容入口(详见 crates/hydra-cli/src/compat.rs)。
十三、10 个常用命令速查表
| # | 命令 | 用途 |
|---|---|---|
| 1 | hydra URL | 自动探测并行度下载 |
| 2 | hydra -x 8 URL | 手动指定 8 条连接 |
| 3 | hydra -O f -P dir -y URL | 控制文件名、目录与自动分类 |
| 4 | hydra -c URL | 断点续传 |
| 5 | hydra --mirrors URL1 URL2 | 多镜像拼接下载 |
| 6 | hydra --limit-rate 5M URL | 聚合限速 |
| 7 | hydra --mode queue URL... | 多 URL 并行/排队 |
| 8 | hydra --inspect / --list-streams URL | 探测文件与流清晰度 |
| 9 | hydra interactive | TUI 队列管理 |
| 10 | hydra checksum URL/--json | 摘要查询与机器可读输出 |
十四、写在最后
到这里,你已经掌握了 hydra CLI 的多线程下载、断点续传与输出控制这三大核心能力。接下来可以深入的方向:
- docs/man/hydra.1:全部参数的手动页
- docs/man/hydra-interactive.1:TUI 队列详解
- scripts/benchmark/:可复现的基准测试脚本
- crates/hydra-core/src/plan.rs:下载计划与区间调度源码
10 分钟后,愿你的下载队列永远跑满。🚀
【免费下载链接】hydra
A fast, resilient, multi-source file retriever and download engine
相关推荐
终极指南:如何用openpilot开源系统为333款汽车升级智能驾驶体验
终极指南:如何用openpilot开源系统为333款汽车升级智能驾驶体验 想让你的爱车拥有媲美特斯拉的自动驾驶能力吗?openpilot是一个开源机器人操作系统
自动驾驶人工智能深度学习计算机视觉Aerial视频下载加速:多线程下载与断点续传实现
Aerial视频下载加速:多线程下载与断点续传实现 你是否还在为Aerial视频下载速度慢而烦恼?是否遇到过下载中断后需要重新开始的尴尬?本文将深入解析Aeri
桌面应用音视频Reverb社区最佳实践:来自DeepMind工程师的7个高效使用技巧
Reverb社区最佳实践:来自DeepMind工程师的7个高效使用技巧 Reverb是由DeepMind开发的高效数据存储与传输系统,专为机器学习研究设计。作为
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考