lukeed

local-hostname

A tiny (171B) utility to check if a hostname is local

Compares an incoming URL hostname segment against a manually constructed RegExp pattern.
The pattern supports IPV4 and IPV6 addresses and is derived from RFC1918 – see Wikipedia explainer.

This module supports browser and Node.js environments.
It is made available in three formats:

  • CommonJS: dist/localhost.js
  • ES Module: dist/localhost.mjs
  • UMD: dist/localhost.min.js

#Install

$ npm install --save local-hostname

#Usage

import localhost from 'local-hostname';

localhost('localhost'); //=> true
localhost('127.0.254.1'); //=> true
localhost('hello.localhost'); //=> true
localhost('192.168.0.1'); //=> true

localhost('localhost.123'); //=> false
localhost('192.167.100.300'); //=> false
localhost('168.254.1.255'); //=> false
localhost('example.com'); //=> false

#API

#localhost(hostname)

Returns: Boolean

#hostname

Type: String

The hostname segment of a valid URL.

Important: The localhost function does not parse or format the URL for you!

#Contributing

PRs are welcome, of course! However, please open an issue first to discuss the planned changes :)

I am by no stretch of the imagination a networking expert – I most likely missed cases and/or ranges.

To change the RegExp pattern, modify or add the segment(s) inside src/build.js, run it with node, and then paste the result into the src/index.js file.

#License

MIT © Luke Edwards

See also

clsx(3), @polka/cluster(3), @pwa/cli(3), uvu(3), taskr(3), sockette(3), klona(3), kleur(3), dequal(3), sirv-cli(3)