Push Firefox Add-on

A Company typically manages computers for their employees, including policies on which sites, applications or browser extensions are allowed or required.


Goto Tools has a Firefox add-on that automatically redirects “http://go/linkname” directly to https://goto.tools/linkname. Any user can install the Goto Links add-on from Firefox Add-ons, or an IT Administrator can push it to every employee.


Looking for Chrome instead? See Push Chrome Extension.


Pushing the add-on to all employees


Firefox has no equivalent of Chrome's Web Store managed policy. Everything is done through Firefox Enterprise Policies, using a single ExtensionSettings block that names the add-on and where to fetch it.


Two values are involved, and they are not the same string. This is the single most common reason a rollout appears to do nothing at all — the policy applies cleanly, about:policies looks correct, and no add-on ever arrives.

  • The policy key is the add-on ID: goto-links@goto.tools
  • The install URL is built from the listing name: https://addons.mozilla.org/firefox/downloads/latest/goto-links/latest.xpi

That URL always resolves to the current approved version, so employees receive updates automatically with no policy change.


Use "installation_mode": "normal_installed" instead of force_installed if you would like to install it for employees while still allowing them to remove it.


Windows (Group Policy)

Import Mozilla's ADMX templates from the policy-templates releases page, then set Computer Configuration → Policies → Administrative Templates → Mozilla → Firefox → Extensions → Extension Management. It writes:

Software\Policies\Mozilla\Firefox\ExtensionSettings   (REG_MULTI_SZ)
{
  "goto-links@goto.tools": {
    "installation_mode": "force_installed",
    "install_url": "https://addons.mozilla.org/firefox/downloads/latest/goto-links/latest.xpi"
  }
}

macOS (Jamf, Intune, or any MDM)

Deliver a configuration profile for the org.mozilla.firefox preference domain:

<dict>
  <key>ExtensionSettings</key>
  <dict>
    <key>goto-links@goto.tools</key>
    <dict>
      <key>installation_mode</key>
      <string>force_installed</string>
      <key>install_url</key>
      <string>https://addons.mozilla.org/firefox/downloads/latest/goto-links/latest.xpi</string>
    </dict>
  </dict>
</dict>

Prefer this to placing a file inside Firefox.app — changes to the application bundle are undone by the next Firefox update.

Linux, or any machine without MDM

Save the following as /etc/firefox/policies/policies.json, encoded as UTF-8:

{
  "policies": {
    "ExtensionSettings": {
      "goto-links@goto.tools": {
        "installation_mode": "force_installed",
        "install_url": "https://addons.mozilla.org/firefox/downloads/latest/goto-links/latest.xpi"
      }
    }
  }
}

On Windows the same file may instead be placed in a distribution folder beside firefox.exe, and on macOS in Firefox.app/Contents/Resources/distribution. The managed options above are more durable.


Optional: let employees type “go/link” on its own


With the add-on installed, http://go/link works, and so does typing go, pressing space, then the link name. Typing go/link by itself goes to the search engine instead, because “go” contains no dot and Firefox treats it as a search rather than an address.


An add-on is not permitted to change browser preferences, so this cannot be fixed by the add-on itself. It can be set centrally, alongside the same policy:

{
  "policies": {
    "ExtensionSettings": {
      "goto-links@goto.tools": {
        "installation_mode": "force_installed",
        "install_url": "https://addons.mozilla.org/firefox/downloads/latest/goto-links/latest.xpi"
      }
    },
    "Preferences": {
      "browser.fixup.domainwhitelist.go": {
        "Value": true,
        "Status": "user"
      }
    }
  }
}

Individual users can achieve the same thing by setting browser.fixup.domainwhitelist.go to true in about:config. Address bar searching continues to work normally either way.


Setting up DNS resolution for “go” is an alternative that works in every browser, with or without the add-on.


Confirming a rollout worked


On a machine that has received the policy:

  • about:policies lists the policies currently in effect, and shows any that failed to parse.
  • about:support under “Add-ons” confirms the add-on is actually installed.

If the policy appears but the add-on does not, the add-on ID and the install URL have almost certainly been swapped.


Please contact us if you would like help rolling this out, or if you need a custom (e.g. yo/ instead of go/) version of the add-on for your company.