Skip to content

webtorrent/bittorrent-lsd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bittorrent-lsd ci npm downloads javascript style guide

Local Service Discovery (BEP14) implementation.

Local Service Discovery (LSD) provides a SSDP-like (http over udp-multicast) mechanism to announce the presence in specific swarms to local neighbors.

This module is used by WebTorrent.

install

npm install bittorrent-lsd

example

const opts = {
  peerId: new Buffer('01234567890123456789'), // hex string or Buffer
  infoHash: new Buffer('01234567890123456789'), // hex string or Buffer
  port: common.randomPort() // torrent client port
}

const lsd = new LSD(opts)

// start getting peers from local network
lsd.start()

lsd.on('peer', (peerAddress, infoHash) => {
  console.log('found a peer: ' + peerAddress)
})

lsd.destroy()

api

lsd = new LSD([opts])

Create a new lsd instance.

lsd.start()

Start listening and sending (every 5 minutes) for local network announces.

lsd.destroy([callback])

Destroy the LSD. Closes the socket and cleans up resources.

events

lsd.on('peer', (peerAddress, infoHash) => { ... })

Emitted when a potential peer is found. peerAddress is of the form host:port. infoHash is the torrent info hash.

lsd.on('warning', (err) => { ... })

Emitted when the LSD gets an unexpected message.

lsd.on('error', (err) => { ... })

Emitted when the LSD has a fatal error.

license

MIT. Copyright (c) Julen Garcia Leunda and WebTorrent, LLC.