パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.4.1

dtorrent_task

純粋なDart言語で書かれたBitTorrentダウンロードクライアントパッケージ。

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
216
いいね数
22
Pub ポイント
130

パッケージをインストール

flutter pub add dtorrent_task

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Dartで完全に実装されたBitTorrentダウンロードクライアントであり、ネイティブコードなしでクロスプラットフォームのtorrentダウンロードを可能にします。シーディング、ダウンロード、torrentファイルの管理など、基本的なBitTorrent機能をサポートしています。Android、iOS、macOS、Windows、Linux間でのファイル共有およびピアツーピア転送向けの軽量で純粋なDartソリューションを求める開発者向けに構築されています。Flutterアプリにtorrent機能を最小限の依存関係で統合するのに最適です。

用途

  • Flutterアプリにトーレントダウンロードを統合する
  • P2Pファイル共有アプリケーションの構築
  • BitTorrentを介したファイル転送の自動化
  • オフラインコンテンツ配信ツールの作成
  • クロスプラットフォームダウンロードマネージャの開発

主な機能

  • 純粋な Dart 実装
  • クロスプラットフォーム対応(Android、iOS、macOS、Windows、Linux)
  • 軽量で依存関係なし
  • torrentファイルの解析およびダウンロード管理をサポート
  • ダウンロード進捗の追跡に向けた組み込みイベント駆動型アーキテクチャ

適している対象

  • Flutter開発者がP2P機能を構築しています
  • オフラインまたは分散型ファイル転送を必要とするアプリ
  • ネイティブなプラットフォーム固有のコードを避けるプロジェクト
  • BitTorrentプロトコルを探究する教育プロジェクト
  • 軽量なTorrentクライアント統合を必要とするツール

注意事項

  • 基本的なBitTorrent機能に制限されています(暗号化やポートフォワーディングなどの高度な機能はサポートされていません)
  • 純粋なDart実行のため、低性能デバイスでのパフォーマンスは異なる場合があります
  • 組み込みのUIコンポーネントなし—カスタムインターフェース開発が必要
  • コンテンツの利用可能性に外部トラッカーおよびピアに依存する
  • 高容量またはエンタープライズグレードのトーレント操作には適していません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

About

Dart library for implementing BitTorrent client.

codecov

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 dtorrent_parser:

dependencies:
  dtorrent_parser : ^1.0.4
  dtorrent_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();

Testing

Run tests:

dart test

Run tests with coverage:

dart test --coverage=coverage
dart run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --report-on=lib

Or use the provided script:

dart tool/coverage.dart

The coverage report will be generated at coverage/lcov.info and can be viewed with tools like genhtml or uploaded to services like Codecov.

Coverage is automatically uploaded to Codecov on every push and pull request via GitHub Actions.

カテゴリー

依存関係

依存関係一覧 13 件

  • args^2.4.2
  • b_encode_decode^1.0.5
  • bittorrent_dht^0.0.14
  • collection^1.0.0
  • crypto^3.0.3
  • dart_ipify^1.1.1
  • dtorrent_common^1.0.8
  • dtorrent_parser^1.0.9
  • dtorrent_tracker^1.3.20
  • events_emitter2^1.0.3
  • logging^1.2.0
  • mime^1.0.4
  • utp_protocol^1.0.5

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。