{"_id":"is-loopback-addr","_rev":"4658059","name":"is-loopback-addr","description":"Check if a IP address is a loopback address","dist-tags":{"latest":"2.0.2"},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"time":{"modified":"2026-04-10T21:24:40.000Z","created":"2020-10-07T09:04:29.499Z","2.0.2":"2023-08-14T06:24:48.626Z","2.0.1":"2022-01-12T13:15:17.736Z","2.0.0":"2022-01-12T10:33:58.979Z","1.0.1":"2020-10-10T11:41:46.067Z","1.0.0":"2020-10-07T09:04:29.499Z"},"users":{},"author":{"name":"Vasco Santos"},"repository":{"type":"git","url":"git+https://github.com/vasco-santos/is-loopback-addr.git"},"versions":{"2.0.2":{"name":"is-loopback-addr","version":"2.0.2","description":"Check if a IP address is a loopback address","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"author":{"name":"Vasco Santos"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/vasco-santos/is-loopback-addr.git"},"bugs":{"url":"https://github.com/vasco-santos/is-loopback-addr/issues"},"homepage":"https://github.com/vasco-santos/is-loopback-addr#readme","devDependencies":{"aegir":"^36.1.3"},"gitHead":"e95bbbeea7dfd2b09f057cf58464605a7cf4ca8d","_id":"is-loopback-addr@2.0.2","_nodeVersion":"18.17.0","_npmVersion":"7.24.2","dist":{"shasum":"70a6668fa3555d47caebdcee045745ab80adf5e4","size":2810,"noattachment":false,"key":"/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/is-loopback-addr/download/is-loopback-addr-2.0.2.tgz"},"_npmUser":{"name":"vascosantos","email":"santos.vasco10@gmail.com"},"directories":{},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-loopback-addr_2.0.2_1691994288455_0.31332355973499615"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-14T06:24:48.626Z","publish_time":1691994288626,"_source_registry_name":"default","_cnpm_publish_time":1691994288626},"2.0.1":{"name":"is-loopback-addr","version":"2.0.1","description":"Check if a IP address is a loopback address","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"author":{"name":"Vasco Santos"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/vasco-santos/is-loopback-addr.git"},"bugs":{"url":"https://github.com/vasco-santos/is-loopback-addr/issues"},"homepage":"https://github.com/vasco-santos/is-loopback-addr#readme","devDependencies":{"aegir":"^36.1.3"},"gitHead":"f1c9d703a8ea69f65ec74684799a595202d7f14f","_id":"is-loopback-addr@2.0.1","_nodeVersion":"16.13.1","_npmVersion":"7.24.2","dist":{"shasum":"0b43534f0b16ff899f1f19f322b59c38bd25fa03","size":2810,"noattachment":false,"key":"/is-loopback-addr/-/is-loopback-addr-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/is-loopback-addr/download/is-loopback-addr-2.0.1.tgz"},"_npmUser":{"name":"vascosantos","email":"santos.vasco10@gmail.com"},"directories":{},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-loopback-addr_2.0.1_1641993317575_0.2457975267651964"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-12T13:15:35.465Z","publish_time":1641993317736,"_cnpm_publish_time":1641993317736},"2.0.0":{"name":"is-loopback-addr","version":"2.0.0","description":"Check if a IP address is a loopback address","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check dist/src/**/*.js dist/test/**/*.js","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test","test:chrome":"npm run test -- -t browser","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"author":{"name":"Vasco Santos"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/vasco-santos/is-loopback-addr.git"},"bugs":{"url":"https://github.com/vasco-santos/is-loopback-addr/issues"},"homepage":"https://github.com/vasco-santos/is-loopback-addr#readme","devDependencies":{"aegir":"^36.1.3"},"gitHead":"c4b042e86c0f1aa077809b2e9238eb8a24b9e3d6","_id":"is-loopback-addr@2.0.0","_nodeVersion":"16.13.1","_npmVersion":"7.24.2","dist":{"shasum":"7fdc9eb9a88a6b15b060b67aa8595d6bd382559d","size":2812,"noattachment":false,"key":"/is-loopback-addr/-/is-loopback-addr-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/is-loopback-addr/download/is-loopback-addr-2.0.0.tgz"},"_npmUser":{"name":"vascosantos","email":"santos.vasco10@gmail.com"},"directories":{},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-loopback-addr_2.0.0_1641983638799_0.856968939650707"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-12T10:34:50.340Z","publish_time":1641983638979,"_cnpm_publish_time":1641983638979},"1.0.1":{"name":"is-loopback-addr","version":"1.0.1","description":"Check if a IP address is a loopback address","main":"index.js","author":{"name":"Vasco Santos"},"scripts":{"test":"aegir test -t node -t browser","test:browser":"aegir test -t browser","test:node":"aegir test -t node","lint":"aegir lint","release":"aegir release --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release -t node -t browser --type major --docs","build":"aegir build"},"license":"MIT","devDependencies":{"aegir":"^27.0.0"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@ua.pt"}],"gitHead":"85d171265238138e3fc173f477c001416a6266e5","_id":"is-loopback-addr@1.0.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"d4adf50d12d53100da62a397c61d6c83fe40aab9","size":2589,"noattachment":false,"key":"/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/is-loopback-addr/download/is-loopback-addr-1.0.1.tgz"},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-loopback-addr_1.0.1_1602330105929_0.8620165667454396"},"_hasShrinkwrap":false,"publish_time":1602330106067,"_cnpm_publish_time":1602330106067,"_cnpmcore_publish_time":"2021-12-16T15:44:50.323Z"},"1.0.0":{"name":"is-loopback-addr","version":"1.0.0","description":"Check if a IP address is a loopback address","main":"index.js","author":{"name":"Vasco Santos"},"scripts":{"test":"aegir test -t node -t browser","test:browser":"aegir test -t browser","test:node":"aegir test -t node","lint":"aegir lint","release":"aegir release --docs","release-minor":"aegir release --type minor --docs","release-major":"aegir release -t node -t browser --type major --docs","build":"aegir build"},"license":"MIT","devDependencies":{"aegir":"^27.0.0"},"contributors":[{"name":"Vasco Santos","email":"vasco.santos@ua.pt"}],"gitHead":"ee689b341458fe0a6340cc97924b631120f418b1","_id":"is-loopback-addr@1.0.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"shasum":"631e0ea96fa865bb8f34d9c15f868b3f8f197c27","size":1217603,"noattachment":false,"key":"/is-loopback-addr/-/is-loopback-addr-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/is-loopback-addr/download/is-loopback-addr-1.0.0.tgz"},"maintainers":[{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-loopback-addr_1.0.0_1602061469316_0.18972311988645973"},"_hasShrinkwrap":false,"publish_time":1602061469499,"_cnpm_publish_time":1602061469499,"_cnpmcore_publish_time":"2021-12-16T15:44:52.360Z"}},"readme":"# is-loopback-addr\n\n[![Build Status](https://github.com/vasco-santos/is-loopback-addr/actions/workflows/js-test-and-release.yml/badge.svg?branch=main)](https://github.com/vasco-santos/is-loopback-addr/actions/workflows/js-test-and-release.yml)\n[![dependencies Status](https://david-dm.org/vasco-santos/is-loopback-addr/status.svg)](https://david-dm.org/vasco-santos/is-loopback-addr)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n[![Downloads](https://img.shields.io/npm/dm/is-loopback-addr.svg)](https://www.npmjs.com/package/is-loopback-addr)\n[![Minzipped size](https://badgen.net/bundlephobia/minzip/is-loopback-addr)](https://bundlephobia.com/result?p=is-loopback-addr)\n[![codecov](https://img.shields.io/codecov/c/github/vasco-santos/is-loopback-addr.svg?style=flat-square)](https://codecov.io/gh/vasco-santos/is-loopback-addr)\n\n> Check if a IP address is a loopback address\n\nVarious Internet Engineering Task Force ([IETF](https://www.ietf.org/)) standards reserve the IPv4 address block `127.0.0.0/8` and the IPv6 address `::1/128` for this purpose. The most common IPv4 address used is 127.0.0.1. Commonly these loopback addresses are mapped to the hostnames, localhost or loopback. For more information check [rfc5735](https://tools.ietf.org/html/rfc5735) and [rfc3513](https://tools.ietf.org/html/rfc3513#section-2.4).\n\n## Install\n\n```sh\nnpm i is-loopback-addr\n```\n\n## Usage\n\n```js\nimport { isLoopbackAddr } from 'is-loopback-addr'\n\nconsole.log(isLoopbackAddr('127.0.0.1')) // true\nconsole.log(isLoopbackAddr('192.168.0.1')) // false\nconsole.log(isLoopbackAddr('22.2.0.1')) // false\nconsole.log(isLoopbackAddr('::1')) // true\nconsole.log(isLoopbackAddr('2001:8a0:7ac5:4201:3ac9:86ff:fe31:7095')) // false\n```\n\n## Contribute\n\nFeel free to dive in! [Open an issue](https://github.com/vasco-santos/is-loopback-addr/issues/new) or submit PRs.\n\n## License\n\n[MIT](LICENSE) © Vasco Santos","_attachments":{},"homepage":"https://github.com/vasco-santos/is-loopback-addr#readme","bugs":{"url":"https://github.com/vasco-santos/is-loopback-addr/issues"},"license":"MIT"}