Package Exports
- is-online
- is-online/browser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (is-online) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
is-online
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.
Install
$ npm install is-online
Usage
const isOnline = require('is-online');
(async () => {
console.log(await isOnline());
//=> true
})();
API
isOnline(options?)
options
Type: object
timeout
Type: number
Default: 5000
Milliseconds to wait for a server to respond.
ipVersion
Type: number
Values: 4 | 6
Default: 4
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.
How it works
The following checks are run in parallel:
- Retrieve icanhazip.com (or ipify.org as fallback) via HTTPS.
- Query
myip.opendns.com
ando-o.myaddr.l.google.com
DNS entries. (Node.js only) - Retrieve Apple's Captive Portal test page (this is what iOS does). (Node.js only)
When any check succeeds, the returned Promise is resolved to true
.
Proxy support
To make it work through proxies, you need to set up global-agent
.
Maintainers
Related
- is-online-cli - CLI for this module
- is-reachable - Check if servers are reachable