# aria-desk **Repository Path**: sharpglasses/aria-desk ## Basic Information - **Project Name**: aria-desk - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-06 - **Last Updated**: 2026-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AriaDesk 对标 IDM 的跨平台图形化下载管理器,由 **aria2c** 提供下载内核,Tauri 2 + React + TypeScript 构建界面。 ## 特性 - 🚀 多线程分段下载(aria2c 多连接加速) - ⏸ 断点续传(`.aria2` 控制文件 + session 恢复) - 📋 任务队列(并发上限、优先级、全局/单任务限速) - 🌐 浏览器扩展一键捕获下载链接(本地 HTTP 接收端) - 💻 原生体验(Windows / Linux / macOS),体积小 - 🎨 美观界面(Tailwind + 暗/亮主题),事件驱动实时刷新 ## 技术栈 | 层 | 技术 | | --- | --- | | 下载内核 | aria2c(WebSocket JSON-RPC) | | 桌面壳 | Tauri 2(Rust) | | 前端 | React 18 + TypeScript + Vite + Tailwind CSS | | 状态 | Zustand | | 浏览器集成 | 原生扩展 + 本地 HTTP 接收端(axum) | ## 快速开始 ```bash # 1. 安装依赖 npm install cargo install tauri-cli --version "^2" # 2. 安装 aria2c 内核(Windows 可 winget install aria2;macOS brew install aria2;Linux apt install aria2) # 应用启动时会自动拉起 aria2c,请确保其在 PATH 中(或在 src-tauri/src/aria2.rs 中改成绝对路径) # 3. 开发模式(Rust 端会自动拉起 aria2c 并暴露本地接收端) npm run tauri dev # 4. 构建发布包 npm run tauri build ``` > **图标**:仓库已带占位图标 `src-tauri/icons/icon.png`,足够 `tauri dev` 使用。正式打包前请准备一张 1024×1024 的 PNG 并执行 `npm run tauri icon <你的图.png>` 生成全套图标。 ## 不依赖 Tauri 的纯前端调试 若只想验证前端,可手动启动 aria2c: ```bash aria2c --enable-rpc --rpc-listen-all --rpc-secret=ariadesk-local --rpc-listen-port=6800 npm run dev # 浏览器打开 http://localhost:1420 ``` 前端会自动连接 `ws://127.0.0.1:6800/jsonrpc`,无需 Tauri 壳。 ## 目录结构 详见 `docs/ARCHITECTURE.md`。核心代码: - 前端 RPC 客户端:`src/lib/aria2/rpc.ts` - 队列调度器:`src/lib/store/scheduler.ts` - 任务/设置状态:`src/lib/store/downloadStore.ts`、`settingsStore.ts` - Tauri aria2 管理:`src-tauri/src/aria2.rs` - 浏览器投递接收端:`src-tauri/src/server.rs` - 浏览器扩展:`extension/`