Skip to content

rawchen/alldown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alldown 多线程下载管理器

基于 Wails + aria2 架构的多线程多任务下载器桌面应用。

功能特性

  • 多任务并发下载(可配置并发数)
  • 任务队列管理
  • 断点续传支持
  • 实时进度同步
  • 系统托盘后台运行
  • aria2 自动检测/下载/启动
  • SQLite 数据持久化

技术栈

  • 前端:React + TypeScript + Ant Design + Zustand
  • 桌面框架:Wails v2
  • 下载引擎:aria2
  • 后端:Go
  • 数据存储:SQLite

项目结构

alldown/
├── app/                    # Wails App 层
├── internal/
│   ├── aria2/              # aria2 RPC 封装
│   ├── config/             # 配置管理
│   ├── downloader/         # 下载调度核心
│   ├── runtime/            # aria2 进程管理
│   ├── storage/            # SQLite 存储
│   ├── tray/               # 系统托盘
│   └── utils/              # 工具函数
├── frontend/               # React 前端
├── main.go                 # 程序入口
└── wails.json              # Wails 配置

开发指南

安装依赖

  1. 安装 Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
  1. 安装 aria2:
# macOS
brew install aria2

# Linux
sudo apt install aria2

# Windows
# 从 https://github.com/aria2/aria2/releases 下载
  1. 安装前端依赖:
cd frontend
npm install

开发模式

wails dev

构建

wails build

API 接口

前端调用方法

方法 说明
AddDownload(url, savePath) 添加下载任务
PauseTask(taskId) 暂停任务
ResumeTask(taskId) 恢复任务
RemoveTask(taskId) 删除任务
GetTasks() 获取任务列表
GetStats() 获取统计信息
GetConfig() 获取配置
UpdateConfig(config) 更新配置

事件推送

事件 说明
task:progress 进度更新
task:active 开始下载
task:paused 已暂停
task:complete 下载完成
task:error 下载错误

配置说明

{
  "maxConcurrent": 5,          // 最大并发数
  "defaultSavePath": "./downloads", // 默认下载路径
  "aria2RPCPort": 6800,        // aria2 RPC 端口
  "aria2RPCSecret": "token",   // aria2 RPC 密钥
  "autoStart": true            // 启动时自动开始下载
}

许可证

MIT License

About

基于 Wails + aria2 架构的多线程多任务下载器桌面应用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors