你使用的是什么版本的这个包?
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 并像这样放入私有标志:
this.webTorrentClient.add(magnetUri, {private: true}, (torrent) => {
//did my task here
});
在奇怪地这样做时,我收到了这个错误,指出这个特定的属性在 torrent 选项中不存在
Argument of type '{ private: boolean; }' is not assignable to parameter of type 'TorrentOptions'.
Object literal may only specify known properties, and 'private' does not exist in type 'TorrentOptions'
在面对这个错误时,我最初认为 WebTorrentHybrid 的选择可能与 WebTorrent 不同,但是当我获取文档时,他们说它完全一样。然后我尝试改用private: true
该.seed
方法,但收到了同样的错误。
或者我想,因为我只想禁用 LSD 并挖掘提交历史,我发现还添加了一个禁用 LSD 的选项。(参考这里的提交 ID:https ://github.com/webtorrent/webtorrent/commit/0ba67b8e8f54d888ba0dd14a6e5f4a18d46e1294 )。所以我试着把lsd: false
两个都放进去.add
,.seed
但还是没有骰子。同样的错误。
在这一点上,我觉得也许我以错误的格式传递了选择,但尝试了其他选择。他们工作得很好。我试着把path: '/mnt/drive1/'
两者都放进去.add
,.seed
就像这样:
this.webTorrentClient.add(magnetUri, {path: '/mnt/drive1/'}, (torrent) => {
//did my task here
});
它工作得非常好,同样我试过maxWebConns: 3
了,这也奏效了!出于某种原因,在我的情况下,只有 private 和 lsd 似乎不起作用。快速谷歌搜索显示没有其他人有类似的问题,我很困惑!
我一直在关注这里的官方文档:https ://webtorrent.io/docs