Ghost-Downloader-3

XiaoYouChRGPL-3.0活跃维护 有专家点评

基于 Python 和 PyQt 的跨平台下载管理器,支持 HTTP、FTP、BT 磁力链和 HTTP/3,用异步架构把多种下载协议整合到一个界面里。

The only downloader you need. 下载器的集大成者。

v4.5.1发布于 2026-11-09 10:42 UTC11,044star +249 / 7 天709fork同步于 2026-11-10 23:30 UTC

专家点评

上手难度:进阶更新于 2026-11-11

把 HTTP、BT、视频站点抓取和 aria2 RPC 收进一个 Qt 桌面应用,顶替 IDM 加 aria2 加 yt-dlp 的组合

适用场景

  • 桌面端日常下载:浏览器扩展嗅探页面媒体并把登录态传给桌面端,省掉手动复制 URL 和 cookie 的步骤;用 IDM 类工具则要单独处理视频站点
  • 已有 aria2 调用链:它提供 aria2 兼容 RPC,脚本和前端可以不改直接指过来,但下载中改 URL、请求头、代理是它自己加的能力
  • 需要 BT/Magnet 和 HTTP 混在同一队列:不用在 qBittorrent 和浏览器之间来回切,代价是 BT 调优深度不如专用客户端
  • 批量抓 Bilibili/YouTube 播放列表和多 P:选清晰度、字幕在 GUI 里点,比手写 yt-dlp 参数省事,但脚本化能力弱于 yt-dlp 本身

踩坑

  • 命令行 ghd 不是随包可用的,要先在 Settings -> Command Line Tool 里单独装;把 ghd 写进 CI 或脚本前先确认这一步,否则容器/无头环境里根本没有入口
  • Qt 6.6+ 要求 CPU 支持 AVX,老机器或无 AVX 的虚拟机上直接起不来,这不是配置问题,是硬门槛
  • issue 里反复出现的是浏览器扩展与桌面端的交互细节(同名文件覆盖/重命名、自动启动下载器、临时禁止接管下载),说明扩展接管浏览器下载这条链路的行为边界还在调整,重度依赖它时要留意版本间的行为变化
  • 插件 API 尚未公开、Feature Packs 生态未稳定,现在按插件方式扩展会撞上接口变动

同类对比

要纯命令行、可脚本化的批量下载选 aria2 或 yt-dlp;要 BT 做种和精细限速选 qBittorrent。它分流的是「想要一个 GUI 把这几件事合起来」的人。

怎么上手

由 README 提炼,执行前请确认
在应用内 Settings -> Command Line Tool 安装 ghd 后使用,例如:ghd add "https://example.com/a.torrent" --select 0,3 -o ./downloads
硬件要求按 README 说明

README 未说明显存或 GPU 要求;平台要求为 Windows 10+、macOS 13.0+、Linux glibc 2.35+、Android 9.0+,架构覆盖 x86_64、arm64、arm64-v8a。注意 Qt 6.6+ 不再支持无 AVX 指令集的 CPU。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一个跨平台下载器,把 HTTP、BT、视频站点等各类下载协议收进同一个应用

基于 Python 和 PyQt 的跨平台下载管理器,支持 HTTP、FTP、BT 磁力链和 HTTP/3,用异步架构把多种下载协议整合到一个界面里。

核心能力

  • 智能分块下载且无需合并文件,自动探测带宽
  • 支持 HTTP、Magnet/BT、FTP、M3U8、MPEG-DASH、eD2k 等协议
  • 支持 YouTube、Bilibili 选清晰度、字幕、播放列表与多 P
  • 浏览器扩展嗅探页面媒体,认证状态自动传递到桌面端
  • 提供 aria2 兼容 RPC API,可在下载中修改 URL、请求头或代理

容易踩的坑

命令行工具 ghd 需先在应用设置里单独安装,不是随包默认可用;Qt 6.6+ 要求 CPU 支持 AVX,老 CPU 无法运行;插件 API 尚未公开,Feature Packs 生态仍在稳定中。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v4.5.1
  1. v4.5.1最新正式版2026-11-09 · 2026-11-09 10:42 UTC

    [!NOTE] Following this release, updates will be less frequent due to my studies. Thank you for your understanding. Feedback is always welcome. Buy me a coffee: Donate

    Improvements 🔧

    • Redesigned the Feature Pack details panel. Each pack lists what it can download, helper components such as FFmpeg are listed separately, and a restart reminder appears when an update is waiting to take effect By @XiaoYouChR
    • Invalid links in the clipboard or in dropped text are skipped instead of showing an error, and links that no pack can handle show "Unsupported link" By @XiaoYouChR

    Bug Fixes 🐛

    • Fixed New Task showing an unexpected error when the clipboard held an ed2k link with brackets in its file name. These links, including ones wrapped in Thunder links, now download normally (#1042) By @XiaoYouChR
    • Fixed clipboard monitoring missing links with an uppercase prefix By @XiaoYouChR
    • On Android, fixed shared links not being recognized when the shared text also contains a title or description By @XiaoYouChR
    • On Android, fixed sharing a link opening a second copy of the app in the background By @XiaoYouChR
    • On Android, fixed the shared link appearing twice in the New Task window By @XiaoYouChR
    • On Android, fixed a crash when selecting episodes from a Bilibili collection. Episodes are now listed in collection order, the same as on desktop By @XiaoYouChR

    Feature Pack Updates 📦

    The following updates may have already been delivered via automatic pack updates.

    • wrapped_link_pack 1.1.1 — Thunder, FlashGet and QQ Xuanfeng links that contain an ed2k link with brackets in its file name can be added normally. Requires v4.5.0 (#1042) By @XiaoYouChR

    [!NOTE] 此次更新后, 由于本人学业原因, 将放缓更新节奏, 敬请谅解. 欢迎继续提供反馈. 请我喝杯咖啡: 捐赠项目

    功能优化 🔧

    • 重做功能包详情面板, 每个功能包列出可下载的内容, FFmpeg 等辅助组件单独列出, 有更新待生效时提示重启软件 By @XiaoYouChR
    • 剪贴板和拖入文本中的无效链接直接跳过, 不再弹出错误; 没有功能包能处理的链接提示"不支持该链接" By @XiaoYouChR

    问题修复 🐛

    • 修复剪贴板中有文件名带方括号的 ed2k 链接时, 新建任务弹出"发生了意外错误"的问题. 这类链接 (包括被迅雷链接包裹的) 现在可以正常下载 (#1042) By @XiaoYouChR
    • 修复剪贴板监听识别不了大写协议头链接的问题 By @XiaoYouChR
    • 修复 Android 端分享文本带标题或描述时识别不出链接的问题 By @XiaoYouChR
    • 修复 Android 端分享链接时在后台多开一个应用实例的问题 By @XiaoYouChR
    • 修复 Android 端新建任务窗口中分享的链接重复出现的问题 By @XiaoYouChR
    • 修复 Android 端选择哔哩哔哩合集选集时闪退的问题, 选集顺序与合集一致, 和桌面端相同 By @XiaoYouChR

    功能包更新 📦

    以下更新可能已通过自动更新提前推送。

    • wrapped_link_pack 1.1.1 — 迅雷、快车、QQ 旋风链接内层是文件名带方括号的 ed2k 链接时可以正常添加. 需要 v4.5.0 (#1042) By @XiaoYouChR

    Downloads

    PlatformFormatLink
    🪟 WindowsSetup.exeDownload
    🪟 WindowsPortable (.zip)Download
    🍎 macOS (Apple Silicon).dmgDownload
    🍎 macOS (Intel).dmgDownload
    🐧 LinuxAppImageDownload
    🐧 Linux.debDownload
    🐧 Linux.tar.xzDownload
    🤖 Android.apkDownload

    Full Changelog: https

  2. v4.5.02026-11-06 · 2026-11-06 17:37 UTC
    查看更新说明

    [!NOTE] Following this release, updates will be less frequent due to my studies. Thank you for your understanding. Feedback is always welcome. Buy me a coffee: Donate

    New Features 🎉

    • Trim clips from regular video links, not just YouTube and Bilibili (#1022) By @XiaoYouChR
    • On Android, third-party browsers can hand downloads to Ghost Downloader (#1009, #804, #660) By @XiaoYouChR
    • Support Bilibili b23.tv short links (#1025) By @XiaoYouChR
    • The tray menu adds New Task and Settings (#1002) By @XiaoYouChR
    • New option to switch to another port automatically when the browser extension port is in use (#1028) By @XiaoYouChR

    Improvements 🔧

    • A task's link can only be changed to a new link for the same file. Add a new task to download a different file By @XiaoYouChR
    • Improved the English translation By @i0ntempest

    Bug Fixes 🐛

    • Fixed clip downloads of some long videos downloading the whole media instead (#1013) By @XiaoYouChR
    • Fixed Bilibili links with av IDs failing to parse By @XiaoYouChR

    GD4B Browser Extension Updates 🌐

    • v2.3.1
    • Connects to the desktop app automatically after it switches ports. Click the connection status in the header to pair or reconnect (#1028) By @XiaoYouChR
    • Fixed the browser's own save dialog still appearing when a download is taken over (#972) By @XiaoYouChR
    • Fixed some taken-over downloads producing broken files because cookies were missing (#813) By @XiaoYouChR
    • Fixed the Add Task window being covered by the extension popup when it opens a second time By @XiaoYouChR

    Feature Pack Updates 📦

    • arxiv_pack 1.1.0, bili_pack 1.3.0, bittorrent_pack 1.2.0, ed2k_pack 2.1.0, ffmpeg_pack 1.2.0, ftp_pack 1.2.0, github_pack 1.2.0, http_pack 1.2.0, huggingface_pack 1.2.0, m3u8_pack 1.2.0, wrapped_link_pack 1.1.0, yt_dlp_pack 1.4.0, zip_pack 1.1.0: Updated with the changes above. Requires v4.5.0 By @XiaoYouChR

    [!NOTE] 此次更新后, 由于本人学业原因, 将放缓更新节奏, 敬请谅解. 欢迎继续提供反馈. 请我喝杯咖啡: 捐赠项目

    新功能 🎉

    • 普通视频直链也能截取片段, 不再限于 YouTube 和哔哩哔哩 (#1022) By @XiaoYouChR
    • Android 端支持第三方浏览器调用 Ghost Downloader 下载 (#1009, #804, #660) By @XiaoYouChR
    • 支持哔哩哔哩 b23.tv 短链 (#1025) By @XiaoYouChR
    • 托盘菜单新增"新建任务"和"设置" (#1002) By @XiaoYouChR
    • 新增浏览器扩展端口被占用时自动切换端口的选项 (#1028) By @XiaoYouChR

    功能优化 🔧

    • 更换任务链接时只能换成同一文件的新链接, 下载其他文件请添加新任务 By @XiaoYouChR
    • 改进英文翻译 By @i0ntempest

    问题修复 🐛

    • 修复部分长视频截取片段时下载了完整媒体的问题 (#1013) By @XiaoYouChR
    • 修复哔哩哔哩 av 号链接无法解析的问题 By @XiaoYouChR

    GD4B 浏览器扩展更新 🌐

    • v2.3.1
    • 桌面端切换端口后自动重新连接, 点击顶栏的连接状态可直接配对或重连 (#1028) By @XiaoYouChR
    • 修复接管下载时仍弹出浏览器原生保存框的问题 (#972) By @XiaoYouChR
    • 修复部分接管的下载因缺少 Cookie 导致文件损坏的问题 (#813) By @XiaoYouChR
    • 修复"添加任务"窗口第二次弹出时被扩展窗口挡住的问题 By @XiaoYouChR

    功能包更新 📦

    • arxiv_pack 1.1.0, bili_pack 1.3.0, bittorrent_pack 1.2.0, ed2k_pack 2.1.0, ffmpeg_pack 1.2.0, ftp_pack 1.2.0, github_pack 1.2.0, http_pack 1.2.0, huggingface_pack 1.2.0, m3u8_pack 1.2.0, wrapped_link_pack 1.1.0, yt_dlp_pack 1.4.0, zip_pack 1.1.0: 随上述改动更新. 需要 v4.5.0 By @XiaoYouChR

    Downloads

    PlatformFormatLink
    🪟 WindowsSetup.exeDownload
    🪟 WindowsPortable (.zip)Download
    🍎 macOS (Apple Silicon).dmgDownload
    🍎 macOS (Intel).dmg[Download](https://github.com/XiaoYouChR/Ghost-Downl
  3. v4.4.72026-11-05 · 2026-11-05 15:31 UTC
    查看更新说明

    [!NOTE] Following this release, updates will be less frequent due to my studies. Thank you for your understanding. Feedback is always welcome. Buy me a coffee: Donate

    New Features 🎉

    • Download arXiv papers, optionally with TeX source and BibTeX (#1020) By @XiaoYouChR
    • ZIP preview: browse the files in a ZIP link and download only the ones you select (#1015) By @XiaoYouChR
    • Support Thunder, FlashGet and QQ Xuanfeng links By @XiaoYouChR
    • Paste an Info Hash directly to add a magnet task (#1024) By @XiaoYouChR
    • Online .torrent links are downloaded as BT tasks By @XiaoYouChR
    • The file selection dialog supports search By @XiaoYouChR

    Improvements 🔧

    • The file selection dialog opens faster for tasks with tens of thousands of files By @XiaoYouChR
    • HuggingFace tasks fetch a fresh download link when retried, so an expired link no longer means starting over (#985) By @XiaoYouChR
    • Improved the English translation (#986) By @i0ntempest

    Bug Fixes 🐛

    • Fixed in-app updates failing when Ghost Downloader is installed on another drive or in a protected folder (#961, #989) By @XiaoYouChR
    • Fixed the portable edition asking to reinstall runtimes after the drive letter changes or the folder is moved (#1016) By @XiaoYouChR
    • Fixed some links timing out when adding many links at once. Failed links can be retried (#1014) By @XiaoYouChR
    • Fixed HuggingFace gated repos failing to download after entering an Access Token, and custom mirror sites not taking effect (#1019) By @XiaoYouChR
    • Fixed a crash when creating task cards on some Linux systems (#992) By @XiaoYouChR
    • Fixed the whole desktop freezing when launching on KDE Wayland (#1017) By @XiaoYouChR
    • Fixed clicking any notification on KDE bringing up the main window (#1001) By @XiaoYouChR
    • Fixed system notifications not working on Windows (#999) By @XiaoYouChR

    Feature Pack Updates 📦

    • New: arxiv_pack 1.0.2, wrapped_link_pack 1.0.0, zip_pack 1.0.0. Requires v4.4.7 By @XiaoYouChR
    • bittorrent_pack 1.1.3, ed2k_pack 2.0.3, ffmpeg_pack 1.1.3, github_pack 1.1.2, http_pack 1.1.7, huggingface_pack 1.1.3, m3u8_pack 1.1.4, yt_dlp_pack 1.3.6: Updated with the changes above. Requires v4.4.7 By @XiaoYouChR

    [!NOTE] 此次更新后, 由于本人学业原因, 将放缓更新节奏, 敬请谅解. 欢迎继续提供反馈. 请我喝杯咖啡: 捐赠项目

    新功能 🎉

    • 支持下载 arXiv 论文, 可选附带 TeX 源码和 BibTeX (#1020) By @XiaoYouChR
    • 压缩包预览: 可浏览 ZIP 链接中的文件, 只下载勾选的文件 (#1015) By @XiaoYouChR
    • 支持迅雷, 快车, QQ 旋风链接 By @XiaoYouChR
    • 直接粘贴 Info Hash 即可添加磁力任务 (#1024) By @XiaoYouChR
    • 在线 .torrent 链接直接作为 BT 任务下载 By @XiaoYouChR
    • 选择文件对话框支持搜索 By @XiaoYouChR

    功能优化 🔧

    • 文件数量上万的任务打开选择文件对话框更快 By @XiaoYouChR
    • HuggingFace 任务重试时会重新获取下载链接, 链接过期后不必从头下载 (#985) By @XiaoYouChR
    • 改进英文翻译 (#986) By @i0ntempest

    问题修复 🐛

    • 修复程序装在其他磁盘或受保护目录时应用内更新失败的问题 (#961, #989) By @XiaoYouChR
    • 修复便携版更换盘符或移动目录后需要重装运行环境的问题 (#1016) By @XiaoYouChR
    • 修复一次添加大量链接时部分链接解析超时的问题, 解析失败的链接可重试 (#1014) By @XiaoYouChR
    • 修复填写 Access Token 后仍无法下载 HuggingFace Gated Repo, 以及自定义镜像站不生效的问题 (#1019) By @XiaoYouChR
    • 修复部分 Linux 环境下创建任务卡片时闪退的问题 (#992) By @XiaoYouChR
    • 修复 KDE Wayland 上启动时整个桌面卡住的问题 (#1017) By @XiaoYouChR
    • 修复 KDE 上点击任何通知都会弹出主窗口的问题 (#1001) By @XiaoYouChR
    • 修复 Windows 上系统通知失效的问题 (#999) By @XiaoYouChR

    功能包更新 📦

    • 新增: arxiv_pack 1.0.2, wrapped_link_pack 1.0.0, zip_pack 1.0.0. 需要 v4.4.7 By @XiaoYouChR
    • bittorrent_pack 1.1.3, ed2k_pack 2.0.3, ffmpeg_pack 1.1.3, github_pack 1.1.2, http_pack 1.1.7, huggingface_pack 1.1.3, m3u8_pack 1.1.4, yt_dlp_pack 1.3.6: 随上述改动更新. 需要 v4.4.7 By @XiaoYouChR

    Downloads

    PlatformFormatLink
    🪟 WindowsSetup.exe[Download](https://github.com/XiaoYouChR/Ghost-Downloader-3/r
  4. v4.4.62026-10-28 · 2026-10-28 16:23 UTC
    查看更新说明

    [!TIP] Join the Ghost Downloader community on Discord: discord.gg/fKfhkPumEM

    New Features 🎉

    • The taskbar icon on Windows and Linux shows the overall progress of running tasks. The macOS Dock icon shows an indeterminate progress when task sizes are unknown By @XiaoYouChR
    • New setting to automatically remove tasks whose files are missing (#912) By @XiaoYouChR

    Improvements 🔧

    • Custom proxy addresses are kept after switching to "No Proxy" or "Auto Detect", so you no longer need to re-enter them (#952) By @XiaoYouChR
    • The file selection dialog widens to fit long names (#921) By @XiaoYouChR
    • Faster disk writes on Windows By @XiaoYouChR
    • Windows ARM64 builds are available again By @XiaoYouChR

    Bug Fixes 🐛

    • Fixed the app failing to start when the download folder cannot be created. Tasks that cannot be added now return to the "Add Task" dialog with the reason, so you can pick another folder (#152) By @XiaoYouChR
    • Fixed the "Add Task" dialog not coming to the front when it opens again By @XiaoYouChR
    • Fixed the toolbar and task cards on the Tasks page being misaligned By @XiaoYouChR

    GD4B Browser Extension Updates 🌐

    • v2.3.0
    • The task panel supports search and sorting, and the More menu can remove completed tasks or missing tasks (#912, #913) By @XiaoYouChR
    • The resource panel supports search, sorting, and filtering by type By @XiaoYouChR
    • PDFs embedded in web pages can now be captured (#969) By @XiaoYouChR
    • New compact style for the media button By @XiaoYouChR
    • Redesigned the popup header in Fluent style with a lower height By @XiaoYouChR
    • No longer shows a redundant notice after a task action succeeds By @XiaoYouChR
    • Fixed downloading a different video than the one playing, such as the preloaded next video (#974) By @XiaoYouChR
    • Fixed some short-video sites failing to download By @XiaoYouChR
    • Fixed hover previews on a video site's home page downloading the home page URL instead of the video (#955) By @XiaoYouChR
    • Fixed some sites' videos showing corrupted frames or failing to play with the extension enabled (#849, #951) By @XiaoYouChR
    • Fixed DASH video tracks being detected as audio tracks By @XiaoYouChR
    • Fixed images without an extension in their URL being saved without a file extension (#814) By @XiaoYouChR
    • Fixed the popup still opening after sending a task when "Open popup when task sent" is turned off (#926) By @XiaoYouChR
    • Updated cat-catch to 2.7.4. CORS preflight requests are no longer listed as resources (#980) By @XiaoYouChR

    Feature Pack Updates 📦

    The following updates may have already been delivered via automatic pack updates.

    • bili_pack 1.2.3 — Download favorites, skipping unavailable videos. New default audio quality setting. Dolby Atmos and Hi-Res audio can be selected, and audio qualities are listed from highest bitrate. Fixed Dolby Vision quality failing to download. Fixed quality names in settings not matching the actual quality By @XiaoYouChR
    • ffmpeg_pack 1.1.2 — Dolby Vision videos no longer show wrong colors after merging By @XiaoYouChR
    • yt_dlp_pack 1.3.5 — Fixed the cover being downloaded when it is not selected By @XiaoYouChR
    • http_pack 1.1.6 — Fixed corrupted downloads from some servers (#888). Fixed downloads failing when a CDN limits the rate. Fixed downloads retrying endlessly on some servers By @XiaoYouChR
    • ftp_pack 1.1.2 — Fixed FTPS connections still trusting leaked eMudhra certificates when "Verify SSL Certificates" is turned on By @XiaoYouChR

    [!TIP] 欢迎加入 Ghost Downloader Discord 社区: discord.gg/fKfhkPumEM

    新功能 🎉

    • Windows 和 Linux 任务栏图标显示下载中任务的总进度. macOS Dock 图标在任务大小未知时显示不确定进度 By @XiaoYouChR
    • 新增"自动移除缺失的任务"设置 (#912) By @XiaoYouChR

    功能优化 🔧

    • 切换到"不使用代理"或"自动检测"后保留自定义代理地址, 切回时无需重填 (#952) By @XiaoYouChR
    • 选择文件对话框随名称长度自动加宽 (#921) By @XiaoYouChR
    • Windows 上写盘更快 By @XiaoYouChR
    • 恢复 Windows ARM64 版本 By @XiaoYouChR

    问题修复 🐛

    • 修复下载文件夹无法创建时程序无法启
  5. v4.4.52026-10-22 · 2026-10-22 15:39 UTC
    查看更新说明

    [!WARNING] This is a security update. Please update as soon as possible, preferably on a network you trust.

    [!TIP] Join the Ghost Downloader community on Discord: discord.gg/fKfhkPumEM

    Improvements 🔧

    • Running ghd without a command now shows the help instead of an error By @XiaoYouChR
    • ghd --version now shows the package name along with the version By @XiaoYouChR
    • Upgraded Python on Android to 3.14.8 By @XiaoYouChR

    Bug Fixes 🐛

    • Checking for updates and installing updates and feature packs now always verifies the server certificate, even when "Verify SSL Certificates" is turned off By @XiaoYouChR
    • Fixed leaked eMudhra certificates still being trusted when "Verify SSL Certificates" is turned on By @XiaoYouChR
    • Fixed an extra blank line at the end of ghd --help and ghd --version output By @XiaoYouChR

    [!WARNING] 本次为安全更新, 请尽快升级, 并尽量在可信的网络下进行.

    [!TIP] 欢迎加入 Ghost Downloader Discord 社区: discord.gg/fKfhkPumEM

    功能优化 🔧

    • 直接运行 ghd 时显示帮助, 不再报错 By @XiaoYouChR
    • ghd --version 的输出带上软件包名 By @XiaoYouChR
    • Android 端 Python 升级至 3.14.8 By @XiaoYouChR

    问题修复 🐛

    • 检查更新, 安装更新和功能包时始终验证服务器证书, 不受"下载时验证 SSL 证书"开关影响 By @XiaoYouChR
    • 修复开启"下载时验证 SSL 证书"后仍信任 eMudhra 泄露证书的问题 By @XiaoYouChR
    • 修复 ghd --help 和 ghd --version 输出末尾多一个空行的问题 By @XiaoYouChR

    Downloads

    PlatformFormatLink
    🪟 WindowsSetup.exeDownload
    🪟 WindowsPortable (.zip)Download
    🍎 macOS (Apple Silicon).dmgDownload
    🍎 macOS (Intel).dmgDownload
    🐧 LinuxAppImageDownload
    🐧 Linux.debDownload
    🐧 Linux.tar.xzDownload
    🤖 Android.apkDownload

    Full Changelog: https://github.com/XiaoYouChR/Ghost-Downloader-3/compare/v4.4.4...v4.4.5

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!TIP] Join the Ghost Downloader community on Discord: discord.gg/fKfhkPumEM

    Banner

    The only downloader you need

    Forks Stargazers Issues Release Downloads AtomGit Downloads QQGroup Discord

    Documentation · Watch Video · Report Bug · Request Feature

    Features

    • Fast where it matters. Every downloader is fast on a good connection. The real test is a bad one. Smart chunking without file merging. Auto-detects bandwidth. Real-browser TLS fingerprints, invisible to anti-bot checks.
    • One app instead of five. Everything in one place, nothing watered down. HTTP, Magnet/BT, FTP, M3U8, MPEG-DASH, eD2k. YouTube and Bilibili with clip selection, any quality and subtitles, playlists and multi-part episodes. GitHub and HuggingFace with mirror acceleration.
    • See it. Sniff it. Download it. A download button follows the video, any quality you want. The extension popup lists every medium on the page. Click it there, or just download as you normally would, the desktop app takes over seamlessly. No copying links, and authentication state carries over.
    • Native on every platform. It shows in the details. One app, four systems, native experience everywhere. On Android, it records live M3U8 streams and keeps downloading in the background.
    • Always in control Effortlessly. aria2-compatible RPC API for third-party tools. Change the URL, headers, or proxy mid-download. Progress is never lost.

    About The Project

    Started as a passion project to help a Bilibili creator manage resources. Now it ships on four platforms, handles virtually every download protocol, and has a growing Feature Packs plugin ecosystem.

    PlatformRequired VersionArchitectures
    Windows10+x86_64 / arm64
    macOS13.0+x86_64 / arm64
    Linuxglibc 2.35+x86_64 / arm64
    Android9.0+arm64-v8a

    [!WARNING] Qt 6.6+ no longer supports CPUs without the AVX instruction set.

    [!TIP] Arch Linux AUR support: Community-maintained packages ghost-downloader-bin and ghost-downloader-git are now available (Maintainer: @zxp19821005)

    Screenshots

    https://github.com/user-attachments/assets/d97dc8c9-f320-4645-8dcd-0d9dc4cf2eab

    Demo

    Command Line

    Install ghd from Settings -> Command Line Tool.

    CommandDescription
    ghd probe <url>Preview a URL without adding a task
    ghd add <url>...Add and start tasks
    ghd tasksList tasks
    ghd task <taskId>Show task details
    ghd pause <taskId>...Pause tasks
    ghd start <taskId>...Resume tasks
    ghd remove <taskId>...Remove tasks and delete unfinished files
    ghd wait <taskId>...Wait for tasks to finish
    # see which files the torrent contains
    ghd probe "https://example.com/a.torrent"
    # download only files 0 and 3 into ./downloads
    ghd add "https://example.com/a.torrent" --select 0,3 -o ./downloads
    # wait until the download finishes
    ghd wait tsk_0123
    

    Roadmap

    • Make the plugin API public (Feature Packs system is operational, API stabilizing)
    • Enhanced task editing, such as binding multiple Sessions to one task

    Visit Open issues to see all requested features (and known issues).

    Sponsor

    LogoDescription
    Free code signing provided by SignPath.io, with certificates by SignPath Foundation
    Free code signing provided by i0ntempest.com

    Contributing

    Contributions make the open source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

    If you have a suggestion, fork the repo and create a pull request. You can also simply open an issue with the "Enhancement" tag. Don't forget to give the project a star! Thanks again!

    1. Fork the Project
    2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
    3. Commit your Changes (git commit -m 'Add some AmazingFeature')
    4. Push to the Branch (git push origin feature/AmazingFeature)
    5. Open a Pull Request

    Thanks to all contributors who have participated in this project!

    Contributors

    Translation Contributors

    [!TIP] If you'd like to help translate Ghost Downloader, welcome to join the Crowdin project: ghost-downloader

    License

    Distributed under the GPL v3.0 License. Open LICENSE for more details.

    Copyright © 2023-2026 XiaoYouChR.

    Contact

    [!IMPORTANT] Welcome to join the Ghost Downloader user group: 756042420

    References

    • aioftp Ftp client/server for asyncio
    • cat-catch Browser Resource Sniffing Extension
    • desktop-notifier Python library for cross-platform desktop notifications
    • FFmpeg A complete, cross-platform solution to record, convert and stream audio and video
    • Kelpie The eD2k download engine behind Ghost Downloader's eD2k support
    • libtorrent An efficient feature complete C++ bittorrent implementation
    • loguru A library which aims to bring enjoyable logging in Python
    • m3u8 Python m3u8 parser
    • mpegdash MPEG-DASH MPD parser
    • N_m3u8DL-RE Cross-platform DASH/HLS/MSS download tool powering Ghost Downloader's M3U8 support
    • Nuitka The Python compiler
    • PyQt-Fluent-Widgets Powerful, extensible, and elegant Fluent Design-style widget library
    • PySide6 The official Python module
    • QuickJS-NG A small and embeddable JavaScript engine
    • uvloop Ultra fast asyncio event loop
    • winloop An alternative to uvloop for Windows
    • wreq An ergonomic Python HTTP client with TLS fingerprint emulation
    • yt-dlp A feature-rich command-line audio/video downloader

    Acknowledgments

    • @zhiyiYo is amazing and provided a lot of help for this project.
    • @空糖_SuGar designed the project banner (the current version is a 3D remake based on the original design).

    Star History