Check if servers are reachable
Works in Node.js and the browser (with a bundler).
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 is-reachable
const isReachable = require('is-reachable');
(async () => {
console.log(await isReachable('sindresorhus.com'));
//=> true
console.log(await isReachable('google.com:80'));
//=> true
})();
Returns a Promise
for a boolean
which is true
if any of the targets
are reachable.
Type: string
string[]
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: Object
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