develop for engiy.com(A bittorrent resource search engine) Implements DHT protocol
Node.js 6.0+
npm install dhtspider
'use strict'
const spider = new (require('dhtspider'))
spider.on('ensureHash', (hash, addr)=> console.log(`magnet:?xt=urn:btih:${hash}`))
spider.listen(6339)
default is 600, if your server have a lot memory, increasing this value can improve crawl efficiency
entry of dht network, default is
[{ address: 'router.bittorrent.com', port: 6881}, {address: 'dht.transmissionbt.com',port: 6881}]
start spider on port
Got a unensured info hash, usually, there is no need to care.
Got nodes, invoke on find_node success
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