dhtspider icon indicating copy to clipboard operation
dhtspider copied to clipboard

Bittorrent dht network spider

Nodejs DHT infohash spider

develop for engiy.com(A bittorrent resource search engine) Implements DHT protocol

requirement

Node.js 6.0+

install

npm install dhtspider

Useage

'use strict'

const spider = new (require('dhtspider'))

spider.on('ensureHash', (hash, addr)=> console.log(`magnet:?xt=urn:btih:${hash}`))

spider.listen(6339)

API

Class Spider(options)

options

tableCaption

default is 600, if your server have a lot memory, increasing this value can improve crawl efficiency

bootstraps

entry of dht network, default is

[{ address: 'router.bittorrent.com', port: 6881}, {address: 'dht.transmissionbt.com',port: 6881}]

method spider.listen(port)

start spider on port

events

'unensureHash'

Got a unensured info hash, usually, there is no need to care.

'nodes'

Got nodes, invoke on find_node success

'ensureHash'

Got a ensured info hash, callback has two arguments, first is hex info hash, second is a tcp address {address: 'x.x.x.x', port: xxx} for fetch metainfo of the resource by Extension for Peers to Send Metadata Files

Online Sample Bittorrent resource search engine