added code to find ip address of peers

This commit is contained in:
Abhishek Sinha 2018-08-31 19:33:13 +05:30
parent 4149a03354
commit 47e4baee15
4 changed files with 99 additions and 19 deletions

20
ip.js Normal file
View File

@ -0,0 +1,20 @@
var DHT = require('bittorrent-dht')
var magnet = require('magnet-uri')
var uri = 'magnet:?xt=urn:btih:4a7b842632ca42cdd3c8d54017a8da756839b84d&dn=D0112-Chacha.Choudhary.Sabu.Kaale.Tapu.Mein.pdf&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com'
var parsed = magnet(uri)
console.log(parsed.infoHash) // 'e3811b9539cacff680e418124272177c47477157'
var dht = new DHT()
dht.listen(20000, function () {
console.log('now listening')
})
dht.on('peer', function (peer, infoHash, from) {
console.log('found potential peer ' + peer.host + ':' + peer.port + ' through ' + from.address + ':' + from.port)
})
// find peers for the given torrent info hash
dht.lookup(parsed.infoHash)

86
package-lock.json generated
View File

@ -395,15 +395,15 @@
"integrity": "sha512-4xM4DYejOHQ/qWBfeqBXNA4mJ12PwcOibFYnH1kYh5U9BHciCqEJBqGNVnMJXUhm8mflujNRLSv7IiVQxovgjw=="
},
"bittorrent-dht": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-8.4.0.tgz",
"integrity": "sha512-FRe/+MYBePev7Yb+BXSclkVuDxb/w+gUbao6nVHYQRaKO7aXE+ARRlL3phqm6Rdhw5CRVoLMbLd49nxmCuUhUQ==",
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-9.0.0.tgz",
"integrity": "sha512-X5ax4G/PLtEPfqOUjqDZ2nmPENndWRMK4sT2jcQ4sXor904zhR40r4KqTyTvWYAljh5/hPPqM9DCUUtqWzRXoQ==",
"requires": {
"bencode": "^2.0.0",
"buffer-equals": "^1.0.3",
"debug": "^3.1.0",
"inherits": "^2.0.1",
"k-bucket": "^4.0.0",
"k-bucket": "^5.0.0",
"k-rpc": "^5.0.0",
"last-one-wins": "^1.0.4",
"lru": "^3.1.0",
@ -3466,11 +3466,10 @@
"integrity": "sha1-9DG0t/By3FAKXxDOf07HGTDnATQ="
},
"k-bucket": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz",
"integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-5.0.0.tgz",
"integrity": "sha512-r/q+wV/Kde62/tk+rqyttEJn6h0jR7x+incdMVSYTqK73zVxVrzJa70kJL49cIKen8XjIgUZKSvk8ktnrQbK4w==",
"requires": {
"inherits": "^2.0.1",
"randombytes": "^2.0.3"
}
},
@ -3484,6 +3483,17 @@
"k-rpc-socket": "^1.7.2",
"randombytes": "^2.0.5",
"safe-buffer": "^5.1.1"
},
"dependencies": {
"k-bucket": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz",
"integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==",
"requires": {
"inherits": "^2.0.1",
"randombytes": "^2.0.3"
}
}
}
},
"k-rpc-socket": {
@ -9006,6 +9016,36 @@
"debug": "^3.1.0",
"run-parallel": "^1.1.2",
"xtend": "^4.0.1"
},
"dependencies": {
"bittorrent-dht": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-8.4.0.tgz",
"integrity": "sha512-FRe/+MYBePev7Yb+BXSclkVuDxb/w+gUbao6nVHYQRaKO7aXE+ARRlL3phqm6Rdhw5CRVoLMbLd49nxmCuUhUQ==",
"requires": {
"bencode": "^2.0.0",
"buffer-equals": "^1.0.3",
"debug": "^3.1.0",
"inherits": "^2.0.1",
"k-bucket": "^4.0.0",
"k-rpc": "^5.0.0",
"last-one-wins": "^1.0.4",
"lru": "^3.1.0",
"randombytes": "^2.0.5",
"record-cache": "^1.0.2",
"safe-buffer": "^5.0.1",
"simple-sha1": "^2.1.0"
}
},
"k-bucket": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz",
"integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==",
"requires": {
"inherits": "^2.0.1",
"randombytes": "^2.0.3"
}
}
}
},
"torrent-piece": {
@ -9523,6 +9563,36 @@
"ut_pex": "^1.1.1",
"xtend": "^4.0.1",
"zero-fill": "^2.2.3"
},
"dependencies": {
"bittorrent-dht": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-8.4.0.tgz",
"integrity": "sha512-FRe/+MYBePev7Yb+BXSclkVuDxb/w+gUbao6nVHYQRaKO7aXE+ARRlL3phqm6Rdhw5CRVoLMbLd49nxmCuUhUQ==",
"requires": {
"bencode": "^2.0.0",
"buffer-equals": "^1.0.3",
"debug": "^3.1.0",
"inherits": "^2.0.1",
"k-bucket": "^4.0.0",
"k-rpc": "^5.0.0",
"last-one-wins": "^1.0.4",
"lru": "^3.1.0",
"randombytes": "^2.0.5",
"record-cache": "^1.0.2",
"safe-buffer": "^5.0.1",
"simple-sha1": "^2.1.0"
}
},
"k-bucket": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-4.0.1.tgz",
"integrity": "sha512-YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==",
"requires": {
"inherits": "^2.0.1",
"randombytes": "^2.0.3"
}
}
}
},
"webtorrent-cli": {

View File

@ -5,6 +5,7 @@
"main": "index.js",
"dependencies": {
"bitcoin-core": "^2.0.0",
"bittorrent-dht": "^9.0.0",
"bittorrent-tracker": "^9.10.1",
"body-parser": "^1.18.3",
"bootstrap": "^4.1.3",

11
seed.js
View File

@ -1,11 +0,0 @@
var dragDrop = require('drag-drop')
var WebTorrent = require('webtorrent')
var client = new WebTorrent()
// When user drops files on the browser, create a new torrent and start seeding it!
dragDrop('body', function (files) {
client.seed(files, function (torrent) {
console.log('Client is seeding:', torrent.infoHash)
})
})