x-default-browser
x-default-browser copied to clipboard
:computer: Detect default browser, cross-platform
x-default-browser
This cross-platform module finds out the default browser for the current user.
Recent versions (~0.5.x) were tested locally on Windows 10 64-bit, Mac OS 12.6.
Older versions (~0.4.x) were tested locally on Windows 10 64-bit, Mac OS 10, Windows 7 64-bit, Windows XP 32-bit, Ubuntu 14.04 64-bit (en-US locale),
It requires nodejs and npm. If you don't have node, grab it at nodejs.org. Node installer bundles npm (node package manager)
How it works
- Windows:
- checks registry value
HKCU\Software\Clients\StartMenuInternet
- checks registry value
- Linuxes:
- reads the output of
xdg-mime query default x-scheme-handler/http
- reads the output of
- OS X:
- delegated to default-browser-id from Sindre Sorhus
Usage as a nodejs module
$ npm install x-default-browser
var defaultBrowser = require("x-default-browser");
defaultBrowser(function (err, res) {
// in case of error, `err` will be a string with error message; otherwise it's `null`.
console.dir(res);
// => {
// isIE: false,
// isFirefox: true,
// isChrome: false,
// isChromium: false,
// isOpera: false,
// isWebkit: false,
// identity: 'firefox.exe',
// commonName: 'firefox'
// }
});
commonNameis portable, it will beie,safari,firefox,chrome,chromium,operaorunknownisBlinkis true for Chrome, Chromium, OperaisWebkitis true for Chrome, Chromium, Opera, Safariidentitykey is platform-specific.- On Windows, it's the prefix you can use for querying
HKLM\Software\Clients\StartMenuInternet\<prefix>keys to find out details of the browser. It'll be one ofiexplore.exe,firefox.exe,google chrome,chromium.<somerandomkeyhere>,operastable. - On Ubuntu, it will be
firefox.desktop,google-chrome.desktop,chromium-browser.desktoporopera.desktop - On Mac OS X, it will be the bundle ID:
com.apple.Safari,com.google.chrome,com.operasoftware.Opera,org.mozilla.firefoxetc
- On Windows, it's the prefix you can use for querying
Usage from command line
$ npm install -g x-default-browser
$ x-default-browser
firefox
Command line version outputs the commonName key, i.e. ie, safari, firefox, chrome, chromium, opera or unknown.
Linux support
This module was only tested on Ubuntu. Compatibility reports and fixes for other distros are more than welcome! Use GitHub issues or email: (jakub.g.opensource) (gmail)
License
MIT © jakub-g
Related projects
- default-browser-id (OS X)
- win-detect-browsers (Windows)
- browser-launcher2 (cross-platform)
- opener (cross-platform)
- node-open (cross-platform)

