IP filter module for Nest framework (node.js) 🌎
IP filter module for Nest.
This module allows you to control whether certain routes can be accessed from listed addresses.
Thanks to awesometic, this module was developed with reference to his package
$ npm i --save @timi137/nestjs-ipfilter
First register the filter in app.module.ts
, The sample code shows the IP address access interface in the global deny list.
IpFilterModule.register({
isGlobal: true,
mode: 'deny',
trustProxy: true,
ip: {
list: ['127.0.0.1'],
},
})
Then add the @IpFilter()
decorator to the controller or method you want to filter.
Pass false to the decorator to prevent filtering from running on the corresponding controller or method.
@IPFilter(false)
@Get()
getHello(): string {
return 'Hello world!';
}
Name | Type | Default | Description |
---|---|---|---|
isGlobal | boolean | false | enabling this option will filter all routes |
mode | string | deny | deny or allow |
trustProxy | boolean or string[] | false | trust proxy headers |
ip.list | string[] | undefined | list of IPs |
ip.range | string[] | undefined | list of IP ranges, Only the start and end of the pass are allowed |
ip.subnet | string[] | undefined | List of subnets. The passed value must conform to the specification. |
{
isGlobal: true,
mode: 'deny',
trustProxy: true,
ip: {
list: ['127.0.0.1', '192.168.0.1'],
range: ['192.168.1.1', '192.168.1.100'],
subnet: ['192.168.0.1/24']
},
}
This project is MIT licensed.