UNPKG

@catho/request-public-ip

Version:

Node.js module for retrieving a request's public IP address

17 lines (14 loc) 402 B
import privateIp from 'private-ip'; import ipRegex from 'ip-regex'; import ipaddr from 'ipaddr.js'; function isPublicIp(ip) { return isIp(ip) && !privateIp(ip); } function isIp(str) { if (!ipaddr.isValid(str)) { return false; } const kind = ipaddr.parse(str).kind(); return kind === "ipv4" ? ipRegex.v4().test(str) : ipRegex.v6().test(str); } export { isIp, isPublicIp };