Utility to get the url of a particular version/release of a mozilla product (like firefox/b2g)

Usage no npm install needed!

<script type="module">
  import mozillaGetUrl from '';



Find the url where a given mozilla product lives for all kinds of branches / releases / pre-releases.

Inspired by firefox-get which I initially contributed to for the b2g-support... The primary difference is mozilla-get-url is designed to handle most mozilla products up front and uses ftp rather then html scraping.


var locate = require('mozilla-get-url');

var options = {
    - optional
    - default: release
    - examples: ['release', 'prerelease', 'tinderbox', 'try']
  Channels determine how builds are fetched and map to lib/channels/$CHANNEL.
  Not all options are available across all channels
  channel: null,

    - required
    - examples: 'win32', 'mac', 'linux-i686', 'linux-x86_64'
  os: 'mac',

    - optional
    - default: 'latest'
    - examples (release channel): '17.0', '3.6', 'latest', 'beta'
    - examples (prerelease channel): 'aurora', 'nightly', 'mozilla-central'
    - examples (tinderbox channel): 'mozilla-central', 'mozilla-inbound'
    - examples (try channel): ''

  What type of available branches vary on the channel.
  branch: '17.0',
    - optional
    - default: 'en-US'

  Only used in the "release" channel.
  List of languages:
  language: 'en-US',

    - optional
    - default: 'firefox'
    - examples: 'firefox', 'b2g'
  Gecko product... Only tested with firefox and b2g-desktop (b2g)
  product: 'firefox',


locate(options, function(err, url) {
  url; // => http url to the build

CLI Usage

# get latest firefox
mozilla-get-url --os mac

# get latest b2g-desktop from mozilla central
mozilla-get-url --channel tinderbox --os mac --branch mozilla-central --product b2g