问题标签 [magnet-uri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1465 浏览

python - 使用 Python libtorrent 创建守护进程以获取 100k+ 种子的元数据

我正在尝试使用 python libtorrent 每天获取大约 10k+ 种子的元数据。

这是当前的代码流

  1. 启动 libtorrent 会话。
  2. 获取我们需要在过去 1 天内上传的元数据的种子总数。
  3. 以块的形式从 DB 中获取 torrent 哈希值
  4. 使用这些哈希创建磁力链接,并通过为每个磁力 URI 创建句柄在会话中添加这些磁力 URI。
  5. 在获取元数据时休眠一秒钟,并继续检查是否找到元数据。
  6. 如果收到元数据,则将其添加到数据库中,否则检查我们是否一直在寻找元数据大约 10 分钟,如果是,则删除句柄,即现在不再查找元数据。
  7. 无限期地做上面。并保存会话状态以备将来使用。

到目前为止,我已经尝试过了。

我试着让上面的脚本在一夜之间运行,发现在隔夜会话中只找到了大约 1200 个 torrent 的元数据。所以我正在寻找提高脚本性能的方法。

我什至尝试解码save_state文件并注意到DHT nodes我连接了 700 多个文件。所以它不像DHT是没有运行,

我打算做的是,keep the handles active在不获取元数据的情况下无限期地在会话中。如果在 10 分钟内没有获取元数据,则不会在 10 分钟后删除句柄,就像我目前正在做的那样。

我对 lib-torrent python 绑定没有几个问题。

  1. 我可以继续运行多少个手柄?运行手柄有限制吗?
  2. 运行 10k+ 或 100k 句柄会减慢我的系统吗?还是吃掉资源?如果是,那么哪些资源?我的意思是内存,网络?
  3. 我在防火墙后面,可能是阻塞的传入端口导致元数据获取速度慢吗?
  4. 可以像 router.bittorrent.com 或任何其他禁止我的 IP 地址的 DHT 服务器发送太多请求吗?
  5. 如果其他同行发现我发出太多请求只是为了获取元数据,他们可以禁止我的 IP 地址吗?
  6. 我可以运行这个脚本的多个实例吗?或者可能是多线程?它会提供更好的性能吗?
  7. 如果使用同一脚本的多个实例,每个脚本将根据我使用的 ip 和端口获得唯一的节点 ID,这是可行的解决方案吗?

有没有更好的方法?为了实现我正在努力的目标?

0 投票
1 回答
1193 浏览

p2p - 从 torrent 哈希构建磁铁 uri

我正在审查 torrent 搜索 api、json 的。我目前正在检查strike apitorrent project api

罢工 api中,响应包括磁铁 uri,但在torrent 项目 api中,没有提供磁铁 uri ,但提供了torrent_hash

在我计划使用的替代 npm 模块之一中,我需要磁铁 uri 来下载文件。而torrent 项目 api似乎更适合我。

由于我对磁铁 uri 方案进行了一些研究并检查了来自罢工 api的返回值,其中包括同一文件的torrent 哈希磁铁 uri ,我看到torrent 哈希包含在磁铁 urixt(确切主题)参数包括urnas xt=urn:btih:<torrent_hash_here>,用于 BitTorrent 下载。

但是,除了torrent 哈希之外的其他信息也包含在磁铁 uritr中,参数中的跟踪器。这些是更通用的跟踪器地址。

是否可以从种子哈希正确构建文件的磁铁 uri

如果是,如何,仅通过字符串连接?跟踪器(磁铁 uritr中的参数值)呢,在哪里可以找到它们以添加到构建为磁铁 uri的字符串中?

下载文件真的有必要吗?可以使用没有磁铁uri的torrent hashes下载文件吗?如果是,如何?

来自罢工 api响应的示例磁铁 uri 键:

来自torrent 项目 api的示例响应:

{"total_found":"563690","1":{"title":"Force, Marie et al. -Ask Me Why.epub","category":"ebooks","seeds":5,"leechs":0,"torrent_size":1005221,"torrent_hash":"63a4ca7a1f7796e5ecdc09bac1f8bc69daf3f7eb"}}

0 投票
2 回答
1419 浏览

python-2.7 - 简单的 libtorrent Python 客户端

我尝试创建一个简单的 libtorrent python 客户端(用于磁铁 uri),但失败了,该程序永远不会超过“下载元数据”。如果你能帮我写一个简单的客户端,那就太棒了。

PS当我选择保存路径时,保存路径是我希望保存数据的文件夹吗?或数据本身的路径。

(我使用了某人在此处发布的代码)

0 投票
1 回答
657 浏览

python - Python libtorrent 使用磁力链接创建空种子

我尝试下载给出 info_hash 的 torrent(特定的 .torrent 文件)。我知道这之前在这里讨论过,我什至相应地搜索并修改了我的代码。结果如下:

这会生成一个无法通过传输加载的 torrent 文件。它缺少跟踪器以及真实的片段(创建 \x00 而不是实际的片段)。
以下行将保存碎片,但仍然缺少跟踪器并且无法通过传输打开:

如何仅通过使用磁力链接(如代码中所述)来创建看起来像实际种子的种子?
(我正在使用带有 libtorrent 0.16.18-1 的 Ubuntu 15.04 x64)

我没有非法下载 torrent 后面的文件——但是,我有 torrent 可以与我的脚本下载的 torrent 进行比较。

0 投票
2 回答
563 浏览

javascript - 检查浏览器是否安装了 torrent-client

javascript中有没有办法检查浏览器是否支持磁力链接(=检查用户的电脑上是否安装了torrent客户端)?

我想通过 javascript 检查浏览器是否通过单击磁铁链接打开 torrent 客户端,或者我需要显示一些额外的说明(如果未安装 torrent 客户端)。

0 投票
1 回答
3123 浏览

c# - 使用 c# 将 Torrent Magnet 链接转换为 .torrent 文件

有没有办法做到这一点?我已经尝试过使用 monotorrent,但由于缺乏最新的文档,我无法让它工作。我已经尝试过使用monotorrent,但我仍然找不到获取 .torrent 文件的方法,甚至无法开始下载以获取 .torrent ...

以下代码将该问题作为基础,但它不会将任何内容保存到“D:\A”或“D:\TorrentSave”

要生成 .torrent,它不必是 monotorrent,事实上,这个 api 的唯一用途就是从磁力链接生成 .torrent 文件......

编辑:用我尝试做 Fᴀʀʜᴀɴ Aɴᴀᴍ 所说的更新代码:

使用的哈希 = "5FC86BA08451CF4221E0091F31AF1A52C2219009"

0 投票
0 回答
2798 浏览

javascript - WebTorrent.IO 不能与其他磁力链接一起使用?

我试着找出来,但找不到。我正在按照这里的步骤进行操作——https: //webtorrent.io/intro。我在文件中有以下代码。

此代码适用于 infohash — 6a9759bffd5c0af65319979fb7832189f4f3c35d 但是当我使用其他信息哈希或磁力链接时,它不起作用。其他信息哈希的示例是 80096C11147EEE4D2B6B6AC0B96C951E48298BE3

任何想法,为什么它不能与其他 infohash 或磁力链接一起使用?

0 投票
1 回答
640 浏览

c# - 使用 UTorrentAPI 通过磁力链接添加带有标签的种子

我有一个指向 torrent 的磁力链接。因此,我使用以下方法将 torrent 添加到 uTorrent AddUrl

但我想为这个种子分配一个特定的标签。AddUrl将标签作为参数的方法没有重载。或者之后如何通过磁力链接找到种子?UtorrentApi.Torrent对象不存储使用过的磁性链接。

0 投票
1 回答
318 浏览

javascript - 外部协议请求如何工作以及如何使用它来启动一些客户端应用程序?

每当有人使用 torrent 的 torrent 磁力链接时,都会弹出一个带有外部协议请求标题的弹出窗口。我想知道这个协议是如何工作的,以及它如何从网页打开客户端上的应用程序。

0 投票
1 回答
11849 浏览

bash - 为什么不能用 aria2c 命令下载磁铁?

这里的Battlestar Galacticahttp://kickasstorrentsan.com/usearch/Battlestar%20Galactica/
可以
用 deluge 下载。

在此处输入图像描述 在此处输入图像描述

现在我在网页上用萤火虫报废了磁铁。 在此处输入图像描述

可以验证磁铁是:

bash 脚本编写如下:
在此处输入图像描述

1. $url 变量是磁铁的正确地址。
2.aria2c命令可以正确执行。
3.aria2c $url已经执行了大约一个小时。为什么没有什么可以下载?

在此处输入图像描述