https://github.com/muniftanjim/express-brute-lowdb
A lowdb storage adapter for express-brute middleware
https://github.com/muniftanjim/express-brute-lowdb
express express-brute lowdb nodejs
Last synced: about 1 month ago
JSON representation
A lowdb storage adapter for express-brute middleware
- Host: GitHub
- URL: https://github.com/muniftanjim/express-brute-lowdb
- Owner: MunifTanjim
- License: mit
- Created: 2018-05-05T03:18:46.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-09T10:50:35.000Z (about 8 years ago)
- Last Synced: 2025-04-02T11:49:03.295Z (about 1 year ago)
- Topics: express, express-brute, lowdb, nodejs
- Language: JavaScript
- Size: 36.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/MunifTanjim/express-brute-lowdb/releases/latest)
[](https://github.com/MunifTanjim/express-brute-lowdb/releases)
[](https://github.com/MunifTanjim/express-brute-lowdb/blob/master/LICENSE)
# express-brute-lowdb
A [lowdb](https://github.com/typicode/lowdb) storage adapter for [express-brute](https://github.com/AdamPflug/express-brute) middleware
## Installation
via **npm**:
```shell
$ npm install express-brute-lowdb
```
via **yarn**:
```shell
$ yarn add express-brute-lowdb
```
## Usage
```js
const ExpressBrute = require('express-brute')
const LowdbStore = require('express-brute-lowdb');
const store = new LowdbStore();
const bruteforce = new ExpressBrute(store);
app.post('/auth',
bruteforce.prevent,
(req, res, next) => {
res.send('Success!')
}
);
```
## Options
Available options:
| Name | Type | Description | Required
| ------------- | ---------- |-------------------------------------- | ----------
| `prefix` | `String` | Prefix for each lowdb key | _false_
| `adapter` | `Function` | lowdb adapter Constructor | _false_
| `adapterArgs` | `Array` | Arguments for adapter Constructor | _false_
| `rootKey` | `String` | name for database objects's root key | _false_
Example:
```js
const Memory = require('lowdb/adapters/Memory') // or
const FileSync = require('lowdb/adapters/FileSync')
// defaults:
const options = {
prefix: '',
adapter: Memory, // only `Memory` & `FileSync` adapters are currently supported
adapterArgs: ['express-brute.json'],
rootKey: 'express-brute'
}
const store = new LowdbStore(options);
```
**N.B.**: lowdb's `Memory` adapter is not suitable for production usage
### Useful Links
- [lowdb Adapters API](https://github.com/typicode/lowdb#adapters-api)
## Changelog
[Changelog for express-brute-lowdb](https://github.com/MunifTanjim/express-brute-lowdb/blob/master/CHANGELOG.md)
## License
Licensed under the MIT License. Check the [LICENSE](https://github.com/MunifTanjim/express-brute-lowdb/blob/master/LICENSE) file for details.