ip-blacklist

1.0.2 • Public • Published

ip-blacklist

Build Status David Coveralls npm npm GitHub issues

Basic middleware for blacklisting ip addresses

Usage

Install and save the package to your project npm i --save ip-blacklist

const ipBlacklist = require('ip-blacklist'), path = require('path');
 
// Use the predefined array callback
// NOTE: Changes in the array you pass to ipBlacklist.array will not be considered!
app.use(ipBlacklist(ipBlacklist.array(['127.0.0.1', '::1'])));
 
// Use the predefined file callback
// NOTE: One line in the file represents an IP address
app.use(ipBlacklist(ipBlacklist.file(path.join(__dirname, 'blacklist.txt'))));
 
// Create your own callback
app.use(ipBlacklist(ip => {
    return ip === '192.168.178.1' || ip === '192.168.178.2';
}));
 
// Chain multiple callbacks
app.use(ipBlacklist(ipBlacklist.chain(
    ipBlacklist.file(path.join(__dirname, 'blacklist-a.txt')),
    ipBlacklist.file(path.join(__dirname, 'blacklist-b.txt'))
)));

More advanced usage

const ipBlacklist = require('ip-blacklist');
 
let blacklist = [];
 
app.use(ipBlacklist(ip => {
    return blacklist.indexOf(ip) !== -1;
}));
app.post('/api/blacklist/:ip', (req, res) => {
    blacklist.push(req.params.ip);
    res.end('Added IP to blacklist');
});
app.get('/api/blacklist', (req, res) => {
    res.json(blacklist);
});

Readme

Keywords

Package Sidebar

Install

npm i ip-blacklist

Weekly Downloads

7

Version

1.0.2

License

MIT

Last publish

Collaborators

  • mbrandau