bittorrent-peerid

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

Github stars Tracking Chart

bittorrent-peerid travis 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.

Main metrics

Overview
Name With Ownerwebtorrent/bittorrent-peerid
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-05-28 06:16:45
Pushed At2025-05-24 22:31:14
Last Commit At2024-09-17 00:11:55
Release Count10
Last Release Namev2.0.0 (Posted on )
First Release Namev1.1.0 (Posted on 2016-06-24 14:14:28)
用户参与
Stargazers Count67
Watchers Count6
Fork Count19
Commits Count109
Has Issues Enabled
Issues Count15
Issue Open Count6
Pull Requests Count49
Pull Requests Open Count4
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private