问题标签 [webtorrent]

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 投票
2 回答
767 浏览

javascript - 通过 Webtorrent 播种不适用于 Node 上的 webtorrent-hybrid

软件版本:“webtorrent-hybrid”:“^4.0.1”,

OS X 10.14.4

NPM:6.13.4

节点:v8.17.0

给我我的磁铁串。在前端我有:

当我有工作的 torrentId 时,视频会按预期加载。当我使用通过 webtorrent-hybrid 包创建的磁铁 url 将其分出时,我首先遇到一些错误:

WebSocket connection to 'wss://tracker.fastcast.nz/' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED

太好了,所以我从查询字符串中删除了该跟踪器,再试一次:

WebSocket connection to 'wss://tracker.btorrent.xyz/' failed: Unknown reason

太好了,再次删除它,我得到的东西只是挂起,没有任何反应。

如果我在 Brave 上使用磁铁,它只会挂在上面,Loading the torrent file list并且微调器会无休止地旋转。

这是怎么回事?谢谢

0 投票
3 回答
388 浏览

reverse-proxy - 用于 p2p 下载的反向 ssh 隧道

我正在寻找一种解决方案,在云服务器上使用远程 bittorrent 客户端,然后通过 http 将文件下载到本地系统。这有望提高我的带宽并克服将我的 ip 列入黑名单(假设我在代理后面)。我的解决方案将与 seedr.cc 完全相同。我想提供的另一项改进是文件/目录可以同时在本地(客户端应用程序)部分下载。如果我的解决方案是客户端服务器应用程序,这也可以很容易地完成。现在,真正的问题是,假设我根本不想在服务器上下载文件/目录,而是直接在客户端上而不安装远程磁盘(客户端磁盘)。在这里,请记住服务器仅用于网络,根本不使用存储。你知道有什么可以帮助的吗?

0 投票
0 回答
220 浏览

ffmpeg - 下载时使用ffmpeg提取mkv文件的字幕

我正在尝试将 mkv 文件流式传输到正在使用WebTorrent下载的网页。视频文件具有 ASS/SSA 嵌入式字幕。我正在使用电子显示视频,它使用没有专有编解码器支持的铬,所以我必须使用以下 html:

由于 chrome 支持 webm 并且它们使用相同的容器,因此我可以观看带音频的视频。Webm 不支持嵌入字幕,因此视频的字幕会被忽略。

我正在使用以下命令提取字幕:

这工作正常,但需要完全下载文件。是否可以在下载文件时提取字幕,以便我可以尽快开始流式传输视频和字幕?

0 投票
1 回答
257 浏览

reactjs - 获取 webTorrent 以播放存储在 AWS 私有 s3 存储桶中的 .mp4 文件

我正在使用 reactjs 和烧瓶。在获得存储在私有 s3 存储桶中的 .mp4 文件的 torrent 后,我​​正在尝试使用 webtorrent 在浏览器中显示和播放它。但是视频内容没有加载

这是在 reactjs 中加载和播放 1 GB .mp4 的后续问题,存储在私有 s3 存储桶中。目前,s3 存储桶是公开的。因为私人文件抛出错误。

参考代码 - https://codepen.io/drngke/pen/abNGbEg

0 投票
1 回答
473 浏览

node.js - DHT torrent 索引站点如何有效地抓取 infoHash?

我对 DHT 种子索引站点的工作方式很感兴趣。我有使用 nodejs 编写的 inhoHashes 刮板库。第一次尝试在NAT后面执行,但效率不高,然后我用公共IP去BSD服务器,事情真的好多了。在有关该主题的许多出版物中,我了解到最好的解决方案是运行多个虚拟 DHT 节点以更快地抓取 infoHash。我有启动几个 DHT 节点实例的代码,这些实例使用唯一的 NODEID 并在自己的端口上运行。

我的nodejs代码:

然后我找到了一个大学研究项目,其中有以下陈述:

增加吞吐量最明显的方法是使用多个 DHT 节点而不是一个。由于基于 IP 地址的过滤可以抵御潜在的 DoS 攻击,因此在单个 IP 地址上使用多个端口不被认为是可行的选择。相反,索引器设计为在多个主机或多宿主主机上运行。各个实例通过共享关系数据库同步它们的索引活动,该数据库存储发现的信息哈希和每个 .torrent 文件的当前处理阶段。

作者:Aaron Grunthal - 埃斯林根应用科技大学

如果上述陈述属实,是否意味着我的 10 节点 DHT 实例将被视为 DoS 攻击,我是否会受到某种惩罚?如果这是真的,那么那些网站(DHT torrent indexing site)如何处理这个问题?有没有可能在一台服务器上使用一个公共 IP 运行高效的 infoHash 刮板?显然,我执行的实例越多,我得到的哈希值就越多,但上面的语句让我担心。非常感谢您提前。

0 投票
1 回答
67 浏览

node.js - 'private: true' 和 'lsd: false' 未被识别为有效的 torrent 选项,不允许将 torrent 转换为私有。节点JS | 网络洪流

你使用的是什么版本的这个包?

webtorrent@0.107.17

webtorrent-hybrid@4.0.2

什么操作系统、Node.js 和 npm 版本? 操作系统:Linux Lite 5(64 位)

Node.js:14.15.1

npm:6.14.8

发生了什么?

我通常按​​照文档初始化客户端。像这样:

this.webTorrentClient = new WebTorrentHybrid({tracker: true, dht: true});

但是,我只是想将我的 torrent 切换为私有,这样它就不会发布到 DHT、PEX 和 LSD。我特别需要禁用 LSD。我再次按照文档,添加了 opts 并像这样放入私有标志:

在奇怪地这样做时,我收到了这个错误,指出这个特定的属性在 torrent 选项中不存在

在面对这个错误时,我最初认为 WebTorrentHybrid 的选择可能与 WebTorrent 不同,但是当我获取文档时,他们说它完全一样。然后我尝试改用private: true.seed方法,但收到了同样的错误。

或者我想,因为我只想禁用 LSD 并挖掘提交历史,我发现还添加了一个禁用 LSD 的选项。(参考这里的提交 ID:https ://github.com/webtorrent/webtorrent/commit/0ba67b8e8f54d888ba0dd14a6e5f4a18d46e1294 )。所以我试着把lsd: false两个都放进去.add.seed但还是没有骰子。同样的错误。

在这一点上,我觉得也许我以错误的格式传递了选择,但尝试了其他选择。他们工作得很好。我试着把path: '/mnt/drive1/'两者都放进去.add.seed就像这样:

它工作得非常好,同样我试过maxWebConns: 3了,这也奏效了!出于某种原因,在我的情况下,只有 private 和 lsd 似乎不起作用。快速谷歌搜索显示没有其他人有类似的问题,我很困惑!

我一直在关注这里的官方文档:https ://webtorrent.io/docs

0 投票
1 回答
183 浏览

javascript - 如何编码以便在我的网站上播放 torrent 播放视频

我得到这个脚本来在我的网站浏览器页面中播放 torrent 流媒体文件,如果我们拖放 torrent 或磁力链接,它会播放媒体流,但不是在 torrent 播放器上拖动磁力文件,我想单击 torrent 文件来播放它。我不知道要添加什么代码此代码会创建一个 torrent 播放器

0 投票
1 回答
233 浏览

node.js - NodeJS:将洪流下载为流

TL;DR 是否可以代理大于可用本地磁盘的洪流,同时将其传输到出站流?

根据 BitTorrent 规范,所有种子都存储为等长的片段,我想编写一个节点应用程序可以将种子片段通过管道传输到 http 上传流,是否有任何库提供这样的功能?我发现的所有实现都将整个文件下载到本地存储,然后进一步传播,这在小磁盘和大文件上运行时可能会导致问题。

0 投票
1 回答
85 浏览

javascript - nodejs - 如何在分隔符后删除部分字符串

我在 nodejs 脚本中使用此代码将一些元素推送到数组中,用于查询器的list问题类型。

如您所见,我在文件名之后添加了s:value和 ,p:value以告知用户文件的种子和对等方。当用户从列表中选择一个文件时,我正在搜索对象数组以找到该文件并将其返回。如果我没有在文件名中添加s:valuep:value,一切都按预期工作,但由于我需要提供这些信息,如何在循环数组之前将它们从文件名中删除?

这是我目前用来在对象数组中找到正确文件的代码

0 投票
0 回答
80 浏览

javascript - 什么是 Webtorrent 中仅浏览器的方法错误?

在发现 webtorrent 之后,我尝试在一个简单的电子应用程序中测试它的实现,但是当我使用这个代码时,我的页面是空白的并且我有一个错误,我错过了什么吗?

html代码:

安慰

错误