Skip to content

Falcon 下载器现代化、跨平台的 C++ 下载解决方案

面向 CLI、Daemon、桌面端和可扩展协议栈的下载能力集合

Falcon 徽标

快速预览 ​

安装 ​

bash
# 从源码构建
git clone https://github.com/cuihairu/falcon.git
cd falcon
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

当前文档以源码构建为主,不再假设 Homebrew、APT 或预编译安装包已经对外发布。

基本使用 ​

bash
# 下载单个文件
falcon-cli https://example.com/file.zip

# 多线程下载
falcon-cli https://example.com/large.zip -c 5

# 从文件批量读取 URL
falcon-cli -i urls.txt -j 3

# 通过代理下载
falcon-cli https://example.com/file.zip --proxy http://127.0.0.1:7890

C++ API ​

cpp
#include <falcon/falcon.hpp>

int main() {
    falcon::DownloadEngine engine;

    falcon::DownloadOptions options;
    options.max_connections = 5;

    auto task = engine.add_task(
        "https://example.com/file.zip",
        options
    );

    if (task) {
        engine.start_task(task->id());
        task->wait();
    }
    return 0;
}

项目结构 ​

falcon/
├── packages/
│   ├── libfalcon-core/      # 核心下载引擎、任务模型、事件系统
│   ├── libfalcon-protocols/ # 标准下载协议
│   ├── libfalcon-storage/   # 对象存储与资源浏览
│   ├── libfalcon-drives/    # 网盘与分享链能力
│   ├── falcon-cli/          # 命令行工具
│   └── falcon-daemon/       # 后台守护进程
├── apps/
│   ├── desktop/             # 桌面应用
│   └── browser_extension/   # 浏览器扩展
└── docs/                    # 项目文档

协议支持 ​

协议状态说明
HTTP/HTTPS已启用断点续传、分块下载
FTP/FTPS已启用主动/被动模式
BitTorrent可选实现代码库内有实现,当前未统一接入默认自动注册
ED2K可选实现代码库内有实现,默认构建通常关闭
迅雷可选实现代码库内有实现,默认构建通常关闭
QQ旋风可选实现代码库内有实现,默认构建通常关闭
快车可选实现代码库内有实现,默认构建通常关闭
HLS/DASH可选实现代码库内有实现,默认构建通常关闭

贡献 ​

欢迎贡献代码、报告问题或提出建议!

许可证 ​

Apache License 2.0

基于 Apache 2.0 许可发布