问题标签 [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.
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
并且微调器会无休止地旋转。
这是怎么回事?谢谢
reverse-proxy - 用于 p2p 下载的反向 ssh 隧道
我正在寻找一种解决方案,在云服务器上使用远程 bittorrent 客户端,然后通过 http 将文件下载到本地系统。这有望提高我的带宽并克服将我的 ip 列入黑名单(假设我在代理后面)。我的解决方案将与 seedr.cc 完全相同。我想提供的另一项改进是文件/目录可以同时在本地(客户端应用程序)部分下载。如果我的解决方案是客户端服务器应用程序,这也可以很容易地完成。现在,真正的问题是,假设我根本不想在服务器上下载文件/目录,而是直接在客户端上而不安装远程磁盘(客户端磁盘)。在这里,请记住服务器仅用于网络,根本不使用存储。你知道有什么可以帮助的吗?
ffmpeg - 下载时使用ffmpeg提取mkv文件的字幕
我正在尝试将 mkv 文件流式传输到正在使用WebTorrent下载的网页。视频文件具有 ASS/SSA 嵌入式字幕。我正在使用电子显示视频,它使用没有专有编解码器支持的铬,所以我必须使用以下 html:
由于 chrome 支持 webm 并且它们使用相同的容器,因此我可以观看带音频的视频。Webm 不支持嵌入字幕,因此视频的字幕会被忽略。
我正在使用以下命令提取字幕:
这工作正常,但需要完全下载文件。是否可以在下载文件时提取字幕,以便我可以尽快开始流式传输视频和字幕?
reactjs - 获取 webTorrent 以播放存储在 AWS 私有 s3 存储桶中的 .mp4 文件
我正在使用 reactjs 和烧瓶。在获得存储在私有 s3 存储桶中的 .mp4 文件的 torrent 后,我正在尝试使用 webtorrent 在浏览器中显示和播放它。但是视频内容没有加载
这是在 reactjs 中加载和播放 1 GB .mp4 的后续问题,存储在私有 s3 存储桶中。目前,s3 存储桶是公开的。因为私人文件抛出错误。
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 刮板?显然,我执行的实例越多,我得到的哈希值就越多,但上面的语句让我担心。非常感谢您提前。
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
javascript - 如何编码以便在我的网站上播放 torrent 播放视频
我得到这个脚本来在我的网站浏览器页面中播放 torrent 流媒体文件,如果我们拖放 torrent 或磁力链接,它会播放媒体流,但不是在 torrent 播放器上拖动磁力文件,我想单击 torrent 文件来播放它。我不知道要添加什么代码此代码会创建一个 torrent 播放器
node.js - NodeJS:将洪流下载为流
TL;DR 是否可以代理大于可用本地磁盘的洪流,同时将其传输到出站流?
根据 BitTorrent 规范,所有种子都存储为等长的片段,我想编写一个节点应用程序可以将种子片段通过管道传输到 http 上传流,是否有任何库提供这样的功能?我发现的所有实现都将整个文件下载到本地存储,然后进一步传播,这在小磁盘和大文件上运行时可能会导致问题。
javascript - nodejs - 如何在分隔符后删除部分字符串
我在 nodejs 脚本中使用此代码将一些元素推送到数组中,用于查询器的list
问题类型。
如您所见,我在文件名之后添加了s:value
和 ,p:value
以告知用户文件的种子和对等方。当用户从列表中选择一个文件时,我正在搜索对象数组以找到该文件并将其返回。如果我没有在文件名中添加s:value
和p:value
,一切都按预期工作,但由于我需要提供这些信息,如何在循环数组之前将它们从文件名中删除?
这是我目前用来在对象数组中找到正确文件的代码
javascript - 什么是 Webtorrent 中仅浏览器的方法错误?
在发现 webtorrent 之后,我尝试在一个简单的电子应用程序中测试它的实现,但是当我使用这个代码时,我的页面是空白的并且我有一个错误,我错过了什么吗?
html代码: