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