Check if servers are reachable
Works in Node.js and the browser (with browserify).
The Node.js version will do a TCP handshake with the target's port. It attempts to detect cases where a router redirects the request to itself.
The browser version is limited by the fact that browsers cannot connect to arbitrary ports. It only supports HTTP and HTTPS and the check relies on the /favicon.ico
path being present.
$ npm install --save is-reachable
const isReachable = require('is-reachable');
isReachable('sindresorhus.com').then(reachable => {
console.log(reachable);
//=> true
});
isReachable('google.com:80').then(reachable => {
console.log(reachable);
//=> true
});
Returns a Promise
for a boolean
which is true
if any of the targets
are reachable.
Type: string
Array
One or more targets to check. Can either be a full URL like https://hostname
, hostname:port
or just hostname
. When the protocol is missing from a target http
is assumed.
Well-known protocols are supported (e.g. ftp://
, mysql://
, redis://
and more).
Type: number
Timeout in milliseconds after which a request is considered failed. Default: `5000.
- is-online - Check if the internet connection is up
MIT © Sindre Sorhus