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.
npm install bittorrent-peerid
const peerid =const parsed =console
parsed peerid object looks like this:
client: 'Vuze'version: '184.108.40.206'
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
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.
This module is based heavily on the BTPeerIDByteDecoderDefinitions class from Azureus (Vuze). Related resources include:
MIT. Copyright (c) Travis Fischer and WebTorrent, LLC.