问题标签 [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.
python - 使用 Python libtorrent 创建守护进程以获取 100k+ 种子的元数据
我正在尝试使用 python libtorrent 每天获取大约 10k+ 种子的元数据。
这是当前的代码流
- 启动 libtorrent 会话。
- 获取我们需要在过去 1 天内上传的元数据的种子总数。
- 以块的形式从 DB 中获取 torrent 哈希值
- 使用这些哈希创建磁力链接,并通过为每个磁力 URI 创建句柄在会话中添加这些磁力 URI。
- 在获取元数据时休眠一秒钟,并继续检查是否找到元数据。
- 如果收到元数据,则将其添加到数据库中,否则检查我们是否一直在寻找元数据大约 10 分钟,如果是,则删除句柄,即现在不再查找元数据。
- 无限期地做上面。并保存会话状态以备将来使用。
到目前为止,我已经尝试过了。
我试着让上面的脚本在一夜之间运行,发现在隔夜会话中只找到了大约 1200 个 torrent 的元数据。所以我正在寻找提高脚本性能的方法。
我什至尝试解码save_state
文件并注意到DHT nodes
我连接了 700 多个文件。所以它不像DHT
是没有运行,
我打算做的是,keep the handles active
在不获取元数据的情况下无限期地在会话中。如果在 10 分钟内没有获取元数据,则不会在 10 分钟后删除句柄,就像我目前正在做的那样。
我对 lib-torrent python 绑定没有几个问题。
- 我可以继续运行多少个手柄?运行手柄有限制吗?
- 运行 10k+ 或 100k 句柄会减慢我的系统吗?还是吃掉资源?如果是,那么哪些资源?我的意思是内存,网络?
- 我在防火墙后面,可能是阻塞的传入端口导致元数据获取速度慢吗?
- 可以像 router.bittorrent.com 或任何其他禁止我的 IP 地址的 DHT 服务器发送太多请求吗?
- 如果其他同行发现我发出太多请求只是为了获取元数据,他们可以禁止我的 IP 地址吗?
- 我可以运行这个脚本的多个实例吗?或者可能是多线程?它会提供更好的性能吗?
- 如果使用同一脚本的多个实例,每个脚本将根据我使用的 ip 和端口获得唯一的节点 ID,这是可行的解决方案吗?
有没有更好的方法?为了实现我正在努力的目标?
p2p - 从 torrent 哈希构建磁铁 uri
我正在审查 torrent 搜索 api、json 的。我目前正在检查strike api和torrent project api。
在罢工 api中,响应包括磁铁 uri,但在torrent 项目 api中,没有提供磁铁 uri ,但提供了torrent_hash。
在我计划使用的替代 npm 模块之一中,我需要磁铁 uri 来下载文件。而torrent 项目 api似乎更适合我。
由于我对磁铁 uri 方案进行了一些研究并检查了来自罢工 api的返回值,其中包括同一文件的torrent 哈希和磁铁 uri ,我看到torrent 哈希包含在磁铁 uri中xt
(确切主题)参数包括urn
as 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"}}
python-2.7 - 简单的 libtorrent Python 客户端
我尝试创建一个简单的 libtorrent python 客户端(用于磁铁 uri),但失败了,该程序永远不会超过“下载元数据”。如果你能帮我写一个简单的客户端,那就太棒了。
PS当我选择保存路径时,保存路径是我希望保存数据的文件夹吗?或数据本身的路径。
(我使用了某人在此处发布的代码)
python - Python libtorrent 使用磁力链接创建空种子
我尝试下载仅给出 info_hash 的 torrent(特定的 .torrent 文件)。我知道这之前在这里讨论过,我什至相应地搜索并修改了我的代码。结果如下:
这会生成一个无法通过传输加载的 torrent 文件。它缺少跟踪器以及真实的片段(创建 \x00 而不是实际的片段)。
以下行将保存碎片,但仍然缺少跟踪器并且无法通过传输打开:
如何仅通过使用磁力链接(如代码中所述)来创建看起来像实际种子的种子?
(我正在使用带有 libtorrent 0.16.18-1 的 Ubuntu 15.04 x64)
我没有非法下载 torrent 后面的文件——但是,我有 torrent 可以与我的脚本下载的 torrent 进行比较。
javascript - 检查浏览器是否安装了 torrent-client
javascript中有没有办法检查浏览器是否支持磁力链接(=检查用户的电脑上是否安装了torrent客户端)?
我想通过 javascript 检查浏览器是否通过单击磁铁链接打开 torrent 客户端,或者我需要显示一些额外的说明(如果未安装 torrent 客户端)。
c# - 使用 c# 将 Torrent Magnet 链接转换为 .torrent 文件
有没有办法做到这一点?我已经尝试过使用 monotorrent,但由于缺乏最新的文档,我无法让它工作。我已经尝试过使用monotorrent,但我仍然找不到获取 .torrent 文件的方法,甚至无法开始下载以获取 .torrent ...
以下代码将该问题作为基础,但它不会将任何内容保存到“D:\A”或“D:\TorrentSave”
要生成 .torrent,它不必是 monotorrent,事实上,这个 api 的唯一用途就是从磁力链接生成 .torrent 文件......
编辑:用我尝试做 Fᴀʀʜᴀɴ Aɴᴀᴍ 所说的更新代码:
使用的哈希 = "5FC86BA08451CF4221E0091F31AF1A52C2219009"
javascript - WebTorrent.IO 不能与其他磁力链接一起使用?
我试着找出来,但找不到。我正在按照这里的步骤进行操作——https: //webtorrent.io/intro。我在文件中有以下代码。
此代码适用于 infohash — 6a9759bffd5c0af65319979fb7832189f4f3c35d 但是当我使用其他信息哈希或磁力链接时,它不起作用。其他信息哈希的示例是 80096C11147EEE4D2B6B6AC0B96C951E48298BE3
任何想法,为什么它不能与其他 infohash 或磁力链接一起使用?
c# - 使用 UTorrentAPI 通过磁力链接添加带有标签的种子
我有一个指向 torrent 的磁力链接。因此,我使用以下方法将 torrent 添加到 uTorrent AddUrl
:
但我想为这个种子分配一个特定的标签。AddUrl
将标签作为参数的方法没有重载。或者之后如何通过磁力链接找到种子?UtorrentApi.Torrent
对象不存储使用过的磁性链接。
javascript - 外部协议请求如何工作以及如何使用它来启动一些客户端应用程序?
每当有人使用 torrent 的 torrent 磁力链接时,都会弹出一个带有外部协议请求标题的弹出窗口。我想知道这个协议是如何工作的,以及它如何从网页打开客户端上的应用程序。
bash - 为什么不能用 aria2c 命令下载磁铁?
这里的Battlestar Galactica
http://kickasstorrentsan.com/usearch/Battlestar%20Galactica/
可以
用 deluge 下载。
可以验证磁铁是:
1. $url 变量是磁铁的正确地址。
2.aria2c命令可以正确执行。
3.aria2c $url
已经执行了大约一个小时。为什么没有什么可以下载?