InstallMiddleware for koa that filters IPs against glob patterns, RegExp, string or array of globs. Support custom
403 Forbidden
message and custom ID.
npm i koa-ip-filter --save
Features
403 Forbidden
response, through opts.forbidden
this.ip
, through opts.id
opts.strict: false
if it's not IP403 Forbidden
that not match to filterUsageNotice: In the next middleware you will have
this.filter
method which is ip-filter andthis.identifier
- the IP/ID that passed the given filter
For more use-cases see the tests
koaIpFilterconst koaIpFilter = require('koa-ip-filter')
Filtering incoming request with glob patterns array, regexp, string or matcher function
Params
options
{Object}
id
{Function}: custom identifier, defaults to this.ip
strict
{Boolean}: to throw when not valid IPv4/IPv6? default true
filter
{Array|String|RegExp|Function}: black/white list filterforbidden
{String|Function}: custom message when 403 Forbidden
responsereturns
{GeneratorFunction}Example
One more example'use strict'
Â
var koa = require('koa')
var ipFilter = require('koa-ip-filter')
var helloWorld = require('koa-hello-world')
Â
var app = koa()
Â
app
.use(ipFilter({
  forbidden: '403: Get out of here!',
  filter: ['127.??.6*.12', '!1.2.*.4']
}))
.use(helloWorld())
Â
app.listen(1234)
console.log('koa server start listening on http://localhost:1234')
Â
If you want to allow all IPs, but want to restrict only some range
Related'use strict'
Â
var koa = require('koa')
var ipFilter = require('koa-ip-filter')
var helloWorld = require('koa-hello-world')
Â
var app = koa()
Â
app
.use(ipFilter({
  forbidden: '403: Get out of here!',
  filter: ['*', '!213.15.*']
}))
.use(helloWorld())
Â
app.listen(1234)
console.log('koa server start listening on http://localhost:1234')
Â
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4