{"_id":"@silverwind/ip-address","_rev":"3517795","name":"@silverwind/ip-address","description":"A library for parsing IPv4 and IPv6 IP addresses in node and the browser.","dist-tags":{"latest":"8.1.0"},"maintainers":[{"name":"silverwind","email":"me@silverwind.io"}],"time":{"modified":"2024-08-27T20:49:37.000Z","created":"2022-09-13T18:33:52.005Z","8.1.0":"2022-09-13T18:33:52.005Z"},"users":{},"author":{"name":"Beau Gunderson","email":"beau@beaugunderson.com","url":"https://beaugunderson.com/"},"repository":{"type":"git","url":"git://github.com/beaugunderson/ip-address.git"},"versions":{"8.1.0":{"name":"@silverwind/ip-address","description":"A library for parsing IPv4 and IPv6 IP addresses in node and the browser.","keywords":["ipv6","ipv4","browser","validation"],"version":"8.1.0","author":{"name":"Beau Gunderson","email":"beau@beaugunderson.com","url":"https://beaugunderson.com/"},"license":"MIT","type":"module","main":"dist/cjs/ip-address.js","module":"dist/esm/ip-address.js","types":"dist/cjs/ip-address.d.ts","exports":{".":{"require":"./dist/cjs/ip-address.js","import":"./dist/esm/ip-address.js"}},"scripts":{"docs":"documentation build --github --output docs --format html ./ip-address.js","build":"rm -rf dist/* && tsc -p tsconfig.json && tsc -p tsconfig-esm.json && ./.fix-package-types.sh","prepublishOnly":"npm run build","release":"release-it","test-ci":"nyc mocha","test":"mocha","watch":"mocha --watch"},"nyc":{"extension":[".ts"],"exclude":["**/*.d.ts",".eslintrc.js","coverage/","dist/","test/","tmp/"],"reporter":["html","lcov","text"],"all":true},"engines":{"node":">= 12"},"repository":{"type":"git","url":"git://github.com/beaugunderson/ip-address.git"},"dependencies":{"jsbn":"1.1.0","sprintf-js":"1.1.2"},"devDependencies":{"@types/chai":"^4.2.18","@types/jsbn":"^1.2.29","@types/mocha":"^8.2.2","@types/sprintf-js":"^1.1.2","@typescript-eslint/eslint-plugin":"^4.27.0","@typescript-eslint/parser":"^4.27.0","browserify":"^17.0.0","chai":"^4.3.4","codecov":"^3.8.2","documentation":"^13.2.5","eslint":"^7.29.0","eslint-config-airbnb":"^18.2.1","eslint-config-prettier":"^8.3.0","eslint-plugin-filenames":"^1.3.2","eslint-plugin-import":"^2.23.4","eslint-plugin-jsx-a11y":"^6.4.1","eslint-plugin-prettier":"^3.4.0","eslint-plugin-react":"^7.24.0","eslint-plugin-react-hooks":"^4.2.0","eslint-plugin-sort-imports-es6-autofix":"^0.6.0","mocha":"^9.0.1","nyc":"^15.1.0","prettier":"^2.3.1","release-it":"^14.9.0","source-map-support":"^0.5.19","ts-node":"^10.0.0","typescript":"^4.3.4"},"gitHead":"78c789d61cd217b789258263db7eedbf65e6bfa7","bugs":{"url":"https://github.com/beaugunderson/ip-address/issues"},"homepage":"https://github.com/beaugunderson/ip-address#readme","_id":"@silverwind/ip-address@8.1.0","_nodeVersion":"18.8.0","_npmVersion":"8.19.1","dist":{"shasum":"53b1c46b030aa0cacbe2eb303a3be212ca8b1cd9","size":37206,"noattachment":false,"key":"/@silverwind/ip-address/-/@silverwind/ip-address-8.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@silverwind/ip-address/download/@silverwind/ip-address-8.1.0.tgz"},"_npmUser":{"name":"silverwind","email":"npm@silverwind.io"},"directories":{},"maintainers":[{"name":"silverwind","email":"me@silverwind.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ip-address_8.1.0_1663094031784_0.7956437591479693"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-13T18:34:22.789Z","publish_time":1663094032005,"_cnpm_publish_time":1663094032005}},"readme":"[![travis]](http://travis-ci.com/beaugunderson/ip-address)\n[![codecov]](https://codecov.io/github/beaugunderson/ip-address?branch=master)\n[![downloads]](https://www.npmjs.com/package/ip-address)\n[![npm]](https://www.npmjs.com/package/ip-address)\n[![snyk]](https://snyk.io/test/github/beaugunderson/ip-address)\n\n[codecov]: https://codecov.io/github/beaugunderson/ip-address/coverage.svg?branch=master\n[downloads]: https://img.shields.io/npm/dm/ip-address.svg\n[npm]: https://img.shields.io/npm/v/ip-address.svg\n[snyk]: https://snyk.io/test/github/beaugunderson/ip-address/badge.svg\n[travis]: https://img.shields.io/travis/beaugunderson/ip-address.svg\n\n## ip-address\n\n`ip-address` is a library for validating and manipulating IPv4 and IPv6\naddresses in JavaScript.\n\n\n### Migrating from 6.x to 7.x\n\n`ip-address` was rewritten in TypeScript for version 7. If you were using\nversion 6 you'll need to make these changes to upgrade:\n\n- Instead of checking `isValid()`, which has been removed, you'll need to use a\n  `try`/`catch` if you're accepting unknown input. This made the TypeScript\n  types substantially easier as well as allowed the use of an `AddressError`\n  class which will contain a `parseMessage` if an error occurred in the parsing\n  step.\n- Instead of using the `error`, `parseError`, and `valid` attributes you'll\n  need to use the `message` and `parseMessage` of the thrown `AddressError`.\n\n### Documentation\n\nDocumentation is available at [ip-address.js.org](http://ip-address.js.org/).\n\n### Examples\n\n```js\nvar Address6 = require('ip-address').Address6;\n\nvar address = new Address6('2001:0:ce49:7601:e866:efff:62c3:fffe');\n\nvar teredo = address.inspectTeredo();\n\nteredo.client4;    // '157.60.0.1'\n```\n\n### Features\n\n- Usable via CommonJS or ESM\n- Parsing of all IPv6 notations\n- Parsing of IPv6 addresses and ports from URLs with `Address6.fromURL(url)`\n- Validity checking\n- Decoding of the [Teredo\n  information](http://en.wikipedia.org/wiki/Teredo_tunneling#IPv6_addressing)\n  in an address\n- Whether one address is a valid subnet of another\n- What special properties a given address has (multicast prefix, unique\n  local address prefix, etc.)\n- Number of subnets of a certain size in a given address\n- Display methods\n  - Hex, binary, and decimal\n  - Canonical form\n  - Correct form\n  - IPv4-compatible (i.e. `::ffff:192.168.0.1`)\n- Works in [node](http://nodejs.org/) and the browser (with browserify)\n- ~1,600 test cases\n\n### Used by\n\n- [anon](https://github.com/edsu/anon) which powers\n  [@congressedits](https://twitter.com/congressedits), among\n  [many others](https://github.com/edsu/anon#community)\n- [base85](https://github.com/noseglid/base85): base85 encoding/decoding\n- [contrail-web-core](https://github.com/Juniper/contrail-web-core): part of\n  Contrail, a network virtualization solution made by Juniper Networks\n- [dhcpjs](https://github.com/apaprocki/node-dhcpjs): a DHCP client and server\n- [epochtalk](https://github.com/epochtalk/epochtalk): next generation forum\n  software\n- [geoip-web](https://github.com/tfrce/node-geoip-web): a server for\n  quickly geolocating IP addresses\n- [hexabus](https://github.com/mysmartgrid/hexabus): an IPv6-based home\n  automation bus\n- [hubot-deploy](https://github.com/atmos/hubot-deploy): GitHub Flow via hubot\n- [heroku-portscanner](https://github.com/robison/heroku-portscanner): nmap\n  hosted on Heroku\n- [ipfs-swarm](https://github.com/diasdavid/node-ipfs-swarm): a swarm\n  implementation based on IPFS\n- [javascript-x-server](https://github.com/GothAck/javascript-x-server): an X\n  server written in JavaScript\n- [libnmap](https://github.com/jas-/node-libnmap): a node API for nmap\n- [mail-io](https://github.com/mofux/mail-io): a lightweight SMTP server\n- [maxmind-db-reader](https://github.com/PaddeK/node-maxmind-db): a library for\n  reading MaxMind database files\n- [proxy-protocol-v2](https://github.com/ably/proxy-protocol-v2): a proxy\n  protocol encoder/decoder built by [Ably](https://www.ably.io/)\n- [Samsara](https://github.com/mariusGundersen/Samsara): a Docker web interface\n- [sis-api](https://github.com/sis-cmdb/sis-api): a configuration management\n  database API\n- [socks5-client](https://github.com/mattcg/socks5-client): a SOCKS v5 client\n- [socksified](https://github.com/vially/node-socksified): a SOCKS v5 client\n- [socksv5](https://github.com/mscdex/socksv5): a SOCKS v5 server/client\n- [ssdapi](https://github.com/rsolomou/ssdapi): an API created by the\n  University of Portsmouth\n- [SwitchyOmega](https://github.com/FelisCatus/SwitchyOmega): a [Chrome\n  extension](https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)\n  for switching between multiple proxies with ~311k users!\n- [swiz](https://github.com/racker/node-swiz): a serialization framework built\n  and used by [Rackspace](http://www.rackspace.com/)\n","_attachments":{},"homepage":"https://github.com/beaugunderson/ip-address#readme","bugs":{"url":"https://github.com/beaugunderson/ip-address/issues"},"license":"MIT"}