JSPM

libtorrent

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q18833F
  • License MIT

unofficial node.js bindings for rasterbar's libbtorrent (www.libtorrent.org)

Package Exports

  • libtorrent

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (libtorrent) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-libtorrent-ng

node-libtorrent-ng is a fork of node-libtorrent and provides native bindings to libtorrent rastebar as a Node.js addon.

Getting started

Execute in command line:

$ npm install git+https://github.com/ngorchilov/node-libtorrent-ng.git

or copy repository and build bindings manually

$ git clone git://github.com/fanatid/node-libtorrent.git
$ cd node-libtorrent
$ npm install -g node-gyp
$ node-gyp configure
$ node-gyp build

Examples

Simple client

lt = require "../build/Release/libtorrent"

s = new lt.session()
s.listen_on([6881, 6889])
ti = new lt.torrent_info "./test.torrent"
th = s.add_torrent
  ti: ti
  save_path: "./test_torrent"
main = ->
  st = th.status()
  console.log "#{st.progress*100} complete \
(down: #{st.download_rate / 1000} kb/s | up: #{st.upload_rate / 1000} kB/s | \
peers: #{st.num_peers})"
  setTimeout main, 2500
main()

Create torrent

lt = require "../build/Release/libtorrent"

fs = new lt.file_storage()
lt.add_files fs, "./src"
ct = new lt.create_torrent(fs)
lt.set_piece_hashes ct, "."
t = lt.bencode ct.generate()
console.log t