/torrento

A Dart package that wraps various Web Apis for controlling and managing torrent clients.

Primary LanguageDartGNU General Public License v3.0GPL-3.0

Torrento

Torrento is an api wrapper for many popular torrent clients and helps in remotely controlling and managing torrent clients.

Features :

  • Login to your torrent client remotely and control it.

  • Browse your active torrents.

  • Start , Stop , Pause and Resume your torrents.

  • Get information and Stats on all your torrents.

  • Add new torrents or Remove existing ones.

  • Get and Set individual torrent properties.

  • Setting upload and download speed limits.

  • Some torrent client specific features like :

    • Get and Set Save Path of torrents.

    • Shutdown application

    • Control torrent peers , trackers , transfer info

    • Control priority of torrents , individual files.

    • Create or Remove Tags and Categories

Supported Torrent Clients :

  • μTorrent
  • BitTorrent
  • qBittorrent

Installation :

Add the torrento package as dependency in your pubspec.yaml

dependencies:
  torrento:

Usage :

Here's a sample of some of the methods that are available to use.

Small Example :

import 'package:torrento/torrento.dart';

QbitTorrentController obj = QbitTorrentController('192.168.0.101' , 8080) ; 
await obj.logIn('username' , 'password') ; 

await obj.addTorrent('magnet:?xt=urn:btih:0d18397945bcc9f495818aa2c823ab167dc8da5c&dn=The.Lion.King.2019.1080p.BluRay.H264.AAC-RARBG') ; 

var torrents = await obj.getTorrentsList(filter: TorrentFilter.paused) ; 

torrents.forEach((t)=>print('${t['name']} : ${t['hash']}')) ; 

print("Starting all torrents") ;
await obj.startAllTorrents() ; 

print(await obj.getVersion()) ; 

await obj.logOut() ; 

Links :