0.0.3 • Published 5 years ago
@xtrctio/express-auto-blacklist v0.0.3
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)
Param | Type | Default |
---|---|---|
blockPatterns | Array.<RegExp> | [] |
maxStrikes | number | 2 |
strikeAgeMs | number | (1000 60 5) |
maxBlockedIPs | number | 100000 |
whitelist | Array.<string> | [] |
blacklist | Array.<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
Param | Type |
---|---|
req | Request |
res | Response |
next | function |
autoBlacklist.block(ip) ⇒ void
Add IP to the LRU blocklist
Kind: instance method of AutoBlacklist
Param | Type |
---|---|
ip | string |
autoBlacklist.strike(ip) ⇒ boolean
Apply strike to IP
Kind: instance method of AutoBlacklist
Param | Type |
---|---|
ip | string |
autoBlacklist.whitelistIP(ip) ⇒ void
Whitelist an IP
Kind: instance method of AutoBlacklist
Param | Type |
---|---|
ip | string |
autoBlacklist.blacklistIP(ip) ⇒ void
Blacklist an IP
Kind: instance method of AutoBlacklist
Param | Type |
---|---|
ip | string |
autoBlacklist.isBlocked(ip, path) ⇒ boolean
Check if request should be blocked
Kind: instance method of AutoBlacklist
Param | Type |
---|---|
ip | string |
path | string |