From bf895d03c3675184bde86a75972c5d59b22cc958 Mon Sep 17 00:00:00 2001 From: Abhishek Sinha Date: Tue, 28 Aug 2018 21:11:47 +0530 Subject: [PATCH] added script to find peers --- bit.js | 25 +++++++++++++++++++++++ package.json | 2 ++ routes.js | 41 +++++++++++++++++++++++++++++++++++++ views/from_flo.ejs | 4 +--- views/index.ejs | 1 + views/seed.ejs | 12 ++++++----- views/trackers-list.ejs | 45 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 122 insertions(+), 8 deletions(-) create mode 100644 bit.js create mode 100644 views/trackers-list.ejs diff --git a/bit.js b/bit.js new file mode 100644 index 0000000..7293936 --- /dev/null +++ b/bit.js @@ -0,0 +1,25 @@ +var Tracker = require('bittorrent-tracker') +var magnet = require('magnet-uri') + +var magnetURI = "magnet:?xt=urn:btih:08122dc39c46fab0221aa24e93f2825e3f9efe61&dn=%5BAndreas_M._Antonopoulos%5D_Mastering_Bitcoin_Progr(b-ok.org).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 parsedTorrent = magnet(magnetURI) +//console.log(parsedTorrent); + + +var opts = { + infoHash: parsedTorrent.infoHash, + announce: parsedTorrent.announce, + peerId: new Buffer('2d5757303030322d773974324137436b54727a30'), // hex string or Buffer + port: 6881 // torrent client port +} + + +var client = new Tracker(opts) + +client.scrape() + +client.on('scrape', function (data) { + console.log(data) +}) + diff --git a/package.json b/package.json index 1ede88e..ab2a9c1 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "index.js", "dependencies": { "bitcoin-core": "^2.0.0", + "bittorrent-tracker": "^9.10.1", "body-parser": "^1.18.3", "bootstrap": "^4.1.3", "browserify": "^16.2.2", @@ -19,6 +20,7 @@ "jquery": "^3.3.1", "jquery-ui": "^1.12.1", "lodash": "^4.17.10", + "magnet-uri": "^5.2.3", "npm": "^6.3.0", "popper.js": "^1.14.4", "watchify": "^3.11.0", diff --git a/routes.js b/routes.js index ba8a137..8fb2b0b 100644 --- a/routes.js +++ b/routes.js @@ -11,6 +11,9 @@ const funcs = require('./public/js/funcs') var path = require('path') var fs = require('fs'); +var Tracker = require('bittorrent-tracker') +var magnet = require('magnet-uri') + //const JSON = require('circular-json'); router.get('/', (req, res)=>{ @@ -248,4 +251,42 @@ router.post('/fetch-from-blockchain', [ }) +router.get('/trackers-list', (req, res)=>{ + res.render('trackers-list', { + data: {}, + errors: {}, + title: 'Trackers List' + }) +}) + +router.post('/trackers-list', (req, res)=>{ + let params = _.pick(req.body, ['job', 'mag_url', 'pid']) + if (params.job!=="track list") { + return; + } + + let magnetURI = params.mag_url + let peer_id = params.pid + + var parsedTorrent = magnet(magnetURI) + + var opts = { + infoHash: parsedTorrent.infoHash, + announce: parsedTorrent.announce, + peerId: new Buffer(peer_id), // hex string or Buffer + port: 6881 // torrent client port + } + + var client = new Tracker(opts) + + client.scrape() + + client.on('scrape', function (data) { + console.log("1") + res.write(JSON.stringify(data)) + }) + //res.end() + +}) + module.exports = router \ No newline at end of file diff --git a/views/from_flo.ejs b/views/from_flo.ejs index 9ea791a..6420658 100644 --- a/views/from_flo.ejs +++ b/views/from_flo.ejs @@ -1,7 +1,7 @@ <%include partials/header.ejs %>
- + @@ -24,8 +24,6 @@ <%include partials/footer.ejs %> \ No newline at end of file