magnet2torrent
This module uses torrent-stream to download metadata of magnet links only, without creating any temp file.
Install
npm i magnet2torrent-js
API
constructor Magnet2torrent(options?: object): Magnet2torrent
Optional options are:
trackers: // {Array<string>} Trackers to use, default is [] addTrackersToTorrent: false // {boolean} Default is false timeout: 0 // {number} Timeout seconds, set to 0 will disable it, default is 0
Magnet2torrent.getTorrent(magnet: string): Promise<Torrent>
magnet
can be a full BTIH magnet link or its hash only.
Both sha-1 hash and base32 encoded hash are supported.
This method will return an instance of parse-torrent, with 2 extra functions:
toTorrentFile()
- alias ofParseTorrent.toTorrentFile(torrent)
toMagnetURI()
- alias ofParseTorrent.toMagnetURI(torrent)
Magnet2torrent.getTorrentBuffer(magnet: string): Promise<Buffer>
This method will return a buffer of torrent.
It is equal to getTorrent(magnet).then(torrent => torrent.toTorrentFile())
.
Example
Download torrent file simply
const writeFileSync = ;const Magnet2torrent = ; // ubuntu-16.04.1-server-amd64.isoconst magnet = 'magnet:?xt=urn:btih:90289fd34dfc1cf8f316a268add8354c85334458'; const m2t = timeout: 60 ; m2t;
Use custom trackers and write them to torrent file
const writeFileSync = ;const Magnet2torrent = ; // https://github.com/ngosang/trackerslistconst trackers = 'udp://tracker.coppersurfer.tk:6969/announce' 'udp://tracker.open-internet.nl:6969/announce' 'udp://tracker.leechers-paradise.org:6969/announce' // ...; // ubuntu-16.04.1-server-amd64.isoconst magnet = 'magnet:?xt=urn:btih:90289fd34dfc1cf8f316a268add8354c85334458'; const m2t = trackers addTrackersToTorrent: true; m2t;