0.3.3 • Published 6 months ago

maria2 v0.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

maria2

Modern & Simple RPC Library for aria2.

Introduce

maria2 can control aria2c by its RPC interface.

Features

  • Simple.
  • Better TypeScript IDE Support.
  • Browser and Node.js Support.

Getting Started

  • If you are using Deno, just import it.
// See https://deno.land/x/maria2
import { open, aria2, system } from 'https://deno.land/x/maria2/index.ts'
import { createHTTP, createWebSocket } from 'https://deno.land/x/maria2/transport.ts'
  • If you are using Node.js, install this package.
pnpm i maria2

# For Node.js *
pnpm i ws
pnpm i -D @types/ws # TypeScript Support

# For Node.js <v15.6.0, <v14.17.0
pnpm i uuid
  • Run aria2c with 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 { open, aria2 } from 'maria2'

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

  // import { createWebSocket } from 'maria2/transport'
  // createWebSocket('ws://localhost:6800/jsonrpc')
)

const version = await aria2.getVersion(conn)
  • Connect by HTTP
import { open, aria2 } from 'maria2'
import { createHTTP } from 'maria2/transport'

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

const version = await aria2.getVersion(conn)
  • Multicall
import { open, system } from 'maria2'

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

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

Credits

License

MIT License © 2023 Hydration

0.3.3

6 months ago

0.3.2

10 months ago

0.3.1

10 months ago

0.3.0

10 months ago

0.3.0-beta.20

10 months ago

0.3.0-beta.18

10 months ago

0.3.0-beta.17

10 months ago

0.3.0-beta.16

10 months ago

0.3.0-beta.14

10 months ago

0.3.0-beta.13

10 months ago

0.3.0-beta.11

10 months ago

0.3.0-beta.10

10 months ago

0.3.0-beta.9

10 months ago

0.3.0-beta.8

10 months ago

0.3.0-beta.7

10 months ago

0.3.0-beta.6

10 months ago

0.3.0-beta.4

10 months ago

0.3.0-beta.3

10 months ago

0.3.0-beta.2

11 months ago

0.3.0-beta.1

11 months ago

0.3.0-beta.0

11 months ago

0.2.8-beta.2

11 months ago

0.2.8-beta.1

11 months ago

0.2.8-beta.0

11 months ago

0.2.7

11 months ago

0.2.6

11 months ago

0.2.4

11 months ago

0.2.3

11 months ago

0.2.2

11 months ago

0.2.1

11 months ago

0.2.0

11 months ago

0.1.5

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.1.2

11 months ago

0.1.1

11 months ago

0.1.1-beta.1

11 months ago

0.1.0

11 months ago

0.0.0

11 months ago