Package Exports
- maria2
- maria2/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (maria2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
maria2
Modern & Simple RPC Library for aria2.
Introduce
maria2 can control aria2c by its RPC interface.
Features
- Simple and Light (Just
4.12KBafter minified) - Better TypeScript IDE Support.
- Browser and Node.js Support.
Getting Started
- Install
bun i maria2
pnpm i maria2
yarn add maria2
npm i maria2- Run
aria2cwith RPC options, for example
aria2c --enable-rpc=true --rpc-listen-all=true --rpc-allow-origin-all=true --rpc-listen-port=6800- Connect by WebSocket
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
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
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