2.5 KiB
aria
Friendly aria2c wrapper for your personal downloads.
Quick, simple, enjoyable.
aria wraps the JSONRPC server of the great aria2, exposing just enough functionality to be dangerous.
Installation
Build and install the binary and man page to $(PREFIX)/bin and $(PREFIX)/share/man/man1 (defaults to ~/.local):
make install
To install elsewhere, override PREFIX:
make install PREFIX=/usr/local
To remove:
make uninstall
Note
Make sure
$(PREFIX)/binis in yourPATHto runariafrom anywhere.
Features
One command for everything
Add, pause, resume, and remove downloads with a unified API — no more memorising cryptic flags:
aria add https://example.com/file.iso
aria add uri https://example.com/file.iso
aria add torrent https://example.com/linux.torrent
aria pause 8a4c3f21e09b7d55
aria resume 8a4c3f21e09b7d55
aria remove 8a4c3f21e09b7d55
aria purge
Commands without arguments act on all downloads, so you can pause or resume everything at once:
aria pause
aria resume
Interactive list
Run aria list to check the status of all your downloads in a beautifully formatted table,
live-refreshing every second:
aria list
Pick a download with the arrow keys and enter, and its GID is printed to stdout,
ready to be composed with any other tool:
aria pause "$(aria list)"
Options
Every command supports a couple of well-chosen options, and nothing more:
| Option | Description | Default |
|---|---|---|
-d, --directory <dir> |
Define the directory to save files. | ~/Downloads/ |
--seed |
Enable seeding after torrent download. |
Simple configuration
Point aria to your aria2c server by directly editing the source:
enum Config {
static let host: String = "127.0.0.1"
static let port: Int = 6800
static let secret: String = "my_secret"
static var endpoint: URL {
URL(string: "http://\(host):\(port)/jsonrpc")!
}
static let directory: String = "~/Downloads/"
}