torrent_task 0.3.0 copy "torrent_task: ^0.3.0" to clipboard
torrent_task: ^0.3.0 copied to clipboard

BitTorrent download client package written by pure Dart language.

About #

Dart library for implementing BitTorrent client.

Whole Dart Torrent client contains serival parts :

This package implements regular BitTorrent Protocol and manage above packages to work together for downloading.

BEP Support: #

  • [BEP 0003 The BitTorrent Protocol Specification]
  • [BEP 0005 DHT Protocal]
  • [BEP 0006 Fast Extension]
  • [BEP 0010 Extension Protocol]
  • [BEP 0011 Peer Exchange (PEX)]
  • [BEP 0014 Local Service Discovery]
  • [BEP 0015 UDP Tracker Protocal]
  • [BEP 0029 uTorrent transport protocol]
  • [BEP 0055 Holepunch extension]

Developing:

  • [BEP 0009 Extension for Peers to Send Metadata Files]

Other support will come soon.

How to use #

This package need to dependency torrent_model:

dependencies:
  torrent_model : ^1.0.3
  torrent_task : '>= 0.2.1 < 2.0.0'

First , create a Torrent model via .torrent file:

  var model = await Torrent.parse('some.torrent');

Second, create a Torrent Task and start it:

  var task = TorrentTask.newTask(model,'savepath');
  task.start();

User can add some listener to monitor TorrentTask running:

  task.onTaskComplete(() => .....);
  task.onFileComplete((String filePath) => .....);

and there is some method to control the TorrentTask:

   // Stop task:
   task.stop();
   // Pause task:
   task.pause();
   // Resume task:
   task.resume();
20
likes
30
pub points
0%
popularity

Publisher

unverified uploader

BitTorrent download client package written by pure Dart language.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (LICENSE)

Dependencies

bencode_dart, dartorrent_common, dht_dart, torrent_model, torrent_tracker, utp

More

Packages that depend on torrent_task