bittorrent-peerid

    1.3.4 • Public • Published

    bittorrent-peerid ci npm downloads javascript style guide

    Map a BitTorrent peer ID to a human-readable client name and version

    Also works in the browser with browserify!

    This module is used by WebTorrent.

    install

    npm install bittorrent-peerid
    

    usage

    const peerid = require('bittorrent-peerid')
    const parsed = peerid('-AZ2200-6wfG2wk6wWLc')
    
    console.log(parsed.client, parsed.version)

    The parsed peerid object looks like this:

    {
      client: 'Vuze',
      version: '2.2.0.0'
    }

    bittorrent-peerid can parse peer ids encoded in the following formats:

    • a 20-byte Buffer
    • a 40-character hex string
    • an arbitrarily-sized human-readable utf8 string (must decode to a 20-byte Buffer)

    If an unknown peer id is passed in, the returned client will be unknown.

    todo

    • Support known Azureus-style clients.
    • Support known Shadow-style clients.
    • Support known Mainline-style clients.
    • Support known Custom-style clients.
    • Recognize BitComet/Lord/Spirit spoofing.
    • Full support for client version parsing.
    • Full support for customized client version schemes.
    • Support unknown clients that conform to either the Azureus or Shadow-style conventions.

    credit

    This module is based heavily on the BTPeerIDByteDecoderDefinitions class from Azureus (Vuze). Related resources include:

    license

    MIT. Copyright (c) Travis Fischer and WebTorrent, LLC.

    Install

    npm i bittorrent-peerid

    DownloadsWeekly Downloads

    2,742

    Version

    1.3.4

    License

    MIT

    Unpacked Size

    28.1 kB

    Total Files

    8

    Last publish

    Collaborators

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