# M3U8Quicker **Repository Path**: anydev/M3U8Quicker ## Basic Information - **Project Name**: M3U8Quicker - **Description**: 跨平台M3U8下载器,支持多线程下载、断点续传、边下边播、AES解密、浏览器自动识别地址 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.cnblogs.com/liubsyy/p/19832015 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # M3U8 Quicker

M3U8 Quicker icon

Windows MacOS Linux

Latest release License Total downloads

**M3U8 Quicker** 是一个基于 `Tauri + Rust + React + TypeScript` 构建的桌面应用,用于下载、管理与播放 HLS、DASH 以及常见直链视频,支持 Windows、MacOS 和 Linux。 项目同时包含一个可选的 浏览器 扩展:自动检测网页中的视频,一键快速新建下载任务并预填下载信息。 ![下载主界面](./doc/img/download_main.png) ## 功能特性 **下载视频** - HLS视频(M3U8格式)下载:支持AES-128/AES-192/AES-256解密、多音轨(音视频字幕分离)下载 - DASH格式视频下载 - 普通视频(mp4/mkv/avi/wmv/flv/webm/mov/rmvb)的下载 - 支持多线程下载提高下载速度(可设置并发数) - 支持边下边播、暂停/继续下载(断点续传)、失败分片重试 - 支持下载完转mp4格式、编码转换和格式转换 - 可设置代理 - 支持批量下载 - 支持视频预览图 **直播录制** - 支持HTTP-FLV和HLS格式 - 录播完转mp4格式 **浏览器扩展** - 自动扫描下载视频、直播视频 - 一键新建下载视频任务/直播录制 - 除通用网址,还兼容B站、抖音、CCTV等网站 ## 使用说明 ### 安装 可在 [GitHub Releases](https://github.com/Liubsyy/M3U8Quicker/releases) 页面下载对应的桌面安装包或发行文件,下方文件链接可直接下载: | 系统 | 文件 | 说明 | | :--- | :--- | :--- | | Windows **Windows** | **x64**:[安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_windows_x64_setup.exe) \| [免安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_windows_x64.zip)
**x86**:[安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_windows_x86_setup.exe) \| [免安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_windows_x86.zip) | 大多数电脑选 x64
32 位系统选 x86 | | MacOS **MacOS** | **Apple Silicon**:[安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_macos_aarch64.dmg) \| [应用包压缩](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_macos_aarch64.app.tar.gz)
**Intel**:[安装包](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_macos_x64.dmg) \| [应用包压缩](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_macos_x64.app.tar.gz) | M芯片选 Apple Silicon
Intel 芯片选 Intel | | Linux **Linux** | **安装包**:[deb](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_linux_amd64.deb) \| [rpm](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_linux_x86_64.rpm)
**免安装**:[AppImage](https://github.com/Liubsyy/M3U8Quicker/releases/latest/download/M3U8.Quicker_1.2.2_linux_amd64.AppImage) | Ubuntu/Debian/Linux Mint选deb
Fedora/RHEL/CentOS Stream/openSUSE选rpm | MacOS 首次安装时如果遇到“无法打开”或“应用已损坏”之类的权限提示,可按下面方式处理: 1. “系统设置 -> 隐私与安全性”中找到被拦截的应用,点击“仍要打开” 2. 如果第1种方式不行,可以在终端执行以下命令后重新打开 ``` xattr -rd com.apple.quarantine /Applications/M3U8\ Quicker.app ``` **浏览器扩展(可选):** 在应用内打开“工具 -> 安装浏览器扩展”按引导安装即可。 ### 新建下载 在主界面点击“新建下载”,填写 `M3U8` 地址后即可创建任务。 如果资源需要额外请求头(可选),可以在附加 Header 中填写,例如: ```text referer:https://example.com origin:https://example.com ``` ![新建下载](./doc/img/newtask.png) 下载前可查看视频预览图 ![视频预览](./doc/img/video_preview.png) ### 下载中 任务创建后会进入下载列表,下载过程中支持以下操作: - 可手动暂停正在下载的任务 - 已暂停的任务可继续恢复下载,支持断点续传 - 下载失败的分片可重试下载失败分片 - 下载中的任务可直接打开播放器,边下边看 - 不再需要的任务可取消或移除 下载列表会持续显示任务状态、下载进度、下载速度等信息,便于随时查看当前下载情况。 ![下载中](./doc/img/download_ts.png) ### 播放 - 下载中的任务支持直接打开播放器,便于边下边看 - 下载中若跳转到未下载分片进度时,优先下载当前播放进度分片 - 已完成任务支持播放最终文件 ![播放窗口](./doc/img/playvideo.png) ### 设置 设置面板当前支持: - 主题切换 - 代理开关与代理地址 - 下载并发数量 - 下载限速 - 下载完成后是否删除临时目录、自动转换为 mp4 - FFmpeg下载和管理 ### 浏览器扩展(可选) 安装浏览器扩展后,网页中会自动扫描出视频地址和直播地址,右上角会出现一个按钮`M3U8 Quicker`,点击后唤起桌面应用新建下载任务(也可以直播录制),并自动带入 `url`、`referer`、`origin`、`user-agent`。 > 安装扩展引导:打开M3U8 Quicker-> 工具 -> 安装浏览器扩展,按引导可安装Chrome扩展、Firefox扩展和Microsoft Edge扩展。 ![Chrome 扩展安装引导](./doc/img/chrome-extension.png) 使用限制: - 不会自动传递 `Cookie` - 无法可靠读取 `HttpOnly` Cookie ## 开发与构建 ### 技术栈 - 前端:`React 19`、`TypeScript`、`Vite 8`、`Ant Design 6` - 桌面端:`Tauri 2` - 后端逻辑:`Rust` ### 环境要求 - Node.js:建议使用较新的 LTS 版本 - Rust:最低 `1.88` ### 目录结构 - `src/`:React 前端界面与页面逻辑 - `src-tauri/`:Tauri 桌面端与 Rust 后端实现 - `browser-extension/`:可选的浏览器扩展源码(`chrome/` 和 `firefox/` 子目录) - `test-hls-server/`:独立的 Rust 本地测试服务,用于把视频切成 `m3u8 + ts` - `public/`:静态资源 ### 本地开发 #### 1. 安装依赖 ```bash npm install ``` #### 2. 启动桌面应用调试 VSCode 直接按 **F5**,或: ```bash npm run dev:desktop ``` `npm run dev:desktop` 是跨平台启动入口(VSCode F5 也指向它): - Windows / Linux:等价于 `npm run tauri dev`。 - macOS:自起 Vite + 构建 dev 二进制,并把它包进一个声明了 `m3u8quicker://` 协议的 `.app` 后注册运行。 这样浏览器扩展在调试期也能像 Windows 一样唤起应用(`tauri dev` 产出的裸二进制无法被 macOS 注册为协议处理器)。 ### 常用命令 | 命令 | 说明 | | --- | --- | | `npm install` | 安装前端依赖 | | `npm run dev` | 启动前端开发服务器 | | `npm run dev:desktop` | 启动桌面应用调试(macOS 下额外注册深链 `.app`) | | `npm run preview` | 预览前端构建产物 | | `npm run tauri dev` | 启动桌面应用开发模式(macOS 下不支持扩展深链跳转) | | `npm run lint` | 检查前端代码规范 | | `npm run build` | 执行 TypeScript 检查并构建前端 | | `npm run tauri build` | 构建桌面应用安装包 | | `cargo check --manifest-path src-tauri/Cargo.toml` | 检查 Rust / Tauri 侧代码 | | `cargo test --manifest-path src-tauri/Cargo.toml` | 运行 Rust 单元测试 | ### 打包与资源说明 - 应用名称:`M3U8 Quicker` - 应用标识:`com.liubsyy.m3u8quicker` > 桌面应用打包时会把仓库根目录下的 `browser-extension/` 一并作为资源打入安装包,因此安装后的应用仍然可以为扩展安装引导提供目标目录。 > 当前仓库和默认打包配置不会直接把 `FFmpeg` 二进制预置进安装包;如用户在应用内下载或自行配置 `FFmpeg`,该部分组件适用其各自的上游许可证与分发条件。 ## License - 本仓库源码基于 Apache License 2.0 开源,详见仓库根目录下的 `LICENSE` 文件。 - 本项目运行时可使用的 `FFmpeg`、系统已安装的 `FFmpeg` 以及应用内下载的第三方 `FFmpeg` 二进制,均适用其各自许可证,不因本仓库采用 `Apache-2.0` 而改变。 - 第三方许可与说明请参见仓库根目录下的 `THIRD_PARTY_NOTICES.md`。