add README
This commit is contained in:
@@ -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/"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user