【问题标题】:Flutter plugin to download torrents [closed]用于下载种子的 Flutter 插件 [关闭]
【发布时间】:2026-01-14 21:45:02
【问题描述】:

我想开发一个 Flutter 应用来从 torrent 中搜索和下载文件。搜索部分已经完成,但现在我不知道如何实现下载功能。

我想下载种子文件或磁力链接指向的实际文件。例如,我希望应用程序从给定的 torrent 文件或给定的磁力链接下载 Linux 发行版。

是否有任何插件或我需要自己构建它?如果我需要创建一个,那么如何创建?

【问题讨论】:

  • 不就相当于下载文件吗?
  • 不,那不是。 Torrent 有自己的协议来处理多个对等点并从所有对等点收集片段。
  • 我认为您的问题是如何下载种子文件。你的意思是问一些不同的东西吗?
  • 您需要一个 bitorrent 客户端来下载实际文件。我不知道用于颤振的 bittorrent 插件。 github.com/mpetazzoni/ttorrent 是用 java 编写的。 “怎么做”是一个广泛的问题。您需要实现 bittorrent 协议。其规范可在bittorrent.org/beps/bep_0003.html 获得。
  • 您可以将该种子文件发送到服务器,在那里执行操作并将内容发送到应用程序。有很多服务器端客户端。

标签: flutter torrent flutter-plugin


【解决方案1】:

我开发了Torrento 包来处理种子。

它支持许多 torrent 客户端,让您可以远程控制它们。

以下是您可以尝试下载种子的内容:

  • 安装您的 torrent 客户端软件
  • 在首选项中设置 Web Ui 的用户名和密码。

然后你可以下载或添加种子等,方法是将上述包包含在你的 Flutter 的 pubspec.yaml 文件中。

这是一个小例子:

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() ; 

【讨论】:

  • 我正在寻找一个可以集成到flutter项目中的torrent客户端。
【解决方案2】:

torrent_task 插件是 BitTorrent 协议的纯 dart 实现。

【讨论】: