# Go批量下载资源 **Repository Path**: liumou_site/gcd ## Basic Information - **Project Name**: Go批量下载资源 - **Description**: 使用Go编写的批量下载工具,通过请求接口获取需要下载的URL进行下载 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-20 - **Last Updated**: 2025-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Go批量下载工具 (GCD)
[![Go Version](https://img.shields.io/badge/Go-1.21.5-blue.svg)](https://golang.org/) [![Docker](https://img.shields.io/badge/Docker-Supported-blue.svg)](https://docker.com/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Version](https://img.shields.io/badge/Version-1.2.4-orange.svg)](https://gitee.com/liumou_site/gcd) **🌟 高性能批量下载工具,支持多线程并发下载**
**📦 支持Docker部署和全平台可执行程序**
**🔧 通过接口获取URL列表进行智能批量下载**
--- ## 📋 目录 - [🚀 Go批量下载工具 (GCD)](#-go批量下载工具-gcd) - [📋 目录](#-目录) - [✨ 功能特性](#-功能特性) - [🎯 使用场景](#-使用场景) - [⚙️ 参数配置](#️-参数配置) - [🚀 快速开始](#-快速开始) - [Docker部署](#docker部署) - [Linux安装](#linux安装) - [Linux更新](#linux更新) - [📊 性能参数](#-性能参数) - [🔧 高级配置](#-高级配置) - [📸 效果展示](#-效果展示) - [🛠️ 技术栈](#️-技术栈) - [📁 项目结构](#-项目结构) - [🔐 授权说明](#-授权说明) - [📞 联系方式](#-联系方式) - [⚖️ 免责声明](#️-免责声明) --- ## ✨ 功能特性
| 🎯 核心功能 | 🔥 高级特性 | |------------|------------| | ✅ 多线程并发下载 | 🚀 Docker容器化部署 | | ✅ 接口驱动URL获取 | 🔧 灵活的配置参数 | | ✅ 智能文件管理 | 📊 实时下载统计 | | ✅ 跨平台支持 | 🛡️ 错误重试机制 | | ✅ 断点续传支持 | 📝 详细日志记录 |
--- ## 🎯 使用场景 - **🌐 批量资源下载**: 从API接口获取大量文件URL进行批量下载 - **📚 数据备份**: 定期备份重要网络资源到本地存储 - **🖼️ 媒体资源采集**: 高效下载图片、视频等多媒体文件 - **📄 文档归档**: 批量下载和归档重要文档资料 --- ## ⚙️ 参数配置 ```bash Usage of urls: -k string 设置授权Key值 (环境变量: UrlKey) -s string 设置文件保存路径 (默认: "./Download") -show 查看程序简介信息 -t int 设置同时下载文件数量 (默认: 5) -u string 设置接口地址 (默认: "https://url.liumou.site") -v 显示版本号 -d 开启debug调试模式 ``` --- ## 🚀 快速开始 ### Docker部署 ```bash # 🐳 快速启动 docker run -tid --name gcd \ -e UrlKey=[授权码] \ -e URL=https://url.liumou.site \ -v /path/to/save:/root/Download \ ccr.ccs.tencentyun.com/liumou/gcd ``` ### Linux安装 ```bash # 📥 一键安装脚本 f=install.sh; rm -f $f; wget -O ${f} https://gitee.com/liumou_site/gcd/raw/master/${f} && bash ${f} ``` ### Linux更新 ```bash # 🔄 一键更新脚本 f=install.sh; rm -f $f; wget -O ${f} https://gitee.com/liumou_site/gcd/raw/master/${f} && bash ${f} update ``` --- ## 📊 性能参数 | 参数 | 默认值 | 建议范围 | 说明 | |------|--------|----------|------| | 并发线程数 | 5 | 1-20 | 根据网络带宽和服务器性能调整 | | 超时时间 | 30s | 10-60s | 网络请求超时设置 | | 重试次数 | 3 | 1-5 | 失败下载重试机制 | | 缓存大小 | 32KB | 16-128KB | 下载缓存缓冲区大小 | --- ## 🔧 高级配置 ### 环境变量配置 ```bash # 🔑 授权配置 export UrlKey="your_authorization_key" export URL="https://your-api-endpoint.com" # 🚀 性能调优 export Thread=10 # 并发下载线程数 export Time_max=100 # 最大超时时间 export Time_mini=20 # 最小超时时间 export Concurrency=1 # 并发控制 ``` ### Docker Compose配置 ```yaml version: '3.8' services: gcd: image: ccr.ccs.tencentyun.com/liumou/gcd container_name: gcd environment: - UrlKey=your_key_here - URL=https://url.liumou.site - Thread=5 - TZ=Asia/Shanghai volumes: - ./downloads:/root/Download restart: unless-stopped ``` --- ## 📸 效果展示
### 📥 安装过程 ![安装演示](./images/install.png) ### 🎯 使用效果 ![使用演示](./images/use.png)
--- ## 🛠️ 技术栈
| 类别 | 技术 | |------|------| | **编程语言** | ![Go](https://img.shields.io/badge/Go-1.21.5-00ADD8?style=flat&logo=go) | | **并发模型** | Goroutine + Channel | | **网络库** | 标准库 net/http | | **日志系统** | 自定义Logger | | **容器化** | Docker + Ubuntu 22.04 | | **依赖管理** | Go Modules |
--- ## 📁 项目结构 ``` gcd/ ├── 📄 main.go # 主程序入口 ├── 📁 model/ # 核心功能模块 │ ├── Data.go # 数据模型定义 │ ├── Start.go # 下载任务启动器 │ ├── download.go # 下载核心逻辑 │ ├── url.go # URL管理 │ ├── mkdir.go # 目录管理 │ ├── delete.go # 文件清理 │ └── env.go # 环境配置 ├── 🐳 Dockerfile # 容器化配置 ├── 📦 go.mod # 依赖管理 ├── 🔧 install.sh # 安装脚本 ├── 🚀 start.sh # 启动脚本 └── 📊 ver.sh # 版本管理 ``` --- ## 🔐 授权说明 > ⚠️ **重要提醒**: 本项目为授权使用软件,需要有效的授权码才能正常运行 ### 授权特点 - ✅ **无设备数量限制**: 一个授权码可在多台设备使用 - ⏰ **时间限制**: 授权码具有有效期限制 - 🔒 **防滥用机制**: 避免对目标网站造成过大负载 ### 获取授权 由于本项目会对目标网站资源产生请求负载,为避免滥用,我们不对外免费提供授权服务。 **如需使用,请通过以下方式联系获取授权:** 📧 **QQ咨询**: `1666867051` > 💡 **联系时请备注**: `gcd` 以便快速处理 --- ## 📞 联系方式
| 渠道 | 信息 | |------|------| | 📧 QQ咨询 | `1666867051` | | 🏠 项目主页 | [https://liumou.site](https://liumou.site) | | 📦 代码仓库 | [Gitee - gcd](https://gitee.com/liumou_site/gcd) | | 👤 作者 | 坐公交也用券 |
--- ## ⚖️ 免责声明 1. **🎯 使用目的**: 本工具仅用于合法的资源下载和数据备份用途 2. **⚠️ 合理使用**: 请合理设置下载参数,避免对目标服务器造成过大负载 3. **🔒 隐私保护**: 我们不会收集或存储用户的任何个人数据 4. **📋 合规要求**: 使用本工具时请遵守相关法律法规和目标网站的使用条款 ---
### ⭐ 如果这个项目对您有帮助,欢迎给个Star支持一下! **Made with ❤️ by 坐公交也用券**