UNPKG

get-client-ip

Version:

Get your client IP address more easily

74 lines (58 loc) 1.57 kB
# Get Client IP ## Description Get your client IP address more easily ## Installation npm: ```bash npm install get-client-ip ``` ## Usage ### Importing The Library: ```javascript // CommonJs const getClientIp = require("get-client-ip"); // ES6 import getClientIp from "get-client-ip"; ``` ### Getting The Client Ip: ```javascript app.get("/", (req, res) => { const ip = getClientIp(req); res.send(ip); }); ``` ### Headers: ```javascript //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](https://github.com/pbojinov) for the inspiration.