Check if the internet connection is up
Works in Node.js and the browser (with a bundler).
In the browser you have navigator.onLine
, but it's useless as it only tells you if there's a local connection, and not whether the internet is accessible.
$ npm install is-online
const isOnline = require('is-online');
(async () => {
console.log(await isOnline());
//=> true
})();
Type: object
Type: number
Default: 5000
Milliseconds to wait for a server to respond.
Type: string
Values: 'v4'
'v6'
Default: 'v4'
Internet Protocol version to use. This is an advanced option that is usually not necessary to be set, but it can prove useful to specifically assert IPv6 connectivity.
The following checks are run in parallel:
- Retrieve icanhazip.com via HTTPS
- Query
myip.opendns.com
on OpenDNS (Node.js only) - Retrieve Apple's Captive Portal test page (Node.js only)
When the first check succeeds, the returned Promise is resolved to true
.
To make it work through proxies, you need to set up global-agent
.
- is-online-cli - CLI for this module
- is-reachable - Check if servers are reachable