{"_id":"get-client-ip","_rev":"32-eed2ea3d192956e6b67a0fd00c30b9d8","name":"get-client-ip","dist-tags":{"latest":"4.0.0","beta":"4.0.0-beta.2"},"versions":{"0.0.1":{"name":"get-client-ip","version":"0.0.1","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.1","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"5242b689c6feaef1faed228c68cc502e63e3b387","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.1.tgz","fileCount":15,"integrity":"sha512-vKn3RsXhx7IGSRkgDN3lCnb7ZnKAtia+DJGbq6D7CXIzQv+m8nNVipVK3XVs01/Zr/TZlzUfaK0hApUdMJhSzw==","signatures":[{"sig":"MEUCIEFSZBKmM+02akqXBc+sNRDvXhHdT6nJeO5xKIa3oC1wAiEAm300Q0hqMfZDz+dCsAHok85rcjyjGd1uJJsTwp4ZbAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRZ+OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUYQ/9FBixzkbVkr4vAZvWp3hv2iWw9bWy2gHwc4Neciqc6gB4yq9a\r\niwtQg9yfFhSyJsMqbALgiHs61Ez5uNQcBxebHCE55aeRfCFWnWzy7QpLBigh\r\nY1joLofW8oS3feb/0LVoOlYOyvcbwCc9qbMOmL/7PCZHok0klVQeNi+ugAsz\r\nRVETKnC7lvlFAQnlIyj/KNafA2eUmsCRqRx0SMXDMEYNZsX2tqHbjTnaifNi\r\nz5qQjqDPJ1oAg7TPG0rhST32mSBXyksGXtakT5lJ7TYDmgxuV8VZf36hX/W6\r\nVefVMrE33A3NzeW4xQ5UeLq4bLbmu3ZMtnLNzGVa4OZPvaIUj+Xcio8BbANe\r\nUU1X2DWSoyjmWx5UxV9E3y7isQ5M3ee7VsxHTk41JVWHWZSoXmsBU3ZVcWUr\r\nzKPfpox8i0wELNr4P+pFdBWQpCYHZoTu4muXllLGuIM9OaiW1/vFAZX8vBUR\r\nCqffhNmKu68Pf/yWCek6mMC3Xokh2wU/nAkfMA0e94lrpALTmTKVKEmkDiRI\r\nxbx98uW72fAdcU2VMocI6UIIuyNjWxLiDmIrC43ue374GmArxxwF8cmjpt99\r\nXMk7wu+XiblnynYKk2yD8c+zSHJuUsih0z44lbpLAOYZKl7X6oQZ/PZgjl+7\r\nLEmrHeG2walBIxzdl9mgzDOzv4b0fjKt9wk=\r\n=Nlw2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/cjs/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"1da5aec87a9622ebe13eb528d3974cfc68c8bf32","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && mv ./dist/esm/index.js ./dist/esm/index.mjs","build:esm":"tsc -p tsconfig.esm.json","lint:eslint":"eslint .","lint:prettier":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.1_1665507214252_0.6077239886395662","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"get-client-ip","version":"0.0.2","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.2","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"87864e9cd08a3189955bf60c8bb9e5473b7a090e","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.2.tgz","fileCount":15,"integrity":"sha512-GOwql8IIPMIaVoYLDd9vHvohFx0QNch1wZi5ZgdYd7tzjqK2EMoB3tscCek3/lttcdqLZ45o1Aoz8DBuOyU8ZA==","signatures":[{"sig":"MEYCIQDkxNU3nqC9oFMtVNPLS8aAuC271LsdXbjsFLc1yT84sQIhAO8CFHtsodYx3hsY7ArLZFKzpRfN/QbRo0fyL/zqCe6D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRaF/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2Zw//UDGWS+zwCupzf96TUAJEnFE9LHixeuzHZToc7MmbUeiA0tTD\r\nLMIAJGoMqEI4m9gs7l2d3SojgcCgZAc6Mpu/XZn8OgoxyF3yIealzAJGpLbG\r\nPJkmqwxmRuYMTY+T5ndsR+9DNpSHPl8GBP35ZpQEuXiVcN5y7QoVvCMy4d0r\r\noZ3DCOKv5HNCmtNHRU21hwITDzXPfhX0zWmag07KUnwx3dOR2B4rI4Ejc8+h\r\nVhskszbtIIWLwuFXgfKYMDpQqcjx1rrWnsCKy9pOnHR2zEKd/Z2/426QH6NH\r\nuY88SvjxVV4WEl9LYdSo9oGP8A23GQ8GZrQ+qI4+hhgcYryi8WUQpz+iTsxu\r\n9UM+Vr0++9WwzFPc8g/pD7Mhy6Om6zd2NePJMDEUvjZsE0dL2rzWM2uPwO4z\r\nTeimCWa+6nRY5OEvxUjkshOABRBDhmgrZEUP4B9r6srdFdcBvKOQqMsxQKk/\r\nCMf7k9XH8IbsuNzgq7saaVPk6Udpn40z1epV2H0DwDJapLYPBDawkY8P0jCy\r\nueP7nVlYIk1eQQQ3Ed9VDFEym1KZslGQUZ3Ja/sGlGCpstaZ7UevdbdYPno+\r\na1vQdsRmTNjyDqus+h5YGNGzLGNIXczEFzd8XmRVQM3SFG4+RuiW/9QgvuyJ\r\nJF2nFbgonb92Gqy1oesn5XfZlTPl8fu+U7Q=\r\n=QFAJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/cjs/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"615a2adf51d7e2ac6ecf445a0ea9c571fb210db4","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && mv ./dist/esm/index.js ./dist/esm/index.mjs","build:esm":"tsc -p tsconfig.esm.json","lint:eslint":"eslint .","lint:prettier":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.2_1665507710891_0.6884671064653425","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"get-client-ip","version":"0.0.3","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.3","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"618f123eda492da5a0241f77c6d50a3f3b719975","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.3.tgz","fileCount":16,"integrity":"sha512-6V7ezjA5+iYS02N9+kelROdbu5TK2bmnovGpOZAsgqyrKwTpPBoaaN2s/xJBaoN+kKEWmPbzxRi1yyX9C8pCOQ==","signatures":[{"sig":"MEYCIQDAeFpcOqODnHZx7LonnlnEcABQZ5oI3TXFT6UQ5jsJjQIhANk0uKUjJz7ROnbWKf95F0lgzQaOMTsnbypr66/JodET","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRfVVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyUBAAjtxMfS08p6VCjBFe7Bctoxk3GgGC6YO7F2Ikdz9mmC1S+UyB\r\nSTOrw8LCZ7WDhUjMNm5FBjKYcL4/o37pa5ry5uy3O431CR3oQ2l5MY1UOs+v\r\nedauoycyacg0D4IAm2ZW5Ews0glH3Qj3LHPKnUdVncYFTSbSjTyCORbPok6/\r\nBUd6zTa7vJFY8t578XFrE6f61nfjoQTjqIbKo5jsME3UFACO8pqQPWUaUq0j\r\nQWpRBfVtKl8lMxB48Xj2EJNiloxcTEJueWldmWs8Iw6+KPSY02koCTSQDdle\r\nP+frS1MjSmQavB0r+LKi8uzfW9DfZEe+vee1QTzLhFSxcsQba2glaf1K2EWq\r\nUg5KnqRVTEWxAqp8GEOFLr1YmURG2yWEL4efKHxPFczykZmgJK0VxXyyzRxV\r\n+H7kkGMPqXWFcbDiyzq7Lt3D5wdQQFnYrje+6sK4DKUAL6JmSTfV0rl29nkJ\r\nJz+VNDuI7VqodnlvsdSdtxxAVt7m4/pcLeqAzfK7wQ+HXU2d8uPIHLdjPbzJ\r\nroTd/NFW2YVRN/LX2xERybAvrp+mjT9cw1Dt3Z1XqzKb9P558oPjESKpVGQw\r\nfR0bBD8BesoLxs+2qAC6nOS9KHvK5sq/FVMcj9n52JylUP3QYrBNSE3NY+4d\r\nTQvMzf4IoQ5aa4KMLLm8H+si9v+vy+atpD8=\r\n=pzZR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/cjs/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"4da34df76789edff1e9cbd459e03c2be487ebebb","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","lint:eslint":"eslint .","lint:prettier":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.3_1665529173550_0.8028860959985087","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"get-client-ip","version":"0.0.4","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.4","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"d6531f2f040c4fc63aa995e82421bf2f4c54e936","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.4.tgz","fileCount":15,"integrity":"sha512-m2BQTSGF6Sx1WFGcDTDij/iJtVzgR+3pwadz2JuJzDJUXnT8XUwTNBdrtIAJj+6Qvy6JFBg3dERtM2g2LsxHSw==","signatures":[{"sig":"MEQCIHV75siTYTcAx0ncHNBQU9NHe3LPC1RVwS0q25jiKbv5AiAv0RF84ovzZeW9qJBXJo9t7opLJ4OfhzAQAlhm7ob6/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRfXqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpm1A//b4yCdapQO5xkIGba263gVQBg63S99d6/oTrqKd7b2JXgpc+b\r\nF+ZcusC+o3BGV8m93Yy4cuGzbrxwIYOH3FDmBP9Kbj+/WhTKo/QeQzikt52P\r\nYRqtrBF+d8qCF/A2wGMkg7uFC/9YvB0PJ4QfuwSzU4aqOypX0HDqb5fZlgOp\r\nmEC81g4XBhMEFhDpfknp5tWRyVe5O0euUpzxb+r4ifSgIDtwr1HOIOe5Hvur\r\nlbIDqHUfN8m5FxwWlKYZh6NPZ9zvrka/i3GI9jeldTA59fyPFpszK95/BLCl\r\nRlssrXe29WKlNt9HsUl/S0lG2Km/OxToxAmaEXm7MDk/fpuNgWLBe075I/kX\r\nCgkXNgOFytvWusWDbS35AFfhH3Poj7zLiMo6JO9Dw0+kBHLvziMFuFYtqPuU\r\nQpW0F9j6zQXV8wS/wm/QhjzfhYE1wozERHWF4cGm0bnwAx7PefTQlFXvHiE3\r\nxGLtDBHKxOlzAjUbFdKg5TRkTIxxVKV8uOnvY3XmYQS2WjJdaIIrp8ymMoT9\r\nYkytKsGG9a67CDD4F6IE23gjJGQeOdITzK1FgwSmNgBjPmOTte2JK0JYOX2g\r\nH3eB0txa6+p1aw4rKCvr3un0F8V8T4DCWv8Iqng6oR4CHCOW6Hel6GrdzA4r\r\n45mgDDiV7ZhhDkXMP6Y/6GyaTaFBtvy0nuA=\r\n=jsqv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/cjs/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"8fac35632037180f5096b4ea0d7c8295beeca3a0","scripts":{"lint":"npm run lint:eslint && npm run lint:prettier","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","lint:eslint":"eslint .","lint:prettier":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.4_1665529322300_0.22368450004659723","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"get-client-ip","version":"0.0.6","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.6","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"a02b02a4406f02347077d5603d6c6640a88f8910","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.6.tgz","fileCount":15,"integrity":"sha512-bQd3Vn3ShcFMPC1Ac29Vmgb1+LUxSxa48d3p0PZzAckg7EgJkwcXxbnjV7g6tt971b0OF6Ff/HkkNviiQi/BzA==","signatures":[{"sig":"MEUCIH+0uhXDqbHQxa5FYEwQh1acoXOKRtfmqUU7tCQmfLgrAiEAvGCZGgi5gPmXizNzrzaSnf1S4uOgP0Z6yeEXo/XCGzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRf95ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpspw//YHuG8xl3CzIv+IaK42eSYHxfuXUbQgs6w3opz4RZJi+gJunK\r\nzySk9ENcdNTdFCW9V+C9ziXzLY5IOmF5CRgCIvzuIg1LG4zyirAexsJ2VPUd\r\n/150XI56xvhhKmsIxYZgnx9oS7HRIRLaQZVWzCeEc3spJ/D8bX2UoxLOkAnL\r\nEKz52iM4+qYQoQufS52k9wyQh++dgxbJDbeXoMZZ1kau0zUEdqNl30dp1jgu\r\nXLcSFwvkn/zwtIR2VjtM2znm4lwXWheSgx0XDDr5XlBN+OPloJBQUWRvKMZA\r\n8eAao9LvqxNYmHLIq8c61cUJR4wXWbjhqyaHwpVNj0PR9betnkZgV3z6D6Gh\r\nj+maFhgc5/OL3yfhEgUG5E4jGAQtclZ74Aoohh4P0q48IWQLHvOaYrOydCB5\r\nuWjVPtMe2xJAf/StP1wgXvGXX0TUKvrVJPBoUTvrfppLczZed9tFKfwqtgly\r\ntRB+3S9SmMVOVKU1+Z7Kvnh9zuiSqDrHGUnDCfclhxGYzmDnmtJYFXcofDAp\r\nnaqNH4U9+7wZVKd6P6Kb+m5vYwZJ0BOtBOWtpTjTpj5z73ixvyT69WlthMla\r\nnsuzD7NIxf4NOoxxdVTtGRagnoWjdM4JB1hzalijY0bjnwnV5KYkUc9wz+Qj\r\nwl7u1rE9mv56mEoXxI7GgNese5Kv8/3hSNU=\r\n=RQh9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d15b0d24b68fa9849dbb5c13ce72ec8bf03b8015","scripts":{"lint":"eslint . && prettier --check .","test":"jest","build":"tsc -p tsconfig.esm.json && tsc -p tsconfig.cjs.json","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.6_1665531769467_0.41313290000291136","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"get-client-ip","version":"0.0.7","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.7","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"4588bea43b414bc20cb5d6e5539f21578d9d3f4a","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.7.tgz","fileCount":15,"integrity":"sha512-g5pHy76IBa8vJKeCN7VkL/bbRwzW9hfycJ8EfdDicywVuBmZr5VfCSJz0dobK0St1UFjI2bPifRDiq+TqJn1ig==","signatures":[{"sig":"MEQCIEi/amTOQPv/mrFmqTT1VWU6fSaSATj/OSa4l5vDK9mDAiBpQ6XHcgRjhKvOfYTv8GTeN+qL22P0PQVhLX7YbuEcCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRgGaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrI3BAAhfnOD1oIfVvTlicIOfSKNKQ/kfNUQxo8wXt6sssKyb4mkn7W\r\nGsa7EsJY19JXqkqonCOtMxIUtbfIMUXevGwR9KBO1s8uU32HG8tzILbEnVCW\r\nC6OkT2kajVt2VpyNRJRs9jjGlKeIYokIfR3y+8YexlfQ5CM8fEAjtrgkUnH2\r\nFNtnMe8rzu/qZBYd1rn8DPnbi47gZ//SsTUL0yieOj2OK8tYkwC5FJmH30Is\r\nvb4cDp6jpE3O5SX7pdGje+g/JF16g+XNKvlDhVOzrqFlEg8lfBehNd5lJQfi\r\nQocRQxAdOTrIkn2flVcnwh+0UNbvOW2vPBitym7AGn08MCUUKgARiTltXTz0\r\nW2cn0I7Aw0GcgbMv5btmoLAAPLpw2GiKGr9achVNEq1Vgx9FfHYWdQBW6g9F\r\nriCA5WtKfm6x5pTbQyhO21nmxivbjAPEvFgdU2ro2NWKgSwSC3lNBt/X7jQI\r\nN263PpW32TAoZdDes3Wg5rrPuPlarVWYVmqLPci8MIVucM9XfaO5PBpV8O4Q\r\nOVhbdsR6YxwVkewuOWKHbknYpgi8/Mcabyi3dO6ctcm0u/LmEIf4No8tyknp\r\nHEP7kCiXvbQru9Xeq+s34gJ9zvzL7pxsi65Vim31wJUYi1kWHEvfNLKcNWqy\r\npgMk9evbwJHe5YRSmCyo4sQQ9rl35jHjCbs=\r\n=EfSa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"2ed36f90d15e180111abc818eaea4b712dbae752","scripts":{"lint":"eslint . && prettier --check .","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/esm/index.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.7_1665532314811_0.08374133077550616","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"get-client-ip","version":"0.0.8","keywords":["ip","get-client-ip","express","request","nodejs","typescript"],"license":"ISC","_id":"get-client-ip@0.0.8","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"f08bfceeab6b5af56377135d211d58b14ec41664","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.0.8.tgz","fileCount":15,"integrity":"sha512-BIRxMSVHOPWhgcDL1lg5cT0NzhoFHkBDi/T5l3Qp4y5KVUm0tOiZ38xZXTFaJXuCCHVwSBs5e10ObGMaZ2EGBQ==","signatures":[{"sig":"MEUCICS9FPG2fEXQCGQ5j22isEZo4L17vHhysmIQKNRVCe9mAiEAiQBhlHv/OU4DEMAtnCP4oNOqCD4oqlykzxidCo9lljg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRgUMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmps+A/9G0gCGXu+S03JGBlrV5TG+odNPn9e3vUot96XiAawfWXaO1y1\r\nNG9BE3CbGA867OVFB+WbSrszPJhAwVHEABQp/GdaF52LhZ+HG5XDSYyubiH4\r\n3WPxg0bIZxOIEPpiJNggMmk0BHoRVXgAfp/bKfOiBwWeRc3HSJtnvwQXffoS\r\nCrLTmdS9tGPcL6d7ZQW5GCeCnuRDWZIs0WBh/S7TbYPnP10ufx5esqedp6c0\r\n0Crmz7dVi6vmA27aqxAZEKCaA4PbZG2TFX6RysmhMQYwGpYYAJCl0Ans6CRW\r\nUQ+XpuZ3L4br1ezbUgVM3N5b/cI4P1LM9Uf23gn+YWHV+BrCWxDDvdeUZqcj\r\npQ3WlG+l4G7b/KWu9NKauVvj4LRmF7p1t3A/u8OQh6F0gp5bkmp5NH0JlNbr\r\nUs+e6XM+WTpnCbvmJYfOq5xP8o3fD2bvMAuLaX6L3ZS/eaDBvi2zlUIjKaDa\r\n7s16beH/zdrp8JuwBBonvZjFtaEk8nTrkyt4glhMJYtudH+xgOdiJ3x6Wv+m\r\nx4Fe5DHKo1x6lvn/B4T0d8MF/cTHeMfgb7FUKbLz2+e8+AqGDC4bm6QEy9Tk\r\nHS5PjnD8pmaUdpfQqNYzvOP6HhvoKOQvNqqejBKYGgEdeYUu+V/LVXAu4Exu\r\nVumTAjaeMBe4PtfwcdEZSkD8XuDZ0Jy/KIw=\r\n=6XSC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"engines":{"node":">=16.0.0"},"exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cb0186689df9af55c9e5f88d8e368cf4a1b5b38b","scripts":{"lint":"eslint . && prettier --check .","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && mv dist/esm/index.js dist/esm/index.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.0.8_1665533195870_0.06593490235939625","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"get-client-ip","version":"0.1.0","keywords":[],"license":"ISC","_id":"get-client-ip@0.1.0","maintainers":[{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"5a7f01d77413648881cff7dd6b7d22a047d6972e","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.0.tgz","fileCount":9,"integrity":"sha512-8AnGgRLcgNkCVB/IFuPbznaIVA8noBoeAr21xGJRtLush9+rUeCLUppyanbY2IqN+tK/wKaUijZgxloy38Ndcw==","signatures":[{"sig":"MEUCIG1qtJm+hKK1GiNwk4euT8hmvfSKbLUt14iMBF2lblUCAiEA+KJvNTHVy2b8VU0lxzrDgvfgcuDkLbLPct78B+i9wYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRh4hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1xg//a5yv3uFnJQJyYOVGNBHYyRgUrpbGY3ZXADtEaXCjbqFHWXZU\r\nw51maEnzDezFSA4eH2AyG6+NufAfcKzDFsajzxlWJUywraUOlMJYcxDQKECH\r\ndyG+HgmgDpQMHlnDoZkK/q5rew8WmPyt0pobMxzgDxEDeOTraQrQLkDcU5qF\r\nVSCjhkrqA7zCt4mlQMz1LHIf0ZpTEOlaoIhWYN5a6W5NJy36lG8FQ+W2VfjP\r\nCcPwU1pGqclghf8AKOvCQKWVsjs5ToRH6aWthIyTONc5B1exoOJt8yNcnYEU\r\nDKhZfiexbnH5nlLpQzcCQR2et6EpTFfrqNGdib7POfbv6TEjeCxdHPlN+f3i\r\np6aJeE84AwnXoq0wSLSZRLEGcJLvSg02oXxll7//SgE7/7gH0L2pmeJeWXBk\r\nns2rSAwk7dtA/lOD6vntvUXvrVkd6m4gnkxbLcNW1PV74yisSP7kzufZyYuk\r\n2m0e0zEJKoNjXDZtoZ/YIR/wtfJs49bjFESuY7MDt+DfY4AjGHlRszkK+soj\r\n9alTkfbryC4V0SgIgOoLpSQujI+Si12o2FgEbndovtLumFSs7Cs+Nn5Ub5tH\r\nThL5WxtM3aTA2/9gjv5DpemxQ+ZdeQDsQNIG9InC2yFXobgWTbDU32l9tV8/\r\nZcy5h4KwqoTZuQYfAMtAT1mYMp2bkLsTb70=\r\n=Epz8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","authors":["WolfieLeader","Ben Halverson"],"gitHead":"77d16935870008d118cbcc9ad8e477ec1558a560","scripts":{"lint":"eslint . && prettier --check .","test":"jest","build":"tsc -p tsconfig.json","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:watch":"tsc -w -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.0_1665539617497_0.7220392570849361","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"get-client-ip","version":"0.1.1","keywords":[],"license":"ISC","_id":"get-client-ip@0.1.1","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"a026f828fe0bcaef450bd003d8e3df742d8de70f","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.1.tgz","fileCount":11,"integrity":"sha512-o49U9MqELEfc4KJB6WV2Yl0PJbiK6kX3U7SjG22TD8Z68saLfAK4h11LIvHFPDRuhBxV5WDsBeEO7jK7Kxd/sA==","signatures":[{"sig":"MEQCID7kmD24V8KOTRZlOaBXk9CYMhAaYLhdvhNuBfwokHlyAiAGD2ge7rPaVBXfsjZx6u8UyQ7GSesjv3R+6FJo8cKuqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRr+ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoD5Q/+MAl+9z9nYTZp8Zm9nwH3AZN5n7xSZxACBTfihh/tLJbkWpIh\r\n/tpDHOmTBOXA45PuKWl4Z0moI1TBAzUtl1/O1efcg/gNLCQkYLwebABXlomV\r\ntRJur/1E56wEtbtePvahx1rxBxbsHaAdF10Znv0rUClhSOEIGWs15wp8ViIN\r\nO2xsVHielK4Po40TTieuYhqQKYOJAl11O0jENsh3Dfr3x1pNJwBo6UC3Czuc\r\nhWp5/4g3FzjAhUBAcvKlyqobtjUB99opRyP6dlHslP/8RZj0HlCTDVbW0qx1\r\nri+4ao4SxJ0/DyJDzJv39rZEWOfyaBVLg70T91vFXz9S3erjxuJnP+Q8HYKT\r\ns2y+j9NI/NFQmfN+WT+hSkyJxFWq2DdZF8nbPtz2srQ0Glw0yZuF80bpkcCR\r\nCVddCZQDHdGkLqVEK99h3Pn8xsTAaLjudbfL9V4Uj/HC0UtQAXlVbTar6Er/\r\n0TuVfGf0wR/02jjeY7+oX+wAqDz90vCRvNKLacSWJhCuXiUA0V4eAKQXHWlD\r\nLclkMn026XgtHUq+ifhxjqffeFf2luiZPzkG09l9gMWFFVlKh85dfGgdMBqx\r\nv3tT7SQVKlXkWFzOfXTnEVJlPZqC6Shkm+azqDkneK+k8xt749rSBd6XuLy7\r\nKlZft1SOV2FBn3JeyDEgfXktlPxqln1qAg0=\r\n=rORl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"ec7f2c7fb3c887004f04219497c4366af2b9b9df","scripts":{"lint":"eslint . && prettier --check .","test":"jest","build":"npm run build:esm && npm run build:cjs","clean":"rimraf dist","format":"prettier --write .","pretest":"npm run lint","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.1_1665580953516_0.8016518640560393","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"get-client-ip","version":"0.1.2","keywords":[],"license":"ISC","_id":"get-client-ip@0.1.2","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"9419bdb92288d7dfa8a5db983d3ab6923e4c0ab5","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.2.tgz","fileCount":14,"integrity":"sha512-u3bEY5GwXXNifbi9Uw4wmFMNy+/D3XOTR/yXtF4TNVYfnKp4eaObymkUzLXgK2578MH1ZAMZ2wGmwkSsnSefaw==","signatures":[{"sig":"MEUCIEGSi5IBQymX6hD6vAwv8PkwRqCUhaf1/sB75usLbmO8AiEA+Z8M9G0DIApnNpqXOem5IDOipD+Ltl0uVE+d8//UmU0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjShAMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpcRAAg64HEzRSQnMqcjGBbJkOlXNeuKBGwQB0PiPyFqWVsaoZa5+/\r\nJyI/N/wUkoYVLc4YRbua0D7yRI4MuCIqDe40BmcKq6xnbNqjp1/dUOS7jx4i\r\nz4P0kUTuK+6LoSvH4DcOKFUhjZrtVD+ck95LddWE5epz0r0EO5+IYQXy1w+k\r\ni6BiweeurC0ypSPnJ5BpWHSIypo06mEDEQZvW/HmuZTVTx5lvetUpCYy83R1\r\n+QHC1i95wYxx7MwbAplWMR8u4NQ3NavS33HjT/pzHCFd3CnesRgLi64/sLzR\r\nhvuyCtY0nhRBs245dR7h1ufonDD+LI3JpaoBiWFqVGalJma7VgLTt+3loYkv\r\nwD2gLHr5vWhDUwSF7KHuPGbgx5wfnHPi2ql+jOwKbYblb4gypnHtPp7LbbhG\r\n/Sep6xlevaLX0QN/SyLe8DYwEja6VB9Ifm/lkIf/YxfC3qNtCQ+LLfDokXXJ\r\nSNi9I3C9V8OxG9+eWmnCgZjFiAZHrUvKcRuyIctVu1+oZYZC6cJhln4OAxrQ\r\nSUJtQNNo+gC+hTg1Rp7vUSRlIEcyI42+3uPVfc5vk9qera9a9FVJ8QjC5IXs\r\n34BTUPRmNHLnmrGZ1+GZinnqPMpKjzXo5u2dFkpbDSsvq1lfkMWMrEDbEHqV\r\ndNsD06zzdjUDMpG5kEd6c51/FE0EpugJPAw=\r\n=DEX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"806ae3b929566ce6bfc14f016eaa0e5230532bd3","scripts":{"dev":"nodemon ./api/index.ts","lint":"eslint --ext .ts src/","test":"jest","build":"npm run build:esm && npm run build:cjs","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","pretest":"npm run lint && npm run check","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","format:all":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","nodemon":"^2.0.20","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.2_1665798156616_0.46338774821568407","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"get-client-ip","version":"0.1.3","keywords":[],"license":"ISC","_id":"get-client-ip@0.1.3","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"a40231b4e86d39b3dcf36d60c48b21d59e7d5f8e","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.3.tgz","fileCount":11,"integrity":"sha512-ljgfsrKgLpj+bWNOUv1yufq8kzj/IgG0+MHmykWLyEhMeEdsGL22QBEJNdn+pLC/XHcgM0sigVG4w0THtx1ulw==","signatures":[{"sig":"MEYCIQDwjkdIYjsWV9/qZvQiDAGQB9Oi3+Bvf9BkG93RmZWFggIhAMHe7grrQB/d7ay6NI1oyBYdB0mqhG46K3nlbUFQVLdB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjShInACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqg1A/+P7wW1f4nQUHqL7X7TExl1dBbMGiPBFbhceAW4GMayqO/330n\r\nhSm7a8e9Xa7fMOU7wV7M71TdfFVg5tM0LrJQYrfzWAi4ylP1DTmEX1EFONLE\r\n4/gYLA3ewJJ+uvnxjrLwmyG5ZA2XCzqJoeQWROHEASWCXcLAqc1VGc0zbAAO\r\ntmIgAJmJDEfLPf6QU2ILiEw029tQ2CkmCOMOEfOKBOaUZQJdrlHNRfzLSLCw\r\nyBsYGrN5VF5+a+s+I56JLLJrOIXxTUCu8nC64jiDb1zjeZH3kRVj1gKZspWo\r\nFSEkI5BV6CpWzfktTuHnhBI0KibBU7Zb/MFRxBCgw1ZBWHqRkVuUaED1fExx\r\nz2CiLGlxFLedH8PAkPdp5BfSr26pLjiTAcq1q7Y/dRmdNHe/97lxyI7bm9LJ\r\nBfwxOu4hse6Lkv34NexKxYMgZlAp3H5daI0BXB+Sb9oq6dhJqZGFxXD5H8E/\r\nV+nx7bVXyMMHzKUHS8WGhfPP3y3pMAJStpO/H4/3fLc+65ajfLYbDcoxzWqP\r\nrcYKxqcf20ZJJbiAcnApKeIbfX446h4ztUoormJ1CoLJD/3cwNLhXTHB5WsK\r\nIz/HhspJJ8dAGmw5PB05QpHXDXfUJmpnqMUYOIbUHNWC4taAXBAXVKaJQjfv\r\nx+jlD7boS6k8Pe6NuY7sAS8WVAax5eEQm5I=\r\n=haKS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"f7e4bbdeddded185d4cb669561127267133d8176","scripts":{"dev":"nodemon ./api/index.ts","lint":"eslint --ext .ts src/","test":"jest","build":"npm run build:esm && npm run build:cjs","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","pretest":"npm run lint && npm run check","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","format:all":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","nodemon":"^2.0.20","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.3_1665798695360_0.4402227755777903","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"get-client-ip","version":"0.1.4","keywords":["IP","Express"],"license":"ISC","_id":"get-client-ip@0.1.4","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"4d691c6ca21c61b0a96b3f3af7c7a224df0271b8","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.4.tgz","fileCount":14,"integrity":"sha512-uBC4HqdG6ogyVyesD9TRfIjucUKMRHhaES9hXPLvvUH8oaKSDBr/6LBZxc352hwijK1qEYr8TJ94cMUUxgcSyw==","signatures":[{"sig":"MEYCIQCLvTFSwzldXKMhIivzicuMibBQ2pzrBBjwh0UqqO5vwAIhAPGI+I/uKXR9W75/9UOWVjR2tc3SGIbG3blaywBJst5b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSqW2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqgpg/+Ibv8WFHqi9lzgILx9g6CkUn4Wg4FEm4Xm45ApgGS+g3K7aYG\r\nuqAfd3Gn5mCJjlw2Td+vlaUG/As8lj4YYNLGXFNRU85Blr1OtVYzCRNtimdB\r\ntxvb40iIwa1QT2NqprwSvBkfetALW0Mp95JN5kBSKmr/CAVverGAjQJ60ZW8\r\nCdje5AxSALnPMnyIPm/a6rKCJMx3GiI2524Q+6Vy7EW4QtdE86WCGcAgW/z8\r\nxuUs/8qOJf372kWoNvSqONA58yoo0HUya0/GnzLtFRl7TH8NvBr9Ofhu6Uuz\r\n1u1oCNNPfraexb+MFB12/rsimDCQI2sm1oUjcqiokyDsn+ATcTHtDyC+1GAf\r\n//tMyrWKQjlS4y/2q5pvD5EC8xQ/tuQtW8t4kxpLYwgCR+LzvaIAzLASSQBX\r\nwK/b2XllXBQQsxahgANz+tCrV58xG52YYlHltE44mo2BtqRogHgZtG+XzaSD\r\nbC+UHQF8vMZIl1ivVLhyA7a2QGfjpKyv2f2gW+fIpDd3Hj/YahRnrWFewu8N\r\nDbBNP6GIr7zCQqGo02LrLBEysD3O2hULGYyOOnl5mRkF+B5i4cCtI9elvYMq\r\nnI5gxpJcfAPU1KLTRIJBOlfQklw3kQ2ZuX/cZrCQ9W2bkDYPBU1hEHWYU+Bj\r\nu2weTS/Sx1ByKSqyfrnd0nlKflchRPkETdE=\r\n=WZj9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"3884599da70591d240c8978cd3d162846c326e35","scripts":{"lint":"eslint --ext .ts src/","test":"jest","build":"npm run build:esm && npm run build:cjs","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","pretest":"npm run lint && npm run check","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json && sed -i 's/default/getClientIp/g' dist/cjs/index.js","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","format:all":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"_npmVersion":"8.13.2","description":"Get Client IP Address","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.4_1665836469658_0.0233375741302293","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"get-client-ip","version":"0.1.5","keywords":["IP","Express","Client","Backend"],"license":"ISC","_id":"get-client-ip@0.1.5","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"8ecbb58010e9a92adddcc2e0b8b1b06acb2d0b0b","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-0.1.5.tgz","fileCount":8,"integrity":"sha512-i0gOyWrQfDeqb1sTevNaVsakol0p44RS8NMuuOzaWEOa6AxAm45s1YaNf86h9kG0KcAwi1ljuN7kAbK05ADkfA==","signatures":[{"sig":"MEUCIQC1kHF06qHOyPF4G0CpIhZJw7Gm6+GOprZcIgW2fu53WAIgVxheKPEoxFpu9wdIjow7fepEwlK50YJHx/oWYBbN5x4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTKzoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotRhAAlj8At8AMGrbBug1bkmFA2+2+RQl6pMDlfMAn5MB0AQetbMob\r\nvFEtbale+kvysqsdDm4Ob19bQf1SRlhNHWofrFfql+wPI+enspdVP5BaEpeG\r\nOUo7G0QzQpnKaFSMYUMiavu+jbvxEwAICFptugaGpxgXbC3/tFTlxhcUCNJc\r\n5674C+vHd27FmX0txdg9VDt7kf/tU9KbwbEcOV3myuuUo/68M3Q3JeQ+rpN6\r\nw8uzPJLlzsfXuqNGUODH+3zkrvYAPXsM7T+A/dagX9Z04JoVIKlDCKr3lmF0\r\n3+++7oTiIhdkxUwzXPqh5nxBbhWCeQQKykyUGqHZvq/+skgmpqm2ExUZ7wYP\r\nQiJLdqXCKqp4SA1L3aO0n/4jT6pZZiDcnClG6gUpAhzAQBe6IP3S+odbB6MN\r\nM8ZkZiwF+3wKnzm+mkn+pTbYFKCEj7PFqf617nNLIsxVHX8J3o+9JJk0sRPw\r\nXMhZiPdkl+OfqPon1ml57A2P0t+5EAXokb2eG22piyMjAWfkfKQm7qrhLUWY\r\nhbe0AIXm4yR4dnms8iZmfzrQXTDjCb+Xv0t6BljziNB9pw6OET/SEZOBumoZ\r\nYVzmYGE07ZpNmEUBlNX+Ec3JhiO185ZcZYDI6LCU4EcKCIZucwRYkU5IPvzM\r\n5bdIpgVLtPKuS1f+vsWarJmvS5fyWmywCzc=\r\n=u6oG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"1a65b0c1e59ca2ed8256e208f46ae57dc0320740","scripts":{"lint":"eslint --ext .ts src/","test":"jest","build":"npm run build:esm && npm run build:cjs","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","pretest":"npm run lint && npm run check","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json && sed -i 's/exports.default = getClientIp;/module.exports = getClientIp;/g' dist/cjs/index.js","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","format:all":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"_npmVersion":"8.13.2","description":"Get the client IP","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.2","eslint":"^8.25.0","express":"^4.18.2","ts-jest":"^29.0.3","ts-node":"^10.9.1","prettier":"^2.7.1","typescript":"^4.8.4","@types/jest":"^29.1.2","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_0.1.5_1665969384313_0.9888511377136846","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"get-client-ip","version":"1.0.0","keywords":["IP","Express","Client","Backend"],"license":"ISC","_id":"get-client-ip@1.0.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"f10d5785ba5758cf36cd01f61913a7f6231632ea","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-1.0.0.tgz","fileCount":8,"integrity":"sha512-PAOf4enFUe5GiIENY7Jhh8TFAafQ3NN2ffLjSC+g3exqAW4LMrBll40DYJr8hBrJ5DuCeR1qIYTRPtTnI193Fg==","signatures":[{"sig":"MEYCIQDkq4XSa287x/uZ/WUY1HlBbRB/tJ51sbixGjW/NDbIbAIhAIiyaxlbWu8uo/bwWZO7NUJiBmt5fQL3ShLTSYF2cYgJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT0MiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpvrw//SR5OtDP22ECOhA33epeyOgWFuKhvPCzObn3Sz9EhrtN5iIkj\r\nthAraZ2K8/8rM8IE+6Jqr4YWNWXrLW2fd7O3/MV3aLQTvGtj4IG14eZxqq0+\r\n9v+oBFyOVltEtzci5ZHECc7OeJDFTAshy6dUNL3PvUNJf8mNLkDxIMLPw6qb\r\n6ymNCO6K9UWCNhv0NWw/quhtYO9Vp828gU6J0cgBJhgBfohKvXOgIiBMYOwq\r\n0TTgNKHEVDz4wwuUYjF6beOdDeA5q5w90p7557MO5bIhLBsXBkIQKCYPL9ut\r\nhrWvihECyHI4ivtF8VIjiTva5LUldChKyV+QPAa7G5hsGYYaoPG3bMvg1tvS\r\nol8wCxUdOWk6ZPq8Ehzwe6cyUS5N01lJofRHjMxXvMhUu3kPwgBvblXs1sl6\r\nNqimU6QUrFKUzBpc0OHWd89g++J+IFuOo5dPAmt6VGR19mAqK221kXvQFa8l\r\n/RD9W6ZsHFHP/adFmftK+WNG1ApN8j4bOLTA4YOc/ke7TrrirwxPsXLmYNfb\r\nAvHSkMl9SCzuWX4tehBWG+3UShQhA8otjNyrqSFcAOnKSVKsx9oqDjoyPYxa\r\nRBixbwFJ8D9Xyw0sRSBij1kgsxqDKvYKf4FyS/R24tMPV7fQa5OrJReqPRZX\r\nAwA0jEo4lUQmNqG8GGFqx90w1Hf42U20ueQ=\r\n=22Sj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"18d7b2961e227f07d9a614945fdacd3d071e78d3","scripts":{"lint":"eslint --ext .ts src/","test":"jest","build":"npm run build:esm && npm run build:cjs","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","pretest":"npm run lint && npm run check","prebuild":"npm run lint && npm run clean","build:cjs":"tsc -p tsconfig.cjs.json && touch dist/cjs/package.json && echo {\"type\": \"commonjs\"} > dist/cjs/package.json && sed -i 's/exports.default/module.exports/g' dist/cjs/index.js","build:esm":"tsc -p tsconfig.esm.json && touch dist/esm/package.json && echo {\"type\": \"module\"} > dist/esm/package.json","format:all":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"_npmVersion":"8.13.2","description":"Get the client IP","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","express":"^4.18.2","prettier":"^2.7.1","typescript":"^4.8.4","@types/node":"^18.8.4","@types/express":"^4.17.14","@typescript-eslint/parser":"^5.40.0","@typescript-eslint/eslint-plugin":"^5.40.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_1.0.0_1666138914156_0.9114145970508749","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"get-client-ip","version":"1.1.0","keywords":["IP","Express","Client","Backend"],"license":"ISC","_id":"get-client-ip@1.1.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"34cd92e3a381b526cf0593647833ef82fb702e08","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-1.1.0.tgz","fileCount":8,"integrity":"sha512-8sWXqKWICSNBakoPB9XpxzDJuFRO6gvvunOxV1YpBchL3zfTq3Faek6KLRIZ9q6sVVzWBHJn7ZUR0TWpoqvB9g==","signatures":[{"sig":"MEUCID4BHOoukNd/laBNSIWyzeKd9P3L7HZmBG7myUMn8c7yAiEA9dAmQu7XxzfitJuYsko3QcgPqSzBRBj2uUT6wrKggt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVAEXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpmpw//YdkFRUv7E5PbA06H2Rxi8rehU/fB1cV1BSi7CgBm/mSo6aSg\r\n4vv/1blEeGPaLEsDqZMYgESTBW6iuUcHJlkXKtlqolx9gwHwlIxJ6zG/qGJ3\r\nUSO+lpqJhdcNOKClkBT5wUsypTg5CcBz/ElDxI4IW1Kbg60e5pGcZ3j08HQa\r\n6fRgrbtQwO/tq/il3LibndtybKvQKQ4MgbIOBX1lH6P7o1soEEaOZH6PUjGF\r\nuwvquXuEmnt/oJTE22Smew9gzcFLXoCNUp2zX6S8YPL6/5kMJvaDUAHb9A7k\r\nX8Ow2PmS4xPrsUzFkdtqu5Upiq13oQnpEblZLerQNmL8S30a4wV5jXJTyV0R\r\nIdMnDBShUeMXM6LTcenlyiLTWeHM87eSt6gjk7AhgH489rGEhVMx0a0TfvR/\r\nuLmAILKuSMCJEELbdPkDeV5jh2ztQPQJv7bYkc3qoJnhUHzScRBBhi4nTMmQ\r\nfojBA0mCz6aTMVSa7ZoI1wPEYuO9otM3jHO21iaUl2u2kEd9MXBluOkdc9aO\r\nubbNS0MTpclLUGxMfXJk6DzaGZ2f9oD8goD4OJ0JiFsKT3mVq493TaASVkgr\r\nMF6A5tE0A1U5nwPThlmeiMz1ytNsLbOgSO//RiL0QIChQKhNaFfvvE09NP+5\r\nTC18TGxNfNqPz23Dh8mZMEJNJcv3Vn2u8hI=\r\n=cmiB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"18d7b2961e227f07d9a614945fdacd3d071e78d3","scripts":{"lint":"eslint --ext .ts src/","test":"jest","build":"rollup -c","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","prebuild":"npm run lint && npm run clean","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"_npmVersion":"8.13.2","description":"Get your client IP address more easily","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/node":"^18.8.4","@types/express":"^4.17.14","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^23.0.0","@rollup/plugin-typescript":"^9.0.1","@typescript-eslint/parser":"^5.40.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.40.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_1.1.0_1666449687025_0.6013512921846798","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"get-client-ip","version":"1.1.1","keywords":["IP","Express","Client","Backend"],"license":"ISC","_id":"get-client-ip@1.1.1","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"dist":{"shasum":"3e26b5fb2af94238fa5a67d7ebd760811513531f","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-1.1.1.tgz","fileCount":8,"integrity":"sha512-zCi15QS3Mi22f6wr7sTvuELTBJr5xYHoVmWuudRc03l4yRciSGKD934crsLn3NsbNoZBGCSZQ9taiFjVqMQlUg==","signatures":[{"sig":"MEUCIQDP6j3xrlHS/DeO68UoY0cIHPqohkhH/xC7Lx5opGB9zAIgela1Uow/FhOynaVMkQU61aPDJ+n5m5rDEd4pZHp9Zyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVAFHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBeA//ejwF8MlsLpqZsiDmi+fet1lYiUlAXPsJyZAEO1WsIdK4FUti\r\nPeRnts3HDewPuSyDC9M2J9kvlzGREMsWvhPmVSrrFegjRCrHx++FYgDn2qST\r\n/ZmELCAeuU+fv+Tnmhnhff5xU7hMwfJMRyglqHCbIU3Spte6OhdAFI8qxj6M\r\n6HHOxNdunb593HXVKz2Pv1VeRDHvqiqAY9OZgQw7PDQZpx3VWjbtqrDe4J6G\r\nIaSYKsSSpHKI7IUExNZnS+ZJAdImbdG5fQEmnmbwsBiJIMWkECgIhA2OnPGY\r\npRvPZmxqQTiy36yVjtZLbw4G2Q0z/ThNi81c+Cw1H7msRVqtVWtuZjOuvy2d\r\nWdVXZGwXR78hl03LKt6wilu0i0H/CMcfSJnwxxyuADJdzDhYos22368oThzl\r\nyBFRmRUVavC8+ld5RGAS6YgB5Vw0xCMCuGvl/V9hq3L587OphVD9HXT80mKY\r\n0H37SydueOoVt3yjyeup2diqrev2EZlbAO8AmgkgbS0kJQgI75nK2tWDKmba\r\nIU3jizNq2NrC9pP3dPPKclLOvu+UnVXNFhBGVGDtgyFjNkDe2kwvdr3AJ5K2\r\n1Xka7ZAmUO6IWcIfNkuPbLJFzT5oKAIAse/Wjt1MDm13+rWNV9jtHdP0qQyM\r\nQMaQRUXRTrRJnV+YJx3K1Y4vKftyeB7PPBo=\r\n=esyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"8baa11f1c5b48763c6b67979ed3c0473e7c971d3","scripts":{"lint":"eslint --ext .ts src/","test":"jest","build":"rollup -c","check":"prettier --check \"src/**/*.{ts,tsx}\"","clean":"rimraf dist","format":"prettier --write \"**/*.{ts,tsx,js,jsx,cjs,mjs,json}\"","prebuild":"npm run lint && npm run clean","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"_npmVersion":"8.13.2","description":"Get your client IP address more easily","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/node":"^18.8.4","@types/express":"^4.17.14","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^23.0.0","@rollup/plugin-typescript":"^9.0.1","@typescript-eslint/parser":"^5.40.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.40.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_1.1.1_1666449735735_0.345568246655622","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"get-client-ip","version":"2.0.0","keywords":["IP","Express","NestJS","Client","Backend"],"license":"MIT","_id":"get-client-ip@2.0.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/get-client-ip","bugs":{"url":"https://github.com/WolfieLeader/get-client-ip/issues"},"dist":{"shasum":"9f513223f63ae86402bd801cd712aa18118d2ed9","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-2.0.0.tgz","fileCount":9,"integrity":"sha512-HlKdkk5ZhCXKhzk9NWNSr8dnAQF5Ies46/KnpOcq5wjpalGDyKB9hN5av1u+151I6mIbv3acEr0LwqUL8M8TAA==","signatures":[{"sig":"MEYCIQDm7k/i2LadxUyZsNA/9hGuwSmGEWSlfmEz0riIgzo0QwIhAMMtauF8eZnoVroMnsCKbDEa/kQvBgWO0TNnTlFCz1zm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20977},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","authors":["WolfieLeader","Ben Halverson"],"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"4589695aff5d2f81b825ffb2f05a8f878cb27ff2","scripts":{"dev":"tsup --watch","lint":"pnpm biome lint --write .","build":"tsup","check":"pnpm biome check --write .","format":"pnpm biome format --write .","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"wolfieleader","actor":{"name":"wolfieleader","type":"user","email":"koren2318@gmail.com"},"email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/get-client-ip.git","type":"git"},"_npmVersion":"11.4.2","description":"👾 The Easiest Way to Get Your Clients IP","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3","@types/node":"^24.0.3","@biomejs/biome":"1.9.4","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_2.0.0_1750695840953_0.09097340511124474","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.0":{"name":"get-client-ip","version":"3.0.0-beta.0","keywords":["ip","express","nestjs","server","backend","middleware"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.0-beta.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/get-client-ip","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"fb53f67a31854ab3c30d4f68c41427dc2687c6ca","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.0-beta.0.tgz","fileCount":8,"integrity":"sha512-g4XEAm1Fgu66Ue/9PVoqyxL62XfMldt0AIu0CluE0JElQLa2s7kSk8MbavKl2Lx2fjY3diuOiBpla2Jew2h3jg==","signatures":[{"sig":"MEUCIQDM2WgWqMMSrxgjS6fLmhaQr54/zlnlXQqnkyUiODkgcgIgIcR+1GL9s/NzxfysI1r88vmjqfTsSrN4IPmEFj0s7ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26720},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"81c00cd255d9f09705dbff38a47c13c0ed9dedee","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.1.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.0-beta.0_1754224657539_0.4111314075138812","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.1":{"name":"get-client-ip","version":"3.0.0-beta.1","keywords":["ip","express","nestjs","server","backend","middleware"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.0-beta.1","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"5d8d548e060b39b0f90d279183d441fa1201b04f","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.0-beta.1.tgz","fileCount":8,"integrity":"sha512-YweAZJ1u2WstPgb/UJE1JlK0GaEMXoA/19sSba4GfRJp/LCgYAfecLDKvX4l2u6hisLM9tjDdwo/IgnU5Qfa/g==","signatures":[{"sig":"MEYCIQCae9VPVPbFyYpMliNKUKLCgAMobqEqUbONPfi9ZAU8xwIhAPGJpnUJ9x9rIlDmYkdpyf9J4MXejpWUsRNKlOI6JfpE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26710},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"81c00cd255d9f09705dbff38a47c13c0ed9dedee","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.1.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.0-beta.1_1754224735856_0.9904430679491434","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.2":{"name":"get-client-ip","version":"3.0.0-beta.2","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.0-beta.2","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"422f1cee10ae92061fbb1bbfb6a4b7a40a8b43e5","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.0-beta.2.tgz","fileCount":8,"integrity":"sha512-BSzsJ1/YtLOkOXQQhknL1dXBImvsSmM93ghbudswDcTun22vWmG1u0e2ascit85jBzHx4ix7UduPSTXXzuZwSQ==","signatures":[{"sig":"MEYCIQD9n/Wg9rGahVRGl9dV38WvlCk5Lwz9gF5rsqW2l7ySFgIhAPZTQZQAA07z5Mod23ESDT52In/1Ibvu+f9iECJtllZ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26748},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a6315c8c1b643d23ca8d2f6c141bc674bbb70af9","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.1.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.0-beta.2_1754227231399_0.08671525775635192","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"get-client-ip","version":"3.0.0","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"998f9b2e09dc0956548050c038664eb71ac1e33c","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.0.tgz","fileCount":8,"integrity":"sha512-9MyDppDx/7Wu6k89ic3Zk6hKnz4Ib6KuLm8sCxd5Ui8JnpnXuujo1f8+76wuAkjsfSfxfLgqB2EOS8WZPRdu5w==","signatures":[{"sig":"MEUCIFa0HncnIm/FngbHwBoLZ+X88J/UHX7lzBnik6oo2U99AiEA2nqcboVRbH14dJyqJhbQyCKzJk8X4kPjpGjX+Qu6yFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26781},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"1f428474ba3e3fc32f702b7577e957f8974a99a3","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.1.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.0_1754228053796_0.33381043838185986","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"get-client-ip","version":"3.0.1","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.1","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"800ce2ddb0815a48a475d506116714ddb0dec7af","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.1.tgz","fileCount":8,"integrity":"sha512-YBqr31eSwJs70CD8XUwL8vfyHGAVG5ntmwey9SGWfnGbXyEy0n+ecPdVtiMH5GHg+vCbL2U42uuQlp0f31zRig==","signatures":[{"sig":"MEQCIEHi+qzFI+2BKGEHDbTU0CQop0u5c54tsaQMYESqAjucAiAYBGDXxmOk5+jxA77kaW+3YzpUaj3pzjVd1s3gmQc8GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26684},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"13252017623b06281cef695e70de2543e614a8e8","scripts":{"dev":"tsup --watch","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.1.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.1_1754394664920_0.9267861626634475","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"get-client-ip","version":"3.0.2","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.2","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"eeb747f93e088f3a29e29c8b75b6a4a9705d067c","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.2.tgz","fileCount":8,"integrity":"sha512-0YkjWe9xT342vH4UxwEFNsY9fQM6CxkDZUxLSb49whB/OzUL0KLXZ2noqLUGnfudrToFfoEevac+IqJQoYtnlg==","signatures":[{"sig":"MEUCIQDt9tgAt8BBWb6GN0EgOKdY2sLLDYL2JrFIoIUsfm3JhgIgVRon0dz/IMwr/G3kaTqyNVy+L5POjFQ/MDx70855yOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26691},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"e96da167f8e46e5b95965bcc00e11e87bd4cf123","scripts":{"dev":"tsup --watch","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.2.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.2_1754645816384_0.9602211077904135","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"get-client-ip","version":"3.0.3","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.3","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"1a848c9915dc7c244bcb762ab0a62c8eb3ba1cab","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.3.tgz","fileCount":8,"integrity":"sha512-6S9hBrYpjcCNFZQMKRofkn+YiicNQddk3xo9YyJTwoCoEJEok1jEC7IDZDEB+NtnK2ztC9PPlKmvfa7yDwfxKg==","signatures":[{"sig":"MEUCIClmdCf1WQtQSj/hTVm7PKzEAzImtYL+Ll6mMSsxK/G9AiEAuL7yhAlE4K/roW+2mo8faX8ujuwyRQd+EjPbsY9SnOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26673},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"6397a07ac6f1457bef04e57507a6def164bc0a30","scripts":{"dev":"tsup --watch","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.2","@types/node":"^24.2.0","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.3_1754754940472_0.6953152069074033","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"get-client-ip","version":"3.0.4","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@3.0.4","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"8f285a67fb05366e84aac9ce96381880dd98abbd","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-3.0.4.tgz","fileCount":8,"integrity":"sha512-+0ak9cbs9IwVQVJZ82ahVCzf8+pedx01WibnuzMadSII0VdUU44uO9AeVEWuK7GtL8td1qxPVyMsdgiuNGpIdg==","signatures":[{"sig":"MEQCIFRQNRG83ttrO43BCSBiJQnWSCADb90teF7g/kwFjFtnAiBf8JNUBnVVfFpfHo/IAJAxl9KdnZ0RW3DQbZOLYl/IOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26530},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9ce5862fdff82a21acfd40386c38fb38a4ed2b06","scripts":{"dev":"tsup --watch","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.4.2","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.9.3","@types/node":"^24.6.2","@types/express":"^5.0.3"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_3.0.4_1759853901914_0.3208450166010903","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.0":{"name":"get-client-ip","version":"4.0.0-beta.0","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@4.0.0-beta.0","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"cb3d03fe2d1d61b89a670089e4ffdaee28d97b1e","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-4.0.0-beta.0.tgz","fileCount":8,"integrity":"sha512-TieWdiQX1DcLbNGAL4FofHz3AtrtBb81aUGlF8x7B76s+ROoNO70kJDHXHgOtHJTYCP/8E5k3vkfcug+3LusWA==","signatures":[{"sig":"MEQCIAwxcj4gdZVIzAmWIlooOM7RdwbE8mDziOQpYyhiwocBAiA6XM2haUl397ebplJclDgP+4Nd9aF0GiPQq6QOenDnkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45124},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"d331b071b547b34d47432927d5f64415ed2daf46","scripts":{"test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.8.0","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.2.3","@types/express":"^5.0.6"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_4.0.0-beta.0_1771156243341_0.3296264818462149","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.1":{"name":"get-client-ip","version":"4.0.0-beta.1","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@4.0.0-beta.1","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"8bd7c2905714310c51b8bb6cc7135bcb992818b6","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-4.0.0-beta.1.tgz","fileCount":8,"integrity":"sha512-A5sTSU4P8gYtMXdYnheEhgFZj8byB8vZhYnFK2aUZ0sbW9iTADrLw2GD+c8DKVdCy3WaSap3XKYrTx64JLeHtg==","signatures":[{"sig":"MEUCIFi2vF3fjbCIh3yKzFlOEUyyisVAM397hGvU+gq3M8XhAiEA2zmOwXRPGhXaEoAdvwJuTAaRfm5aiTW4bLatosbTV+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46620},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"7f6f74f705e84c632deb21ce585fb1672307577d","scripts":{"test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.8.0","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0"},"peerDependencies":{"express":">=4.21.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_4.0.0-beta.1_1771622201171_0.0890774815098263","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.2":{"name":"get-client-ip","version":"4.0.0-beta.2","keywords":["ip","express","nestjs","server","backend","middleware","http"],"author":{"name":"WolfieLeader"},"license":"MIT","_id":"get-client-ip@4.0.0-beta.2","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"dist":{"shasum":"e1027c211d5bf5c5f8aa5c50f8469cc288c0f2cd","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-4.0.0-beta.2.tgz","fileCount":8,"integrity":"sha512-LQlzWPpwhZM9sGzxWlLgTkRMBSsjs2WaAblEx9B16f0+DZ5p/N9KzRRaQqFTcZa/Olzaz5ZvVjbRjaFuulWIuw==","signatures":[{"sig":"MEQCIG4Qvt7sFLoP/yx/Rc9Ctizp01wNy4SfHNesUxxX8CXHAiBGo8/8RNgrOjrg0/EDqXKdoawBbRW0bymGniyPEjTHnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"8e2b9be750693cfa55954f2a88dbcc53423a2305","scripts":{"test":"vitest","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"repository":{"url":"git+https://github.com/WolfieLeader/npm.git","type":"git","directory":"packages/get-client-ip"},"_npmVersion":"11.8.0","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","directories":{},"sideEffects":false,"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/get-client-ip_4.0.0-beta.2_1771625640980_0.2959932364556779","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"get-client-ip","version":"4.0.0","description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","repository":{"type":"git","url":"git+https://github.com/WolfieLeader/npm.git","directory":"packages/get-client-ip"},"type":"module","main":"./dist/index.cjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"sideEffects":false,"scripts":{"build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","test":"vitest"},"devDependencies":{"@types/node":"^25.3.1","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.0.18"},"engines":{"node":">=18.0.0"},"author":{"name":"WolfieLeader"},"license":"MIT","keywords":["ip","express","nestjs","server","backend","middleware","http"],"gitHead":"69e39a5f98966e6fe26678bbdbcf1a3b43b1e692","types":"./dist/index.d.ts","_id":"get-client-ip@4.0.0","bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-LsbDXfKna3AZKxI8COBs3jUp8BkMo/uIv3YSl+vzblWCDLW662UzoohW1VoNnRqk9HRBk99y+SNoC3lcF474Lw==","shasum":"f6230385a0338d5f0bdd3ea12c51d0cf4a726892","tarball":"https://registry.npmjs.org/get-client-ip/-/get-client-ip-4.0.0.tgz","fileCount":8,"unpackedSize":46963,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFp43Q33bFI8Gc5qXchmqrbB0WY9QHesIu2fifKqg5rWAiEArEv7YHsTyAPWcIF0oe2Jd9m6erE9IqSabnqtyOk+A7k="}]},"_npmUser":{"name":"wolfieleader","email":"koren2318@gmail.com"},"directories":{},"maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/get-client-ip_4.0.0_1772126529628_0.5832373654616976"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-11T16:53:34.252Z","modified":"2026-02-26T17:22:09.899Z","0.0.1":"2022-10-11T16:53:34.430Z","0.0.2":"2022-10-11T17:01:51.116Z","0.0.3":"2022-10-11T22:59:33.744Z","0.0.4":"2022-10-11T23:02:02.490Z","0.0.6":"2022-10-11T23:42:49.649Z","0.0.7":"2022-10-11T23:51:54.958Z","0.0.8":"2022-10-12T00:06:36.138Z","0.1.0":"2022-10-12T01:53:37.679Z","0.1.1":"2022-10-12T13:22:33.664Z","0.1.2":"2022-10-15T01:42:36.766Z","0.1.3":"2022-10-15T01:51:35.533Z","0.1.4":"2022-10-15T12:21:10.084Z","0.1.5":"2022-10-17T01:16:24.503Z","1.0.0":"2022-10-19T00:21:54.338Z","1.1.0":"2022-10-22T14:41:27.162Z","1.1.1":"2022-10-22T14:42:15.962Z","2.0.0":"2025-06-23T16:24:01.150Z","3.0.0-beta.0":"2025-08-03T12:37:37.732Z","3.0.0-beta.1":"2025-08-03T12:38:56.050Z","3.0.0-beta.2":"2025-08-03T13:20:31.585Z","3.0.0":"2025-08-03T13:34:13.989Z","3.0.1":"2025-08-05T11:51:05.102Z","3.0.2":"2025-08-08T09:36:56.613Z","3.0.3":"2025-08-09T15:55:40.642Z","3.0.4":"2025-10-07T16:18:22.115Z","4.0.0-beta.0":"2026-02-15T11:50:43.505Z","4.0.0-beta.1":"2026-02-20T21:16:41.376Z","4.0.0-beta.2":"2026-02-20T22:14:01.132Z","4.0.0":"2026-02-26T17:22:09.787Z"},"bugs":{"url":"https://github.com/WolfieLeader/npm/issues"},"author":{"name":"WolfieLeader"},"license":"MIT","homepage":"https://github.com/WolfieLeader/npm/tree/main/packages/get-client-ip#readme","keywords":["ip","express","nestjs","server","backend","middleware","http"],"repository":{"type":"git","url":"git+https://github.com/WolfieLeader/npm.git","directory":"packages/get-client-ip"},"description":"📍 A Lightweight Utility for Extracting the Real Client IP Address from Incoming HTTP Requests","maintainers":[{"name":"benhalverson","email":"benhalverson33@gmail.com"},{"name":"wolfieleader","email":"koren2318@gmail.com"}],"readme":"<div align=\"center\">\n<img src=\"https://github.com/WolfieLeader/npm/blob/main/assets/get-client-ip-banner.svg\" align=\"center\" alt=\"banner\" />\n\n<h1 align=\"center\">get-client-ip</h1>\n\n<p align=\"center\">\n  Extract the real client IP from HTTP requests.<br/>\n  Works standalone or as Express/NestJS middleware.\n</p>\n\n<a href=\"https://opensource.org/licenses/MIT\" rel=\"nofollow\"><img src=\"https://img.shields.io/github/license/WolfieLeader/npm?color=DC343B\" alt=\"License\"></a>\n<a href=\"https://www.npmjs.com/package/get-client-ip\" rel=\"nofollow\"><img src=\"https://img.shields.io/npm/v/get-client-ip?color=0078D4\" alt=\"npm version\"></a>\n<a href=\"https://www.npmjs.com/package/get-client-ip\" rel=\"nofollow\"><img src=\"https://img.shields.io/npm/dt/get-client-ip.svg?color=03C03C\" alt=\"npm downloads\"></a>\n<a href=\"https://github.com/WolfieLeader/npm\" rel=\"nofollow\"><img src=\"https://img.shields.io/github/stars/WolfieLeader/npm\" alt=\"stars\"></a>\n\n</div>\n\n## Highlights ✨\n\n- **Checks 14 sources** (headers + socket) in priority order\n- **Handles** comma-separated, array, and RFC 7239 `Forwarded` formats\n- **Framework compatibility** — supports Express v5/v4 and NestJS (Express adapter)\n- **Flexible usage** — works standalone or as middleware, and auto-populates typed `req.clientIp` and `req.clientIps`\n- **Zero config** — validates IPs using Node.js `net.isIP()`\n\n## Installation 📦\n\nRequires Node.js >= 18.\n\n```bash\nnpm install get-client-ip\n# or\npnpm add get-client-ip\n```\n\n## Quick Start 🚀\n\n```typescript\nimport express from \"express\";\nimport { getClientIp } from \"get-client-ip\";\n\nconst app = express();\n\n// Middleware — auto-populates req.clientIp and req.clientIps\napp.use(getClientIp);\n\napp.get(\"/me\", (req, res) => {\n  res.json({ ip: req.clientIp, ips: req.clientIps });\n});\n\n// Or standalone — call directly in a specific route\napp.get(\"/ip\", (req, res) => {\n  const ip = getClientIp(req);\n  res.json({ ip });\n});\n\napp.listen(3000);\n```\n\n## API Reference 📖\n\n### `getClientIp(req, res?, next?): string | undefined`\n\nExtracts the client's IP address from an incoming request. Works both as a standalone function and as Express middleware. Returns `string | undefined`.\n\n**Side effects:** Sets `req.clientIp` and `req.clientIps` on the request object when a valid IP is found. Throws if `req` is `undefined`.\n\n### TypeScript Augmentation\n\nThe package augments the Express `Request` type automatically:\n\n```typescript\n// These properties are available after calling getClientIp\nreq.clientIp; // string | undefined — first valid IP\nreq.clientIps; // [string, ...string[]] | undefined — all valid IPs (non-empty array)\n```\n\nNo manual type declarations are needed.\n\n## Header Priority 📋\n\nSources are checked in the following order. The first valid IP found is returned.\n\n| Priority | Source                     | Description                            |\n| -------- | -------------------------- | -------------------------------------- |\n| 1        | `req.ip`                   | Express `trust proxy` setting          |\n| 2        | `Forwarded`                | RFC 7239 (parsed for `for=` directive) |\n| 3        | `CF-Connecting-IP`         | Cloudflare                             |\n| 4        | `True-Client-IP`           | Akamai / Cloudflare Enterprise         |\n| 5        | `Fastly-Client-IP`         | Fastly CDN                             |\n| 6        | `X-Appengine-User-IP`      | Google App Engine                      |\n| 7        | `CF-Pseudo-IPv4`           | Cloudflare pseudo-IPv4                 |\n| 8        | `X-Client-IP`              | General proxy header                   |\n| 9        | `X-Forwarded-For`          | De facto standard proxy header         |\n| 10       | `Forwarded-For`            | Variant of X-Forwarded-For             |\n| 11       | `X-Forwarded`              | Microsoft variant                      |\n| 12       | `X-Real-IP`                | Nginx proxy header                     |\n| 13       | `X-Cluster-Client-IP`      | Rackspace / Riverbed                   |\n| 14       | `req.socket.remoteAddress` | Direct connection fallback             |\n\n## NestJS 🧩\n\n```typescript\nimport { Controller, Get, Req } from \"@nestjs/common\";\nimport type { Request } from \"express\";\nimport { getClientIp } from \"get-client-ip\";\n\n@Controller()\nexport class AppController {\n  @Get(\"ip\")\n  getIp(@Req() req: Request) {\n    const ip = getClientIp(req);\n    return { ip };\n  }\n}\n```\n\n## Security 🛡️\n\n> **Header trust warning:** When `req.ip` is not populated, forwarding headers are used only when `req.socket.remoteAddress` appears to be from a local/private proxy range. Public socket peers skip header fallback to reduce spoofing risk.\n\n**In production behind a reverse proxy:**\n\n1. Configure Express's [`trust proxy`](https://expressjs.com/en/guide/behind-proxies.html) setting so that `req.ip` is correctly populated\n2. This ensures the function returns `req.ip` first and avoids fallback ambiguity\n3. Without `trust proxy`, forwarding headers may still be ignored when the peer is public\n\n> **CGNAT addresses:** Addresses in the `100.64.0.0/10` range (RFC 6598) are treated as public, not trusted proxy addresses. Headers are not trusted when the socket peer is a CGNAT address. If your application is behind a load balancer (e.g., AWS ALB), configure Express's `trust proxy` setting so `req.ip` is populated correctly.\n\n## Credits 🙏\n\nInspired by [Petar Bojinov's](https://github.com/pbojinov) work on client IP detection.\n\n## Contributions 🤝\n\n- Open an [issue](https://github.com/WolfieLeader/npm/issues) or feature request\n- Submit a PR to improve the package\n- Star the repo if you find it useful\n\n<div align=\"center\">\n<br/>\n\nCrafted carefully by [WolfieLeader](https://github.com/WolfieLeader)\n\nThis project is licensed under the [MIT License](https://opensource.org/licenses/MIT).\n\n</div>\n","readmeFilename":"README.md"}