Metadata-Version: 2.4
Name: aria2r
Version: 0.11.2
Summary: A Command line utility to add new downloads to a running aria2c instance
Author: Darrick Herwehe
Author-email: darrick@exitcodeone.com
Project-URL: Documentation, https://aria2r.readthedocs.io
Project-URL: Source, https://gitlab.com/darricktheprogrammer/aria2r
Project-URL: Tracker, https://gitlab.com/darricktheprogrammer/aria2r/issues
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Utilities
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: configargparse
Requires-Dist: requests
Requires-Dist: xdg
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: bump2version; extra == "dev"
Dynamic: license-file

aria2r
==========

In the spirit of [aria2c][1] and [aria2p][2], aria2r is a command line utility to add downloads to a (r)emote, or (r)unning instance of aria2.

While aria2 is a great download manager, one of its biggest drawbacks is the inability to easily add additional downloads when run as a daemon. While it is possible to add downloads through one of the several available GUIs, you are limited to adding one download at a time, and scrolling through seemingly endless options to find the ones you want to change.

The goal of aria2r is to provide a familiar interface for quickly and easily adding a single or multiple downloads to aria2 without having to restart the service. Aria2r strives to match the interface, design, and verbiage used by aria2c as much as possible.

[Full documentation][4].


## Installation

aria2r is written in Python and can be installed through pip.

```bash
pip install aria2r --user
```


## Examples

Basic example of adding a single download to aria2 running on the same machine

```bash
aria2r "http://host/file.zip"
```

Download a file from 2 mirrors

```bash
aria2r "http://host/file.zip" "http://mirror/file.zip"
```

Add downloads to a remote server listening on a non-default port

```bash
aria2r --host 10.0.0.1 --port 8660 "http://host/file.zip"
```

Add multiple downloads through an [aria2 input file](https://aria2.github.io/manual/en/html/aria2c.html#input-file)

```bash
aria2r -i /path/to/input-file.txt
```


## Command Line Options

```text
usage: aria2r [-h] [-C CONFIG] [-i INPUT_FILE] [--dry-run] [--host HOST] [--port PORT] [--rpc-secret RPC_SECRET] [-v] [-q] [urls ...]

positional arguments:
  urls                  One or more urls to a file. All given urls must be mirrors to the same
                        file and be http/https protocol. Torrent, Magnet, and Metalink files are not supported.

options:
  -h, --help            show this help message and exit
  -C, --config CONFIG   config file path
  -i, --input_file INPUT_FILE
                        Path to an aria2c formatted input file
  --dry-run             Read the input file or urls and build the request, but don't send it to the
                        aria2 instance. (This takes precedence over the aria2c --dry-run option, which as been renamed to --dry-run-aria2c)
  --host HOST           The ip or fully qualified domain name where aria2 is located.
                        (Default: localhost)
  --port PORT           The port that aria2 listens on. (Default: 8600)
  --rpc-secret RPC_SECRET
                        Secret authorization token set for the aria2 rpc interface.
  -v, --verbose         Increase level of output.
  -q, --quiet           Decrease level of output.
```


[1]: https://aria2.github.io/
[2]: https://github.com/pawamoy/aria2p
[4]: https://aria2r.readthedocs.io
