Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

maria2

hydrati6.6kMIT0.4.1TypeScript support: included

Simple and Light RPC Library for aria2

aria2, download, http, websocket, metalink, magnet, ftp, bittorrent, typescript

readme

maria2

Modern & Simple RPC Library for aria2.

Introduce

maria2 can control aria2c by its RPC interface.

Features

  • Simple and Light (Just 4.12KB after minified)
  • Better TypeScript IDE Support.
  • Browser and Node.js Support.

Getting Started

  • Install `sh bun i maria2

pnpm i maria2

yarn add maria2

npm i maria2


- Run `aria2c` with RPC options, for example
```sh
aria2c --enable-rpc=true --rpc-listen-all=true --rpc-allow-origin-all=true --rpc-listen-port=6800
  • Connect by WebSocket `ts import { aria2, close, createWebSocket, open } from 'maria2'

const conn = await open(createWebSocket('ws://localhost:6800/jsonrpc'))

const version = await aria2.getVersion(conn)

console.log(version)

close(conn)


- Connect by HTTP
```ts
import { aria2, close, createHTTP, open } from '.'

const conn = await open(createHTTP('ws://localhost:6800/jsonrpc'))

const version = await aria2.getVersion(conn)

console.log(version)

close(conn)
  • Multicall `ts import { close, open, system } from 'maria2'

const conn = await open( new WebSocket('ws://localhost:6800/jsonrpc') )

// All typed const [result0, result1] = await system.multicall({ methodName: 'aria2.getVersion', params: [] }, { methodName: 'aria2.getGlobalStat', params: [] })

close(conn) `

Credits

License

MIT License © 2023-present Hydration