parse local torrent data. - seedlinux - Torrent indexing tool opensource torrents with share ratio's etc.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit 132f57349a4c49f29c509ecb84112ac5bd7ac7f0
(DIR) parent 19e10988238f8e0e2fc3eee8a1c57355a4efb1b8
(HTM) Author: Jay Scott <jay@jayscott.co.uk>
Date: Mon, 26 Jun 2017 22:22:24 +0100
parse local torrent data.
I am currently parsing the torrent data from local file, get the
magnetlink and then trying to get peer information. Its not
currently working but I think I will rethink how its done.
Diffstat:
M app.js | 4 ++++
M package-lock.json | 599 +++++++++++++++++++++++++++++++
M package.json | 4 ++++
A routes/parse.js | 43 ++++++++++++++++++++++++++++++
A routes/scrape.js | 9 +++++++++
A views/scrape.pug | 8 ++++++++
6 files changed, 667 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/app.js b/app.js
@@ -11,6 +11,8 @@ var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/seedlinux');
+var scrape = require('./routes/scrape');
+var parse = require('./routes/parse');
var index = require('./routes/index');
var app = express();
@@ -36,6 +38,8 @@ app.use(function(req,res,next){
});
app.use('/', index);
+app.use('/scrape/', scrape);
+app.use('/parse/', parse);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
(DIR) diff --git a/package-lock.json b/package-lock.json
@@ -25,6 +25,11 @@
}
}
},
+ "addr-to-ip-port": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.4.2.tgz",
+ "integrity": "sha1-fkb/Hya3qfXjP9g51XrvYwO0xpI="
+ },
"align-text": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
@@ -35,6 +40,28 @@
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "app-root-path": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz",
+ "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y="
+ },
+ "aproba": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz",
+ "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==",
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "optional": true
+ },
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -45,11 +72,65 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
"integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8="
},
+ "async": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
+ },
+ "aws-sign": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz",
+ "integrity": "sha1-xVAThWyBlOyFSgy+yQqrWgTOOsU="
+ },
"basic-auth": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz",
"integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ="
},
+ "bencode": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/bencode/-/bencode-1.0.0.tgz",
+ "integrity": "sha512-N+VOSP5MkoX+xgnp6Y056iCY5TmCZg9rgPNPQe0bIiXchxYFP4vs/Tf0dTdQ+qQhP7HM2gvfFq+sUVjQsGy5Zw==",
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ }
+ }
+ },
+ "bindings": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
+ "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=",
+ "optional": true
+ },
+ "bittorrent-peerid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/bittorrent-peerid/-/bittorrent-peerid-1.2.0.tgz",
+ "integrity": "sha1-n2dWEvDmr8bvNFDfulH/cjir83E="
+ },
+ "bittorrent-tracker": {
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.2.3.tgz",
+ "integrity": "sha512-KW7nE/Lwxlpy6BmEEufvwXXsAnq7961xsoE8qL2PWrwKqKjEWLIX/T3REdq6o+RQT0YYdmy7NnqVRs/w+2LUjg=="
+ },
+ "bl": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
+ "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
+ "optional": true
+ },
+ "blob-to-buffer": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.6.tgz",
+ "integrity": "sha1-CJrCZMaGtz6tbFOaSEqAA7+7IDM="
+ },
+ "bn.js": {
+ "version": "4.11.7",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz",
+ "integrity": "sha512-LxFiV5mefv0ley0SzqkOPR1bC4EbpPx8LkOz5vMe/Yi15t5hzwgO/G+tc7wOtL4PZTYjwHu8JnEiSLumuSjSfA=="
+ },
"body-parser": {
"version": "1.17.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz",
@@ -62,6 +143,11 @@
}
}
},
+ "boom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz",
+ "integrity": "sha1-yM2wQUNZEnQWKMBE7Mcy0dF8Ceo="
+ },
"bson": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz",
@@ -72,6 +158,12 @@
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
},
+ "bufferutil": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-3.0.1.tgz",
+ "integrity": "sha1-ILLvUVmsSfIORLzjjnw1pqkE7mY=",
+ "optional": true
+ },
"bytes": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
@@ -92,6 +184,12 @@
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
"integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A="
},
+ "chownr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
+ "optional": true
+ },
"clean-css": {
"version": "3.4.27",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.27.tgz",
@@ -102,11 +200,36 @@
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE="
},
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "combined-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8="
+ },
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ="
},
+ "compact2string": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/compact2string/-/compact2string-1.4.0.tgz",
+ "integrity": "sha1-qZzZbqAAUlaEsmloOuIiLW7qe0k="
+ },
+ "concat-stream": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc="
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
"constantinople": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz",
@@ -127,6 +250,11 @@
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
+ "cookie-jar": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz",
+ "integrity": "sha1-ZOzAasl423leS1KQy+SLo3gUAPo="
+ },
"cookie-parser": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz",
@@ -142,6 +270,11 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
+ "cryptiles": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz",
+ "integrity": "sha1-GlVnNPBtJLo0hirpy55wmjr7/xw="
+ },
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
@@ -152,6 +285,23 @@
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "optional": true
+ },
+ "delayed-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "optional": true
+ },
"depd": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
@@ -177,6 +327,11 @@
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
},
+ "end-of-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
+ "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY="
+ },
"es6-promise": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz",
@@ -192,6 +347,12 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
"integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
},
+ "expand-template": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.0.3.tgz",
+ "integrity": "sha1-bDAzIxd6YrGyLAcCefeGEoe2mxo=",
+ "optional": true
+ },
"express": {
"version": "4.15.3",
"resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz",
@@ -216,6 +377,28 @@
}
}
},
+ "flatten": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-0.0.1.tgz",
+ "integrity": "sha1-VURAdm2goNYDmZ9DNFP2wvxqdcE="
+ },
+ "forever-agent": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz",
+ "integrity": "sha1-4cJcetROCcOPIzh2x2/MJP+EOx8="
+ },
+ "form-data": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz",
+ "integrity": "sha1-2zRaU3jYau6x7V1VO4aawZLS9e0=",
+ "dependencies": {
+ "mime": {
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA="
+ }
+ }
+ },
"forwarded": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz",
@@ -231,6 +414,28 @@
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
"integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E="
},
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "optional": true
+ },
+ "get-browser-rtc": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz",
+ "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk="
+ },
+ "get-stdin": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
+ "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g="
+ },
+ "github-from-package": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
+ "optional": true
+ },
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
@@ -241,6 +446,22 @@
"resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg="
},
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "optional": true
+ },
+ "hawk": {
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz",
+ "integrity": "sha1-mzYd7pWpMWQObVBOBWCaj8OsRdI="
+ },
+ "hoek": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz",
+ "integrity": "sha1-YPvZBFV1Qc0rh5Wr8wihs3cOFVo="
+ },
"http-errors": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
@@ -256,6 +477,17 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "optional": true
+ },
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+ },
"ipaddr.js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz",
@@ -271,6 +503,11 @@
"resolved": "https://registry.npmjs.org/is-expression/-/is-expression-2.1.0.tgz",
"integrity": "sha1-kb6dR968/vB3l36XIr5tz7RGXvA="
},
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs="
+ },
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
@@ -291,6 +528,11 @@
"resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
"integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds="
},
+ "json-stringify-safe": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz",
+ "integrity": "sha1-nbew5TDH8onF6MhDKvGRwv91pbM="
+ },
"jstransformer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
@@ -311,6 +553,21 @@
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
},
+ "lru": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz",
+ "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U="
+ },
+ "magnet-link": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/magnet-link/-/magnet-link-1.1.1.tgz",
+ "integrity": "sha1-Gh4ChaeNJYo1PqpUyS+f8FjN+Z0="
+ },
+ "magnet-uri": {
+ "version": "5.1.7",
+ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-5.1.7.tgz",
+ "integrity": "sha1-j4AWq3TEFfJ09PsZQ/qvfpIDDv8="
+ },
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -341,6 +598,23 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0="
},
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
"mongodb": {
"version": "2.2.29",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.29.tgz",
@@ -396,11 +670,50 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
+ "nan": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
+ "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
+ "optional": true
+ },
"negotiator": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
+ "node-abi": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.0.3.tgz",
+ "integrity": "sha1-DKZ+XmZ7jhNDVJyhcVOoFdC7/ao=",
+ "optional": true
+ },
+ "node-uuid": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc="
+ },
+ "noop-logger": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
+ "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
+ "optional": true
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
+ "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
+ "optional": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "oauth-sign": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz",
+ "integrity": "sha1-oOahcV2u0GLzIrYit/5a/RA1tuI="
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -416,6 +729,27 @@
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
"integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
},
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "optional": true
+ },
+ "parse-torrent": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-5.8.3.tgz",
+ "integrity": "sha1-+V7yMwEjlgneQGeUrZ+VihvKG2w="
+ },
+ "parse-torrent-file": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-4.0.3.tgz",
+ "integrity": "sha512-Ob1IK1FC165T6dslPBdgxfbQIZI1+QE0sqOfoB+YS/XfDda2Xa2xDZmE0vcGD4ei5Lw6FQYNhsHX9RzZzHwFtQ=="
+ },
"parseurl": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
@@ -431,6 +765,20 @@
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
+ "prebuild-install": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.1.2.tgz",
+ "integrity": "sha1-2a4MqFMw4Dli2TKS+VqLRMLr9QU=",
+ "optional": true,
+ "dependencies": {
+ "simple-get": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz",
+ "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=",
+ "optional": true
+ }
+ }
+ },
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
@@ -518,11 +866,33 @@
"resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.3.tgz",
"integrity": "sha1-181bI9s8qHxjbIaglz+c2OAwQ2w="
},
+ "pump": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz",
+ "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE="
+ },
"qs": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
},
+ "random-iterate": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/random-iterate/-/random-iterate-1.0.1.tgz",
+ "integrity": "sha1-99l9kt7mZl7F9toIx/ljytSyrJk="
+ },
+ "randombytes": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz",
+ "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==",
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ }
+ }
+ },
"range-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
@@ -533,6 +903,51 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
"integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y="
},
+ "rc": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "optional": true
+ },
+ "read-torrent": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/read-torrent/-/read-torrent-1.3.0.tgz",
+ "integrity": "sha1-Tg71vqbLJNMYQ+tvqFQ60CMqufQ=",
+ "dependencies": {
+ "bencode": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/bencode/-/bencode-0.7.0.tgz",
+ "integrity": "sha1-gR7WR8ARiUXkG7S7veqaLHihcIM="
+ },
+ "magnet-uri": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-2.0.1.tgz",
+ "integrity": "sha1-0zHT3804NlZa3g/DyjFeOSF7sgk="
+ },
+ "parse-torrent": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-4.1.0.tgz",
+ "integrity": "sha1-qBS9hQXotY6I64/z4tr/XRmnEbc=",
+ "dependencies": {
+ "magnet-uri": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/magnet-uri/-/magnet-uri-4.2.3.tgz",
+ "integrity": "sha1-ecxtZaALtbfvXCWuYOu7XZp2gag="
+ }
+ }
+ },
+ "parse-torrent-file": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-2.1.4.tgz",
+ "integrity": "sha1-MtS2r95jFCDl9BWRmiIrd0tXVwc="
+ },
+ "thirty-two": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-0.0.2.tgz",
+ "integrity": "sha1-QlPinYywWPBIAmfFaYwOSSflS2o="
+ }
+ }
+ },
"readable-stream": {
"version": "2.2.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz",
@@ -543,6 +958,28 @@
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
+ "request": {
+ "version": "2.16.6",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.16.6.tgz",
+ "integrity": "sha1-hy/kRa5y3iZrN4edatfclI+gHK0=",
+ "dependencies": {
+ "mime": {
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
+ "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA="
+ },
+ "qs": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz",
+ "integrity": "sha1-MbGtBYVnZRxSaSFQa5qHk5EaA4Q="
+ },
+ "tunnel-agent": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz",
+ "integrity": "sha1-aFPCr7GyEJ5FYp5JK9419Fnqaeg="
+ }
+ }
+ },
"require_optional": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
@@ -563,6 +1000,21 @@
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8="
},
+ "run-parallel": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.6.tgz",
+ "integrity": "sha1-KQA8miFj4B4tLfyQV18sbB1hoDk="
+ },
+ "run-series": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz",
+ "integrity": "sha1-iac93F51ye+KtjIMChYA1qQRebk="
+ },
+ "rusha": {
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.6.tgz",
+ "integrity": "sha1-smTdqk1JodZzAAYYWLqTWMStyhQ="
+ },
"safe-buffer": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
@@ -595,11 +1047,67 @@
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz",
"integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI="
},
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "optional": true
+ },
"setprototypeof": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
},
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "optional": true
+ },
+ "simple-concat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
+ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
+ },
+ "simple-get": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.6.0.tgz",
+ "integrity": "sha1-uwEUTbSbPUwQdhXc9I0+5ASxbgY=",
+ "dependencies": {
+ "unzip-response": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
+ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c="
+ }
+ }
+ },
+ "simple-peer": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-8.1.1.tgz",
+ "integrity": "sha512-t2zRYgj1HE5lbfkuL2bJ8s8Q60TQfPwOfDj/TA1/N/Qvi8pdj4uEU0bctrZIsHZlzuU7HM+RFR/YBbiLJjHpxQ=="
+ },
+ "simple-sha1": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.1.0.tgz",
+ "integrity": "sha1-lCe7lv8SY8wQqEFM7dUaGLkZ6LM="
+ },
+ "simple-websocket": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/simple-websocket/-/simple-websocket-5.0.2.tgz",
+ "integrity": "sha1-BA2Q3qnkGZqXYTOUzmiTLErvPUQ=",
+ "dependencies": {
+ "ws": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
+ "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA="
+ }
+ }
+ },
+ "sntp": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz",
+ "integrity": "sha1-XvSBuVGnspr/30r9fyaDj8ESD4Q="
+ },
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
@@ -622,16 +1130,65 @@
}
}
},
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M="
+ },
+ "string2compact": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/string2compact/-/string2compact-1.2.2.tgz",
+ "integrity": "sha1-Qgs6nuHEaFSRm0oq6sZcQ/pQWXs="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "optional": true
+ },
+ "tar-fs": {
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.3.tgz",
+ "integrity": "sha1-7M+TXpQUk9gVECjmNuUc5MPKfyA=",
+ "optional": true
+ },
+ "tar-stream": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz",
+ "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=",
+ "optional": true
+ },
+ "thirty-two": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz",
+ "integrity": "sha1-TKL//AKlEpDSdEueP1V2k8prYno="
+ },
"token-stream": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz",
"integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo="
},
+ "tunnel-agent": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "optional": true
+ },
"type-is": {
"version": "1.6.15",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA="
},
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -650,11 +1207,32 @@
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"optional": true
},
+ "ultron": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
+ "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
+ },
+ "unordered-array-remove": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz",
+ "integrity": "sha1-xUbo+I4xegzyZEyX7LV9umbSUO8="
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
+ "unzip-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+ "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+ "optional": true
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -675,6 +1253,12 @@
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w="
},
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "optional": true
+ },
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
@@ -690,6 +1274,21 @@
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
},
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "ws": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.0.0.tgz",
+ "integrity": "sha1-mN2wAFbIOQy3Ued4h4hJf5kQO2w="
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ },
"yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
(DIR) diff --git a/package.json b/package.json
@@ -6,10 +6,14 @@
"start": "DEBUG=seedlinux:* node ./bin/www"
},
"dependencies": {
+ "app-root-path": "^2.0.1",
+ "bittorrent-tracker": "^9.2.3",
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
+ "magnet-link": "^1.1.1",
+ "magnet-uri": "^5.1.7",
"mongodb": "^2.2.29",
"monk": "^6.0.1",
"morgan": "~1.8.1",
(DIR) diff --git a/routes/parse.js b/routes/parse.js
@@ -0,0 +1,43 @@
+var express = require('express');
+var router = express.Router();
+
+router.get('/', function (req, res) {
+
+ var magnetLink = require('magnet-link');
+ var appRoot = require('app-root-path');
+ var Tracker = require('bittorrent-tracker');
+ var magnet = require('magnet-uri');
+ var fs = require('fs');
+
+ const torrentFolder = './data/torrents';
+
+ fs.readdir(torrentFolder, (err, files) => {
+ files.forEach(file => {
+
+ magnetLink(appRoot + '/data/torrents/' + file, function (err, link) {
+
+ console.log("Magnetlink for " + file + " is " + link)
+ var parsedTorrent = magnet(link)
+
+ var opts = {
+ infoHash: parsedTorrent.infoHash,
+ announce: parsedTorrent.announce,
+ peerId: new Buffer('01234567890123456789'),
+ port: 6881
+ }
+
+ var client = new Tracker(opts)
+ client.scrape()
+ client.on('scrape', function (err, data) {
+ console.log(err,data)
+ });
+
+ });
+
+ });
+
+ });
+ res.send('GET request to the parse.')
+});
+
+module.exports = router;
(DIR) diff --git a/routes/scrape.js b/routes/scrape.js
@@ -0,0 +1,9 @@
+var express = require('express');
+var router = express.Router();
+
+router.get('/', function (req, res) {
+
+ res.send('GET request to the scraper')
+});
+
+module.exports = router;
(DIR) diff --git a/views/scrape.pug b/views/scrape.pug
@@ -0,0 +1,7 @@
+doctype html
+html(lang="en")
+ head
+ title Express Routing
+ body
+ h1 Express Routing
+ p The Definitive Guide
+\ No newline at end of file