0.0.3 • Published 5 years ago

@xtrctio/express-auto-blacklist v0.0.3

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

express-auto-blacklist

Automatically blacklist IPs based on request patterns

Use:

const AutoBlacklist = require('@xtrctio/auto-blacklist');

const autoBlacklist = new AutoBlacklist([/some-blacklist-url/]);
app.use(autoBlacklist.check);

AutoBlacklist

Kind: global class

new AutoBlacklist(blockPatterns, maxStrikes, strikeAgeMs, maxBlockedIPs, whitelist, blacklist)

ParamTypeDefault
blockPatternsArray.<RegExp>[]
maxStrikesnumber2
strikeAgeMsnumber(1000 60 5)
maxBlockedIPsnumber100000
whitelistArray.<string>[]
blacklistArray.<string>[]

autoBlacklist.setBlockedCallback(callback)

Set callback for when an IP is blocked

Kind: instance method of AutoBlacklist

Param
callback

autoBlacklist.check(req, res, next) ⇒ *

Check if request should be blocked

Kind: instance method of AutoBlacklist

ParamType
reqRequest
resResponse
nextfunction

autoBlacklist.block(ip) ⇒ void

Add IP to the LRU blocklist

Kind: instance method of AutoBlacklist

ParamType
ipstring

autoBlacklist.strike(ip) ⇒ boolean

Apply strike to IP

Kind: instance method of AutoBlacklist

ParamType
ipstring

autoBlacklist.whitelistIP(ip) ⇒ void

Whitelist an IP

Kind: instance method of AutoBlacklist

ParamType
ipstring

autoBlacklist.blacklistIP(ip) ⇒ void

Blacklist an IP

Kind: instance method of AutoBlacklist

ParamType
ipstring

autoBlacklist.isBlocked(ip, path) ⇒ boolean

Check if request should be blocked

Kind: instance method of AutoBlacklist

ParamType
ipstring
pathstring