x-default-browser

Detect default web browser of the current user, cross-platform (Win/Lin/Mac)

Usage no npm install needed!

<script type="module">
  import xDefaultBrowser from 'https://cdn.skypack.dev/x-default-browser';
</script>

README

x-default-browser

Build Status

Get it on npm

This cross-platform module finds out the default browser for current user.

Tested on Windows 7 64-bit, Windows XP 32-bit, Ubuntu 14.04 64-bit (en-US locale), Mac OS X.

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
  • Linuxes:
    • reads the output of xdg-mime query default x-scheme-handler/http
  • OS X:

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'
    // }
});
  • commonName is portable, it will be ie, safari, firefox, chrome, chromium, opera or unknown
  • isBlink is true for Chrome, Chromium, Opera
  • isWebkit is true for Chrome, Chromium, Opera, Safari
  • identity key 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 of iexplore.exe, firefox.exe, google chrome, chromium.<somerandomkeyhere>, operastable.
    • On Ubuntu, it will be firefox.desktop, google-chrome.desktop, chromium-browser.desktop or opera.desktop
    • On Mac OS X, it will be the bundle ID: com.apple.Safari, com.google.chrome, com.operasoftware.Opera, org.mozilla.firefox etc

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 Gieryluk

Related projects