diff options
| author | Tommaso Negri <me@tommasongr.com> | 2026-08-31 22:12:24 +0200 |
|---|---|---|
| committer | Tommaso Negri <me@tommasongr.com> | 2026-08-31 22:12:24 +0200 |
| commit | 7030e67cee94d78a69e01a265e8d34621c91e294 (patch) | |
| tree | ec81b71d63bf86d9add8910bec8c9f25cebb7bce /README.md | |
| parent | 6d9c969b8c239f91bff59205901eb33b17eee7c4 (diff) | |
| download | aria-7030e67cee94d78a69e01a265e8d34621c91e294.tar.gz aria-7030e67cee94d78a69e01a265e8d34621c91e294.zip | |
add README
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..e42d862 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +<h1 align="center">aria</h1> + +<p align="center"> + <strong>Friendly aria2c wrapper for your personal downloads.</strong><br> + <i>Quick, simple, enjoyable.</i> +</p> + +<p align="center"> + <a href="https://git.tommasongr.com/tommaso/aria/blob/master/LICENSE"><img src="https://img.shields.io/gitea/license/tommaso/aria?gitea_url=https%3A%2F%2Fgit.tommasongr.com" alt="License"></a> + <img src="https://img.shields.io/badge/platform-macOS-green.svg" alt="Platform"> + <a href="https://tommasonegri.com"><img src="https://img.shields.io/badge/maintainer-Tommaso%20Negri-blue" alt="Maintainer"></a> +</p> + +`aria` wraps the JSONRPC server of the great [aria2](https://aria2.github.io/), 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`): + +```sh +make install +``` + +To install elsewhere, override `PREFIX`: + +```sh +make install PREFIX=/usr/local +``` + +To remove: + +```sh +make uninstall +``` + +> [!NOTE] +> Make sure `$(PREFIX)/bin` is in your `PATH` to run `aria` from anywhere. + +--- + +## Features + +### One command for everything + +Add, pause, resume, and remove downloads with a unified API — no more memorising cryptic flags: + +```sh +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: + +```sh +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: + +```sh +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: + +```sh +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: + +```swift +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/" +} +``` |
