Bittorrent dht network spider
JavaScript

Readme.md

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