通过 JSON‑RPC API 远程控制 aria2,支持添加下载任务(磁力链、HTTP、FTP),查看进度,暂停/恢复/删除任务,批量从文本导入下载。不适用于本地 aria2。
通过 aria2 JSON-RPC API 远程控制 aria2 下载服务。
在 workspace 根目录创建 .aria2-config.json:
json
{
"url": "https://your-server.com/jsonrpc",
"token": "your-secret-token"
}
⚠️ 此文件包含敏感信息,已在
.gitignore中排除。
功能说明📥 添加下载支持磁力链接、HTTP/FTP 直链📋 查看任务查看所有活跃/等待/已完成的任务⏸️ 暂停任务暂停指定下载▶️ 恢复任务恢复暂停的下载🗑️ 删除任务删除指定下载任务📄 批量下载发送文本(每行一个链接),逐个添加
用户说:
→ 调用 scripts/aria2.js add <url>
用户说:
→ 调用 scripts/aria2.js list
用户说:
→ 调用 scripts/aria2.js pause <gid>
用户说:
→ 调用 scripts/aria2.js unpause <gid>
用户说:
→ 调用 scripts/aria2.js remove <gid>
用户发送一段文本(每行一个链接):
text
magnet:?xt=urn:btih:aaa...
magnet:?xt=urn:btih:bbb...
https://example.com/file1.zip
https://example.com/file2.zip
→ 调用 scripts/aria2.js batch 并通过 stdin 传入链接
所有操作通过 scripts/aria2.js 执行:
bash
# 查看帮助
node scripts/aria2.js help
# 添加下载
node scripts/aria2.js add "magnet:?xt=urn:btih:..."
# 查看所有任务
node scripts/aria2.js list
# 暂停
node scripts/aria2.js pause <gid>
# 恢复
node scripts/aria2.js unpause <gid>
# 删除
node scripts/aria2.js remove <gid>
# 批量下载(stdin 传入链接,每行一个)
echo -e "magnet:?xt=...\nhttps://..." | node scripts/aria2.js batch
读取 workspace 根目录的 .aria2-config.json:
json
{
"url": "https://your-server.com/jsonrpc",
"token": "your-secret-token"
}
如果配置文件不存在,提示用户创建。
text
📋 活跃任务 (3):
[abc123] ▓▓▓▓▓▓▓▓░░ 78.5% | 12.3 MB/s | Ubuntu-22.04.iso
[def456] ▓▓░░░░░░░░ 15.2% | 5.6 MB/s | movie.mkv
[ghi789] ▓▓▓▓▓▓▓▓▓▓ 100% | 完成 | file.zip
⏳ 等待中 (1):
[jkl012] 等待中 | BigFile.tar.gz
✅ 已完成 (2):
[mno345] 100% | archive.rar
[pqr678] 100% | document.pdf
text
✅ 已添加下载
GID: abc123
文件: Ubuntu-22.04.iso
text
📥 批量下载 (4 个链接):
✅ [1] magnet:?xt=... → GID: abc123
✅ [2] magnet:?xt=... → GID: def456
✅ [3] https://example.com/file1.zip → GID: ghi789
❌ [4] invalid-url → 失败: 无效链接