0.1.5 • Published 9 months ago

@timi137/nestjs-ipfilter v0.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Description

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

Installation

$ npm i --save @timi137/nestjs-ipfilter

Quick Start

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!';
}

Options

NameTypeDefaultDescription
isGlobalbooleanfalseenabling this option will filter all routes
modestringdenydeny or allow
trustProxyboolean or string[]falsetrust proxy headers
ip.liststring[]undefinedlist of IPs
ip.rangestring[]undefinedlist of IP ranges, Only the start and end of the pass are allowed
ip.subnetstring[]undefinedList of subnets. The passed value must conform to the specification.

Example Options

{
  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']
  },
}

License

This project is MIT licensed.

0.1.5

9 months ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago