2.1.2 • Published 2 months ago

@loxjs/express-client-ip v2.1.2

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

@loxjs/express-client-ip

@loxjs/express-client-ip is an npm module for obtaining a client's IP address in Express.js applications. It accounts for requests forwarded by proxy servers, such as Caddy, Nginx, Apache, CloudFlare, etc., and attempts to extract the original client IP address from various HTTP header fields.

Features

  • Retrieves IP addresses from HTTP headers like X-Real-IP, X-Forwarded-For, CF-Connecting-IP, and others.
  • Compatible with both IPv4 and IPv6 addresses.
  • Provides middleware function for easy integration into Express.js applications.
  • Automatically handles scenarios involving multiple proxy servers.
  • Returns the client's IP address for a request or null if undetermined.

Installation

Install using npm:

npm install @loxjs/express-client-ip

Or with yarn:

yarn add @loxjs/express-client-ip

Usage

As Middleware

In your Express.js application, you can use @loxjs/express-client-ip as middleware to set the req.clientIp property on every request.

const express = require('express');
const getClientIP = require('@loxjs/express-client-ip');

const app = express();

// Apply middleware
app.use(getClientIP.middleware);

app.get('/', (req, res) => {
  res.send(`Your IP is: ${req.clientIp}`);
});

app.listen(3000);

As a Function

You can also directly call the getIP function to obtain the client's IP address.

const getClientIP = require('@loxjs/express-client-ip');

app.get('/some-path', (req, res) => {
  const ip = getClientIP(req);
  res.send(`Your IP is: ${ip}`);
});

API Reference

getIP Function

  • getIP(req): Extracts the client IP address from the request object.
    • req: The request object from Express.js.

getIP.middleware Function

  • getIP.middleware: An Express.js middleware that adds the client's IP address to the req.clientIp property.

Contributing

Contributions to @loxjs/express-client-ip are welcome! Please ensure that your contributions adhere to the following guidelines:

  • Write clear, readable, and maintainable code.
  • Follow existing coding styles and practices.
  • Write meaningful commit messages.
  • Update the documentation accordingly.

For more detailed information, please read the contributing guide.

Enjoy using @loxjs/express-client-ip!

2.1.2

2 months ago

2.1.1

2 months ago

2.0.2

2 months ago

2.1.0

2 months ago

2.0.1

2 months ago

2.0.0

5 years ago

1.0.0

5 years ago