(note: This package is still under development, please don't use it in a production environment.)
![GitHub Repo stars](https://img.shields.io/github/stars/im-oxygen/libaria2-ts?style=for-the-badge)
TypeScript (Node.js & Browser(WIP) ) library for aria2.
Introduction
libaria2.ts uses Aria2 JSON-RPC Interface to control it.
Features
- Node.js and
browsers support (WIP) - Multiple Transports
- Promise-based API
- Full-Typing, JSDoc
Getting Started
Install this package
npm install --save libaria2-ts
or
yarn add libaria2-ts
Start aria2 with rpc, example
aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all
or use TypeScript API (deprecated)
Usage
Create client
import { WebSocketClient as Aria2 } from 'libaria2-ts';
const aria2 = new Aria2({
});
Example options
{
host: 'localhost',
port: 6800,
path: '/jsonrpc',
auth: {
secret: 'hello'
}
}
Methods
let ver = await aria2.getVersion();
const resl = await aria2.system.multicall(
{ methodName: 'aria2.getVersion', params: [] },
{ methodName: 'aria2.addUri', params: ['http://example.com/qwer.zip'] }
);
aria2.events.on('aria2.onDownloadStart', () => {
console.log("Download Started");
});
await aria2.shutdown();