Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

速下 QuickDown

原生 macOS 下载管理器,中文界面,浏览器下载一键接管。

速下(QuickDown)是一个轻量、现代的中文下载管理器,功能对标 IDM / NeatDownloadManager: 多线程分段加速、断点续传、并发队列、浏览器扩展接管,全部原生 Swift 编写(安装包仅约 2MB)。

本软件是 NeatDownloadManager(NDM)的开源替代品。相比汉化 NDM 的旧版英文界面 (其字符串写死在编译后的二进制里,无法干净汉化),速下从零构建,全中文、可维护、可升级。


功能特性

功能 说明
多线程分段下载 默认 8 段并行(可调 1-32),服务器不支持 Range 时自动回退单连接
网页视频嗅探 鼠标悬停到视频上即在视频右上角出现嗅探按钮(含分辨率、大小),移开消失、全屏不出现;扩展自动捕获页面中的 m3u8 / ts / mp4 / flv 等视频地址
m3u8 分片合并 HLS 流自动并行下载全部 ts/m4s 分片(支持 AES-128 解密),合并转封装为完整可播放的 MP4,不留碎片
中文文件分类 下载自动归入 视频/音乐/压缩包/图片/应用程序/文档/代码/其他 八个中文子文件夹,界面显示分类标签
断点续传 暂停 / 退出后继续下载,不丢失进度(服务器支持 Range 时)
并发队列 同时下载数可调(默认 3),其余任务排队
浏览器接管 自带中文 Chrome/Thorium/Edge 扩展,浏览器下载自动转交速下
右键下载 扩展提供「用速下下载此链接/媒体/图片/页面」右键菜单
完成通知 系统通知提醒,点击可在 Finder 中定位文件
代理支持 HTTP 代理(含认证)
全局限速 设置中可调整总下载带宽
开机启动 系统设置中一键开启
本地服务 127.0.0.1 端口服务(默认 10007,被占用自动顺延)
菜单栏图标 快速开始/暂停/新建下载

安装

方式一(一键安装包 .pkg,推荐)

  1. 关闭所有浏览器(Chrome / Edge / Thorium / Brave)
  2. 双击 速下下载管理器-一键安装.pkg → 输入 Mac 密码
  3. 重新打开浏览器 —— 速下扩展已自动装好,开发者模式已自动开启

方式二(zip 手动)

cd QuickDown
./Scripts/install.sh

或手动:

./Scripts/build.sh release      # 构建
open dist/QuickDown.app         # 首次启动

安装浏览器扩展(Chrome / Thorium / Edge 等)

安装脚本会尝试自动注册扩展;若未生效,手动两步:

  1. 浏览器地址栏打开 chrome://extensions,开启右上角「开发者模式
  2. 点击「加载已解压的扩展程序」,选择目录:
/Applications/QuickDown.app/Contents/Resources/BrowserExtension

扩展功能:

  • 接管开关:点击工具栏扩展图标即可开启/关闭下载接管
  • 接管方式:自动接管 / 每次询问 / 关闭(扩展选项页)
  • 接管范围:所有文件 / 仅媒体与安装包;可排除指定站点
  • 右键菜单:链接、视频、图片一键交给速下

使用

  • 新建下载:主窗口 ⌘N 粘贴链接;扩展接管后无需手动操作
  • 网页视频嗅探:打开含视频的网页,鼠标移到视频上,视频右上角出现「⬇ 下载视频」按钮(显示分辨率与大小;移开消失,视频全屏时不出现)→ 点击交给速下。m3u8 流会自动合并为 MP4。也可在页面任意位置右键 → 「🎬 嗅探本页视频」打开列表面板
  • 暂停/继续:列表行内按钮,或详情面板;支持断点续传
  • 文件分类:下载完成后自动保存到 下载目录/视频|音乐|压缩包|图片|应用程序|其他/ 对应子文件夹(设置 → 常规可关闭)
  • 打开文件:完成后右键/详情面板「打开文件夹」
  • 设置:工具栏齿轮,或 ⌘,

常见问题

Q:为什么有些下载看起来是单线程(速度一般)? 多线程分段的前提是服务器支持 HTTP Range(断点续传)。速下会自动探测:支持 Range 的服务器(绝大多数 CDN、网盘直链)会 4 段并行下载;不支持 Range 的服务器只能单连接(IDM/NDM 也是如此,这是协议限制,不是软件问题)。探测时若服务器返回 200 但声明 Accept-Ranges: bytes,同样会走多线程。可在设置中调大分段数(最高 16 段)获得更快速度。

Q:下载某些链接得到的是网页(HTML)而不是文件? 部分网盘/下载站使用 JS 中转页(如 ajax.php 动态取真实地址)。速下会自动跟随 meta-refresh 跳转直达真实文件;若页面通过 JS 动态生成下载链接,请直接在浏览器中点击页面上的下载按钮——扩展会接管真实文件的下载(文件名和分类都会正确)。直接粘贴此类中转 URL 到任意下载器都无法绕过页面脚本(IDM/NDM 同样如此)。

Q:为什么我的下载文件名是 "file" / "download" 这类通用名? 服务器未返回 Content-Disposition 且 URL 本身不带文件名时,只能使用通用名。速下会在服务器提供文件名时自动采用更准确的名字。

Q:浏览器里点击下载后,浏览器显示"已取消"或一个 1 字节的残留文件? 这是正常现象。扩展接管下载时会取消浏览器的下载任务(浏览器会留下一个 0~1 字节的 .crdownload 临时文件,浏览器右上角会短暂闪过下载动画——这是浏览器自身的下载提示,无法去除),真正的文件由速下在下载目录中完整下载(完成后有系统通知)。速下会在接管时自动弹出主窗口显示进度(可在设置 → 浏览器扩展中关闭"接管下载时弹出主窗口")。检查 ~/Downloads 或速下主窗口的列表即可看到完整文件。

Q:扩展改了代码后不生效?chrome://extensions 中找到速下扩展,点击扩展卡片上的 ↻ 刷新 按钮重新加载。

Q:装了 NDM 官方扩展还一直报 "Extension Can't Connect"? 请移除 NDM 扩展(chrome://extensions)。NDM 主程序已不运行,其扩展必然报错;且两个扩展同时存在会导致重复接管。若想保留 NDM 扩展:先退出 NDM 应用,再启动速下(速下兼容 NDM 扩展的 WebSocket 协议,可在 10007 端口直接接收)。

端口说明

  • 速下监听 127.0.0.1:10007(可配置);若 NeatDownloadManager 正在运行会占用该端口,速下会自动顺延到 10008 等端口
  • 自带扩展会自动探测端口(10007-10014),无需手动配置
  • 若需与 NDM 官方扩展兼容(其固定使用 10007),请先退出 NDM 再启动速下

工作原理

浏览器(Chrome/Thorium/Edge)
   │  扩展拦截下载(chrome.downloads + 右键菜单)
   ▼
POST http://127.0.0.1:10008/add   (JSON: url/filename/referer/cookie)
   ▼
速下 App:探测服务器 → 多线程分段(Range 请求)→ 合并 → 完成通知
  • 核心引擎(QuickDownCore):分段调度、断点续传、文件合并、速率限制
  • 本地服务(LocalServer):HTTP + WebSocket(兼容 NDM 官方扩展协议 ws://127.0.0.1:10007/download
  • 数据持久化:~/Library/Application Support/QuickDown/downloads.json(原子写入)

开发

swift build                 # 编译
swift test                  # 测试(含真实网络集成测试:分段/续传/回退)
./Scripts/build.sh release  # 打包 .app

测试覆盖:文件名解析、分段数学、断点续传、单连接回退、错误处理、本地服务器、持久化。

已知限制 / Roadmap

  • HLS 直播流(无 ENDLIST)会下载当前已列出的分片,不持续追播
  • HLS 部分加密(SAMPLE-AES)暂不支持(AES-128 全加密已支持)
  • Safari 扩展需要开发者证书签名,暂未提供(Chrome 系浏览器已完整支持)

目录结构

QuickDown/
├── Sources/
│   ├── QuickDownCore/     # 下载引擎、本地服务器、存储
│   └── QuickDown/         # SwiftUI 界面
├── Extension/             # Chrome MV3 扩展(中文)
├── Scripts/               # 构建 / 安装 / 图标脚本
├── Resources/             # Info.plist、图标
└── Tests/                 # 单元 + 集成测试

许可

MIT — 自由使用、修改、分发。

About

速下 QuickDown — macOS 原生中文下载管理器:多线程加速、浏览器下载接管、视频嗅探、m3u8 合并 MP4、中文分类

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages