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
import { Spawn } from 'libaria2-ts';
const aria2Srv = new Spawn.Aria2Process({
aria2cPath: "<your aria2c path>",
});
await aria2Srv.spawn();
await aria2Srv.process.kill()
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();