webtorrent-beacon

0.1.0 • Public • Published

Webtorrent-beacon

Create a new torrent and receive a beacon when a new peer requests it

Webtorrent-beacon instantly sends a beacon when a new peer requests it. It does't care whether or not the new peer has actually connected to the torrent.

Some use-cases

  • Instantly count peers interested in your torrent as they arrive (or leave [not as instantly])
  • Instantly send a beacon to another instance (or multiple instances) of Webtorrent-beacon that a peer is interested in the same torrent. This may be useful for decentralizing WebRTC signaling between peers that connect to different tracker servers. Peerservers intends to use this library as the signaling method for peers connected to disparate tracker servers.

If you have another use-case, please share with an issue / PR!

Status

This software is in pre-alpha state and has not been audited for security. If you find any issues, please submit an issue / PR!

Install

npm i webtorrent-beacon

Usage

Example

let Beacon = require('webtorrent-beacon')

let filename = 'my file name.txt'
let data = 'my file data'

let opts = {} // webtorrent options

let beacon = new Beacon(opts, filename, data, beacon => {

 if(beacon){
  console.log('Torrent has a new interested peer:', beacon) // true
 }

 if(!beacon){
  console.log('An interested peer has left')
 }

})

beacon.infoHash(infoHash => {
 console.log(infoHash)
})

beacon.magnet(magnet => {
 console.log(magnet)
})

API

opts = {} // Webtorrent options

Refer to the webtorrent API for options that can be passed in.

beacon.infoHash(callback)

Returns the infohash of the torrent created by webtorrent-beacon

beacon.infoHash(infoHash => {
 console.log(infoHash)
})

beacon.magnet(callback)

Returns the magnet URI of the torrent created by webtorrent-beacon

beacon.magnet(magnet => {
 console.log(magnet)
})

Todo

  • Add support for monitoring beacons on torrents not created by this library

Package Sidebar

Install

npm i webtorrent-beacon

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

6.78 kB

Total Files

6

Last publish

Collaborators

  • draeder