Needling Perl Mongers

    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);
    });

    Install

    npm i ip-blacklist

    DownloadsWeekly Downloads

    8

    Version

    1.0.2

    License

    MIT

    Last publish

    Collaborators

    • mbrandau