bittorrent-peerid

WebJar for bittorrent-peerid

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

bittorrent-peerid
Last Version

Last Version

1.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

bittorrent-peerid
WebJar for bittorrent-peerid
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/webtorrent/bittorrent-peerid

Download bittorrent-peerid

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/bittorrent-peerid/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>bittorrent-peerid</artifactId>
    <version>1.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/bittorrent-peerid/
implementation 'org.webjars.npm:bittorrent-peerid:1.3.0'
// https://jarcasting.com/artifacts/org.webjars.npm/bittorrent-peerid/
implementation ("org.webjars.npm:bittorrent-peerid:1.3.0")
'org.webjars.npm:bittorrent-peerid:jar:1.3.0'
<dependency org="org.webjars.npm" name="bittorrent-peerid" rev="1.3.0">
  <artifact name="bittorrent-peerid" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='bittorrent-peerid', version='1.3.0')
)
libraryDependencies += "org.webjars.npm" % "bittorrent-peerid" % "1.3.0"
[org.webjars.npm/bittorrent-peerid "1.3.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

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.

org.webjars.npm

WebTorrent

⚡️⚡️⚡️ Streaming torrent client for the web, Node.js, Mac, Windows, & Linux.

Versions

Version
1.3.0