libaria2
v1.0.95
Published
A full-typing wrapper around aria2`, `The next generation download utility`.
Downloads
210
Maintainers
Readme
libaria2
This is a fork of hydrati/libaria2-ts.
Node.js TypeScript library for aria2.
Introduction
libaria2 uses Aria2 JSON-RPC Interface to control it.
Features
Getting Started
Install this package
npm install libaria2
Start aria2 with rpc, example
aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all
Usage
Create client
import { WebSocket as Aria2WebSocket } from "libaria2-ts";
const aria2 = new Aria2WebSocket({
host: 'localhost',
port: 6800
});
import { Http as Aria2Http } from "libaria2-ts";
const aria2 = new Aria2Http({
host: 'localhost',
port: 6800
});
Example options
{
host: 'localhost',
port: 6800,
path: '/jsonrpc',
auth: {
secret: 'hello'
}
}
Methods
const version = await aria2.getVersion();
/*
* Output:
* { version: '...', enabledFeatues: [...] }
*/
const resl = await aria2.system.multicall(
{ methodName: 'aria2.getVersion', params: [] },
{ methodName: 'aria2.addUri', params: ['http://example.com/qwer.zip'] }
);
/*
* Output:
* Array<Promise<...>>
*/
// or:
aria2.on('aria2.onDownloadStart', (event: IAria2NotificationEvent) => {
console.log(`Download ${event.gid} Started`);
});
// or:
aria2.onceDownloadStart().then((event: IAria2NotificationEvent) => {
console.log(`Download ${event.gid} Started`);
});
await aria2.closeConnection();
More methods, see Aria2ClientBaseClient
License
MIT License © 2021 Oxygen
MIT License © 2023 XLor