create-torrent中文文档|create-torrent js中文教程|解析

npm npmdoc 3年前 (2021-12-26) 510次浏览

create-torrent中文文档|create-torrent js中文教程|解析

安装命令:npm i create-torrent

创建种子 词 新产品经理 下载 JavaScript 风格指南

创建 .torrent 文件

创建

该模块由WebTorrent 使用该模块适用于 node.js 和浏览器(使用browserify)。

安装

npm install create-torrent

用法

最简单的使用方法create-torrent是这样的:

const createTorrent = require('create-torrent')
const fs = require('fs')

createTorrent('/path/to/folder', (err, torrent) => {
  if (!err) {
    // `torrent` is a Buffer with the contents of the new .torrent file
    fs.writeFile('my.torrent', torrent)
  }
})

将自动为 .torrent 文件选择合理的片长(约 1024 片),或者如果您想要不同的大小(请参阅下面的 API 文档),您可以覆盖它。

接口

createTorrent(input, [opts], function callback (err, torrent) {})

创建一个新.torrent文件。

input 可以是以下任何一种:

  • 文件系统上文件或文件夹的路径(字符串)
  • W3C File对象(来自<input>或拖放)
  • W3C FileList对象(基本上是一个File对象数组
  • 节点缓冲区对象
  • 节点流。可读对象

或者,一个阵列stringFileBuffer,或stream.Readable对象

opts 是可选的,允许您在生成的 .torrent 文件上设置特殊设置。

{
  name: String,             // name of the torrent (default = basename of `path`, or 1st file's name)
  comment: String,          // free-form textual comments of the author
  createdBy: String,        // name and version of program used to create torrent
  creationDate: Date        // creation time in UNIX epoch format (default = now)
  filterJunkFiles: Boolean, // remove hidden and other junk files? (default = true)
  private: Boolean,         // is this a private .torrent? (default = false)
  pieceLength: Number,      // force a custom piece length (number of bytes)
  announceList: [[String]], // custom trackers (array of arrays of strings) (see [bep12](http://www.bittorrent.org/beps/bep_0012.html))
  urlList: [String],        // web seed urls (see [bep19](http://www.bittorrent.org/beps/bep_0019.html))
  info: Object,             // add non-standard info dict entries, e.g. info.source, a convention for cross-seeding
  onProgress: Function      // called with the number of bytes hashed and estimated total size after every piece
}

如果announceList省略,将自动包含以下跟踪器:

  • udp://tracker.openbittorrent.com:80
  • udp://tracker.internetwarriors.net:1337
  • udp://tracker.leechers-paradise.org:6969
  • udp://tracker.coppersurfer.tk:6969
  • udp://exodus.desync.com:6969
  • wss://tracker.btorrent.xyz
  • wss://tracker.openwebtorrent.com
  • wss://tracker.fastcast.nz

以 开头的跟踪器wss://用于 WebRTC 对等点。请参阅
WebTorrent以了解更多信息。

callback调用时会出现错误和种子数据的缓冲区。如果这是您想要做的,则由您将其保存到文件中。

注意:每个 torrent 都需要有一个名称。如果未通过 显式提供opts.name一个,将使用以下逻辑自动确定一个:

  • 如果所有文件共享一个公共路径前缀,则将使用该前缀。例如,如果所有文件路径都以/imgs/torrent 名称开头,则为imgs.
  • 否则,具有名称的第一个文件将确定 torrent 名称。例如,如果第一个文件是/foo/bar/baz.txt,则 torrent 名称将为baz.txt.
  • 如果没有文件具有名称(假设所有文件都是 Buffer 或 Stream 对象),则会生成一个名称,例如“Unnamed Torrent”。

注意:每个文件都需要有一个名称。对于文件系统路径或 W3C 文件对象,名称包含在对象中。对于 Buffer 或 Readable 流类型,name可以在对象上设置一个属性,如下所示:

const buf = Buffer.from('Some file content')
buf.name = 'Some file name'

命令行

usage: create-torrent <directory OR file> {-o outfile.torrent}

Create a torrent file from a directory or file.

If an output file isn\'t specified with `-o`, the torrent file will be
written to stdout.

执照

麻省理工学院。版权所有 (c) Feross AboukhadijehWebTorrent, LLC


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:create-torrent中文文档|create-torrent js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}