跳到正文
发现
桌面应用效率工具

Convoy:macOS 原生下载管理器

用 Swift 和 SwiftUI 写的 macOS 原生下载管理器,配合浏览器扩展接管浏览器下载。

admin
发布于 2026-11-04
浏览
9
访问
0
下载
0
版本
v1.2.0
平台
macOS
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Convoy 是一款用 Swift 和 SwiftUI 编写的 macOS 原生下载管理器,附带浏览器扩展,把浏览器里的下载交给 App 处理。采用 GPL-3.0 许可证,要求 macOS 14(Sonoma)或更高版本,支持 Apple 芯片与 Intel 机型。

主要功能

  • 分段下载:每个文件通过 1–16 个连接(可配置)同时抓取,遇到不支持 Range 的服务器自动回退为单连接。
  • 暂停与恢复:退出 App 再打开后仍可继续下载。
  • 浏览器集成:支持 Chromium 系(Chrome、Brave、Edge、Vivaldi、Opera、Arc、Helium、Chromium)与 Firefox 系(Firefox、Zen、Floorp、LibreWolf、Waterfox)。可拦截下载,为链接、图片和媒体添加右键菜单项,并在页面视频上显示下载按钮;会把页面的 cookie 与请求头一并发送,因此需要登录的下载也能完成,无痕窗口使用各自独立的 cookie。
  • 视频流:支持 HLS 与 DASH,音视频分离的流会在下载后用 AVFoundation 合并。
  • YouTube:通过 yt-dlp 实现,可在「设置 → YouTube」中按需安装。
  • 自动更新:每天检查一次,安装前先询问。
  • 下载队列:按状态(下载中、已完成、已暂停、失败)筛选,并支持搜索。
  • 菜单栏项目:一眼查看进行中的下载,可全部暂停、全部恢复。
  • 完成通知:下载完成后通知,可选提示音。
  • 存储清理:找出中断下载留下的残留文件,按需清理(设置 → 高级)。
  • 外观:浅色、深色或跟随系统。

不支持 Safari(Apple 的扩展路线需要付费证书),也不会上架 Mac App Store。

安装与使用

从 Releases 下载最新版本,提供两种内容相同的安装方式:Convoy-<version>.pkg 安装包(装到 Applications,需要管理员密码)和 Convoy-<version>.dmg 磁盘映像(打开后把 Convoy 拖到 Applications)。

Convoy 未经过 Apple 公证,首次打开安装包或 App 时系统会提示无法验证。处理方式:

  1. 关闭提示框。
  2. 打开系统设置 → 隐私与安全性,向下找到关于 Convoy 的条目,点击仍要打开。
  3. 确认并输入密码。

只需操作一次。每个文件旁附有 .sha256 校验文件,可把两者放进同一目录后执行:

shasum -a 256 -c Convoy-1.0.0.pkg.sha256

浏览器扩展

首次启动时 App 会询问要设置哪些已安装的浏览器,并显示加载方式;之后可在「设置 → 浏览器」中重复操作。每个浏览器只需加载一次:

  1. 打开浏览器的扩展页(如 chrome://extensions)并开启开发者模式。
  2. 把 ~/Library/Application Support/Convoy/Extension 拖到该页面,或点击加载已解压的扩展程序并选择该目录。

App 会维护这份扩展副本,浏览器重启后生效。Firefox 及基于它的浏览器使用单独的扩展构建,在「设置 → 浏览器」中点击 Add to Firefox(或对应浏览器名称)并确认提示即可,之后由 Firefox 自行更新。

从源码构建

需要安装 Xcode 并将其设为当前开发者目录。./build.sh 会先检查这点:

git clone https://github.com/TheDynamicPunk/Convoy.git
cd Convoy
./build.sh

产物为 .build/release/Convoy.app。swift build -c release 只编译二进制,不组装和签名 App 包;./verify-bundle.sh .build/release/Convoy.app 可校验结果。./make-pkg.sh 和 ./make-dmg.sh 分别用于打包安装包和磁盘映像。

DownloadEngine 是独立的库目标,可以单独使用:

let task = try await DownloadManager.shared.addDownload(
    url: URL(string: "https://example.com/file.zip")!,
    segmentCount: 8
)

注意事项

  • 更新经过签名,Convoy 只安装用本项目密钥签名的更新;可在「设置 → 通用」中关闭每日检查。
  • Firefox 有两点限制:隐私窗口需在「管理扩展 → 在隐私窗口中运行」中允许;容器标签页的下载使用默认容器的 cookie,而不是该容器自身的。
  • 「Convoy」名称、图标与品牌不受 GPL 覆盖,代码不授予商标权;分发修改版请使用自己的名称和图标。
  • 运行时下载的辅助程序(yt-dlp、QuickJS 运行时、人机验证服务)属于独立作品,采用各自许可证,不随 App 分发。
  • Convoy 是通用下载管理器,使用时应遵守所用网站的服务条款与当地著作权法。

本作品整理自 GitHub 开源项目 TheDynamicPunk/Convoy,原作者 @TheDynamicPunk,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v1.2.0当前版本

    新增下载分类(按文件类型或来源站点自动归档,规则可编辑、可预览)与隐藏 Dock 图标,支持 Helium 浏览器、全屏应用下自动置前;修复视频下载被误判过期、同名不同清晰度被误判重复等问题。

评论