# hfd-gitee **Repository Path**: stoplyy_303/hfd-gitee ## Basic Information - **Project Name**: hfd-gitee - **Description**: 使用aria2c下载 gitee 仓库文件,适用于大文件下载,支持断点续传 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-05 - **Last Updated**: 2025-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gitee 仓库文件下载器 这是一个用于从 Gitee 仓库下载文件的 Python 脚本。它通过 Gitee API 获取仓库文件列表,并使用 `aria2c` 工具下载文件。 --- ## 功能 - 通过 Gitee API 获取指定仓库的文件列表。 - 使用 `aria2c` 工具下载文件。 - 支持递归下载仓库中的所有文件。 --- ## 依赖 - Python 3.x - `requests` 库 - `aria2c` 工具 ### 安装依赖 1. 安装 `requests` 库: ```bash pip install requests ``` 2. 安装 `aria2c` 工具: - 在 Ubuntu/Debian 上: ```bash sudo apt install aria2 ``` - 在 macOS 上: ```bash brew install aria2 ``` --- ## 使用方法 ### 1. 获取 Gitee Access Token 1. 登录 Gitee。 2. 进入 [个人设置 -> 私人令牌](https://gitee.com/profile/personal_access_tokens)。 3. 生成一个新的 Access Token,并保存好(只会显示一次)。 ### 2. 运行脚本 使用以下命令运行脚本: ```bash python3 hfd-gitee.py --owner <仓库所有者> --repo <仓库名称> --token ``` #### 参数说明 - `--owner`: Gitee 仓库的所有者(用户名或组织名)。 - `--repo`: Gitee 仓库的名称。 - `--token`: Gitee Access Token(用于访问私有仓库)。 #### 示例 下载用户 `hf-models` 的仓库 `DeepSeek-R1-Distill-Qwen-32B`, (https://gitee.com/hf-models/DeepSeek-R1-Distill-Qwen-32B) : ```bash python3 hfd-gitee.py --owner hf-models --repo DeepSeek-R1-Distill-Qwen-32B --token your_gitee_token ``` --- ## 注意事项 1. **Gitee API 限制**: - Gitee API 对未认证用户有速率限制(每小时 60 次请求)。 - 使用 Access Token 可以提高速率限制(每小时 5000 次请求)。 2. **文件下载**: - 由于 Gitee 的限制,脚本使用单线程下载文件(`aria2c` 的 `-x 1` 参数)。 - 如果需要多线程下载,可以考虑将文件托管在其他支持多线程下载的平台(如 GitHub 或云存储)。 3. **私有仓库**: - 如果仓库是私有的,必须提供有效的 Gitee Access Token。 4. **文件保存路径**: - 文件会下载到与仓库同名的本地目录中。例如,仓库 `DeepSeek-R1-Distill-Qwen-32B` 的文件会下载到 `./DeepSeek-R1-Distill-Qwen-32B/` 目录。 --- ## 代码结构 - `fetch_file_list(url, headers)`: 获取仓库文件列表。 - `download_file(file_url, save_path)`: 使用 `aria2c` 下载文件。 - `process_files(file_list, current_path)`: 处理文件列表并下载文件。 --- ## 许可证 本项目基于 MIT 许可证开源。详情请参阅 [LICENSE](LICENSE) 文件。 --- ## 反馈与贡献 如有问题或建议,请提交 Issue 或 Pull Request。 --- ## 作者 [Stop_lyy] --- ## 参考 - [Gitee API 文档](https://gitee.com/api/v5/swagger) - `aria2c` 文档: https://aria2.github.io/