mdddj / aria2_dart

aria2 dart library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aria2_dart

The flutter aria2 downloader based on aria2_ws (rust) supports all platforms of Android, iOS, macOS, Windows, Linux and Web

Getting Started

development environment:flutter:3.19.3

cd example && flutter clean
flutter run

add to pubspec.yaml

aria2_dart: ^lastVersion

Api

1.Connection

address: aria2 connection address, example:ws://127.0.0.1:6800/jsonrpc

await Aria2Plugin().connect(address);

2.Add download task

urls: remote download link

await Aria2Plugin().addTask([...urls]);

3.Listen for task callbacks

Aria2Plugin().addListen(listen: (MyNotification value){
  value.when(aria2: (gid, event) {
    //todo aria2 event callback
  }, webSocketConnected: () {
    //todo connected
  }, websocketClosed: () {
    //todo closed
  });
  // or value.whenOrNull();
});

4.Get task details

gid: Task ID, returned from aria 2

Aria2Plugin().getInfo(gid).then((AriaDetail? r) {
    if (r != null) {
       infos[key] = r;
    }
});
  1. Disconnect and release memory
Client? client;
...
client?.dispose(); 

For more usage methods, please refer to the example directory

Related Links

About

aria2 dart library

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Dart 67.8%Language:Rust 15.1%Language:C++ 6.2%Language:CMake 6.1%Language:Ruby 1.4%Language:Shell 1.0%Language:C 0.9%Language:Swift 0.6%Language:Batchfile 0.6%Language:PowerShell 0.2%Language:Kotlin 0.0%Language:Objective-C 0.0%