diff --git a/.travis.yml b/.travis.yml index ef70c5eb..2c5ac721 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,6 @@ env: global: - CXX=g++-4.8 - secure: VCgscCCKhvHu0tW8e3jo6wydckE6jDkEfC2Zd5aSZytYAex05qahU45cmksqMIT1uBCcC4CKRK4caoKac/+818EyKBTV+vAL74cMMc8NeLNVY2m50+ohu8GYu+ByIffttK7cnXN7xIzyuK4csI7qz84jxLW0KYgYQ+6SPbUG3Hy6gr0P0CztNmAFfyhTam4OKSIiXyvQZW0fZoSruOpUYS5pxvCBi4AxpRY8+6IxCL8xYqF49P0l28nn0C/NYUklwag6l4JF32PrcLAU5S+NIXXgJX499cZO4C2m2GljJeolbvGue3ZEtadv5NkmQuFQ1WGb5aURHPkll0hXsWKxT0bH9P1a4Gt1h/J885acWG4U6QZA1Zds/Z4ymNeLA0MzzoAaDK1q8sRglhDJnZYb4Zm5jy7ZA3vFwb+zcGaOT//pCVpcsZINRnd0Qu9LC5NKPrfmyFAAMAXDdo78BEnwryUviWP5976JZmQAfDIWvmGGTs5i1yjiTRi+NVgH0YpfxtI9MTEJo++r5/zNH/jewxj1D8esaamphp6mQvxvpl388veQDw3REUZQ49muzrdK2YYmVRkzLfH2uMsHInN3WqEl3/mTpH76u0nlxMF6HlrVdgB2UNPjlXbSooWXLfdAw98NpCZ7BAFcCcT8Oa9cYw+40rJrdfem5J2EimG5ltw= - - secure: msnBRkjis9v8Orlkubhla/HaniYPYsPgCzFIsS/BJW9HiiUdYm89M2YbNcJvo0s0otG/ta8r+oPzbd2jW7gndW8iUTrgwtMzBPSm674qXMAocRQKCHZa8BZGFMML5CYErUZm6ZDN9SIXq+s//igKnU+QLQmYUhsIeOFS+tIidGCwExu0ppXqUViuWVZpK37c/6/9SxRB0RMUwOaBiRwAThb8VM+ZfnYxxwMSfWT01zySWw2QAVKKLubeuXuOI8ci6OY+FcxcS0HB6XFaUH5YFrTw6KLqF/gxx2HgS5LI+6hn5ko5KQu2V5+ZS4VFRkwnjzSxNIdtEZnqd0qj+qVnEO7R1GnluKfqgTSb2GuzKhaIjUO+dB0gVqwY31wfNAwjCLNMY98ZMv9nJbv9l5iTJqMjCLPvdAmUuFJBCXoX98jDMiSfN3z+4VFVJapt70BENzP51gtj2qf3zsLfYhTQxwozuZvxt/koP1+HfdJhskBG734qioc49VO5Sqsj8OwkbVyl55mHCkkAXFyxAbO8eoSmK9ZhhZ7AbypCYVvmsMbjDRlmHCxXiG9DpVWiajeYKBeK+KEzQ2nKDrz5POHHY7PHXaZsNDMoIuigPdOr2AUVPMjsr74KJL49HowR+UF0zq4PDKHxp9wXlt50JPhfsvm7m//8/1XefVpJWUco0vM= - secure: afxMIIz9YeKKBc0WdafTrQorzsIZSEM8wqUB3ffrC41s+FEXl4VGIl8ZxKWZ/k2W+y7qCWSVfS4vMHv6CYy++Xq87NUczWPqFq99QXNHYpXWD0JK3clLY1DADuRDYeVA/kGkjH3MAAVd5s4I8TK7cmLwZDiwT7ybiYGLnAeQPR5IK1p/WwULEE+UTvSXudKfQIpi8K/EjbjLcB+EcDFPngAvX0LW6qXn0E+Z9NG6aru7/QhCTkHTYIc6k6r/bzWKhRAp+XaA184GxsyxNvIWTiBpeVK8XwDORkotobvgvDoz8uQHMjldtNFg5BL386WjNSh0Ljg242GQVTpbh0ju9F4XC7GN11tRDHwOBbSLa+X/sBomyONgBAve6roqtiQgZ3T92SycyjW06vhG7akC+yAKnAKVL+JdWWvg4qPhppKRAa57/5Se9GlAthSXvhfGvkaKtA4IUq9Jr7FksF4f+tCkSfNeJBYnlV+c/oBY7ZZ9gMUslXuDtv8Dbgp2aa4ELeA9R0U+5Ac42JzzbfojwOaLpEvFYs2cdZybOPlUq/EO/rx2Oxi9Xk2oPL4UW9xV5ZlwYmCw/rXpzSWo4dl4i0tEPN+5ZPtgQGz5pIBeI0LGGvEhCya/Tg+Xc9Bd7/0Ox7cLgNk0vrTEVjW+Z/b3XMhVwVlwmTuVM5wylzaZRcc= cache: directories: diff --git a/controllers/auth.js b/controllers/auth.js index e9512968..d08eb5ad 100644 --- a/controllers/auth.js +++ b/controllers/auth.js @@ -2,17 +2,13 @@ var express = require('express'); var router = express.Router(); var passport = require('passport'); var ExpressBrute = require('express-brute'); -var ExpressBruteMongoStore = require('express-brute-mongo'); +var ExpressBruteMongooseStore = require('express-brute-mongoose'); var moment = require('moment'); /** * Setup Express-Brute */ -var EBstore = new ExpressBruteMongoStore((ready) => { - db.onReady.then(() => { - ready(db.connection.collection('bruteforce-store')); - }); -}); +var EBstore = new ExpressBruteMongooseStore(db.Bruteforce); var bruteforce = new ExpressBrute(EBstore, { freeRetries: 5, minWait: 60 * 1000, diff --git a/models/bruteforce.js b/models/bruteforce.js new file mode 100644 index 00000000..8f59b6e3 --- /dev/null +++ b/models/bruteforce.js @@ -0,0 +1,20 @@ +"use strict"; + +const modb = require('mongoose'); + +/** + * BruteForce schema + * + * @type {} + */ +var bruteForceSchema = modb.Schema({ + _id: { type: String, index: 1 }, + data: { + count: Number, + lastRequest: Date, + firstRequest: Date + }, + expires: { type: Date, index: { expires: '1d' } } +}); + +module.exports = modb.model('Bruteforce', bruteForceSchema); \ No newline at end of file diff --git a/package.json b/package.json index 1c1dc668..bf17ba9a 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "cron": "^1.1.1", "express": "^4.14.0", "express-brute": "^1.0.0", - "express-brute-mongo": "^0.1.0", + "express-brute-mongoose": "0.0.6", "express-session": "^1.14.1", "farmhash": "^1.2.1", "file-type": "^3.8.0",