This package has been deprecated

Author message:

Use the parse-torrent package instead

parse-torrent-file
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/parse-torrent-file package

4.2.2 • Public • Published

parse-torrent-file travis npm downloads javascript style guide

DEPRECATED: Use the parse-torrent package instead.

Parse a .torrent file and return an object of keys/values

Sauce Test Status

Works in node and the browser (with browserify). This module is used by WebTorrent!

install

npm install parse-torrent-file

usage

var parseTorrentFile = require('parse-torrent-file')
var path = require('path')
 
var torrent = fs.readFileSync(path.join(__dirname, 'torrents/leaves.torrent'))
var parsed
try {
  parsed = parseTorrentFile(torrent)
} catch (e) {
  // the torrent file was corrupt
  console.error(e)
}
 
console.log(parsed.name) // Prints "Leaves of Grass by Walt Whitman.epub"

The parsed torrent object looks like this:

{
  "infoHash": "d2474e86c95b19b8bcfdb92bc12c9d44667cfa36",
  "infoHashBuffer": ...,
  "name": "Leaves of Grass by Walt Whitman.epub",
  "private": false,
  "created": "2013-08-01T13:27:46.000Z",
  "announce": [
    "http://tracker.example.com/announce"
  ],
  "urlList": [],
  "files": [
    {
      "path": "Leaves of Grass by Walt Whitman.epub",
      "name": "Leaves of Grass by Walt Whitman.epub",
      "length": 362017,
      "offset": 0
    }
  ],
  "length": 362017,
  "pieceLength": 16384,
  "lastPieceLength": 1569,
  "pieces": [
    "1f9c3f59beec079715ec53324bde8569e4a0b4eb",
    "ec42307d4ce5557b5d3964c5ef55d354cf4a6ecc",
    "7bf1bcaf79d11fa5e0be06593c8faafc0c2ba2cf",
    "76d71c5b01526b23007f9e9929beafc5151e6511",
    "0931a1b44c21bf1e68b9138f90495e690dbc55f5",
    "72e4c2944cbacf26e6b3ae8a7229d88aafa05f61",
    "eaae6abf3f07cb6db9677cc6aded4dd3985e4586",
    "27567fa7639f065f71b18954304aca6366729e0b",
    "4773d77ae80caa96a524804dfe4b9bd3deaef999",
    "c9dd51027467519d5eb2561ae2cc01467de5f643",
    "0a60bcba24797692efa8770d23df0a830d91cb35",
    "b3407a88baa0590dc8c9aa6a120f274367dcd867",
    "e88e8338c572a06e3c801b29f519df532b3e76f6",
    "70cf6aee53107f3d39378483f69cf80fa568b1ea",
    "c53b506159e988d8bc16922d125d77d803d652c3",
    "ca3070c16eed9172ab506d20e522ea3f1ab674b3",
    "f923d76fe8f44ff32e372c3b376564c6fb5f0dbe",
    "52164f03629fd1322636babb2c014b7dae582da4",
    "1363965261e6ce12b43701f0a8c9ed1520a70eba",
    "004400a267765f6d3dd5c7beb5bd3c75f3df2a54",
    "560a61801147fa4ec7cf568e703acb04e5610a4d",
    "56dcc242d03293e9446cf5e457d8eb3d9588fd90",
    "c698de9b0dad92980906c026d8c1408fa08fe4ec"
  ]
}

To convert a parsed torrent back into a .torrent file buffer, call parseTorrentFile.encode.

var parseTorrentFile = require('parse-torrent-file')
 
// parse a torrent
var parsed = parseTorrentFile(/* some buffer */)
 
// convert parsed torrent back to a buffer
var buf = parseTorrentFile.encode(parsed)

credit

This was originally based on read-torrent by mafintosh. It's basically a pared-down version of that, but it works in the browser (so WebTorrent can use it), doesn't have huge npm dependencies like request (saving on file size), and it has tests. Thanks for publishing good modules, mafintosh!

license

MIT. Copyright (c) Feross Aboukhadijeh and WebTorrent, LLC.

Package Sidebar

Install

npm i parse-torrent-file

Weekly Downloads

382

Version

4.2.2

License

MIT

Unpacked Size

26.4 kB

Total Files

15

Last publish

Collaborators

  • alxhotel
  • feross
  • mafintosh
  • flet
  • watson
  • diegorbaquero
  • hicom150
  • jhiesey
  • webtorrent-bot