get-client-ip
v1.1.1
Published
Get your client IP address more easily
Downloads
1,181
Readme
Get Client IP
Description
Get your client IP address more easily
Installation
npm:
npm install get-client-ip
Usage
Importing The Library:
// CommonJs
const getClientIp = require("get-client-ip");
// ES6
import getClientIp from "get-client-ip";
Getting The Client Ip:
app.get("/", (req, res) => {
const ip = getClientIp(req);
res.send(ip);
});
Headers:
//Standard headers used by Amazon EC2, Heroku, and many others.
req.headers["x-client-ip"];
//Load balancers (AWS ELB) or proxies (may return multiple IP addresses in the format: "client IP, proxy 1 IP, proxy 2 IP" so we need to pay attention).
req.headers["x-forwarded-for"];
//
req.headers["forwarded-for"];
//
req.headers["x-forwarded"];
//
req.headers.forwarded;
// Nginx proxy/FastCGI, alternative to X-Forwarded-For, used by some proxies.
req.headers["x-real-ip"];
// Cloudflare, applied to every request to the origin.
req.headers["cf-connecting-ip"];
// Fastly and Firebase hosting header (When forwarded to cloud function).
req.headers["fastly-client-ip"];
// Akamai and Cloudflare: True-Client-IP.
req.headers["true-client-ip"];
//
req.headers["x-cluster-client-ip"];
// Google App Engine app identity.
req.headers["x-appengine-user-ip"];
// Cloudflare fallback header.
req.headers["Cf-Pseudo-IPv4"];
//
req.connection.remoteAddress;
//
req.connection.socket.remoteAddress;
//
req.socket.remoteAddress;
Credits:
We want to thank Petar Bojinov for the inspiration.