Mullvad Browser Extension is a Firefox extension improving your browser experience while using Mullvad VPN. It also displays information about the connection, recommends optimal DNS settings, and a one-click access to proxy servers.
You can visit our download page to get the latest release.
The extension is also available here on Github in the Releases.
Build with:
- Node 20.11.0
- Npm 10.2.4
If you use nvm
, run nvm use
to automatically set these versions.
For:
- Firefox: last version (>91.1.0)
The first time, use npm install
to install the necessary packages.
To start the extension in a a temporary and clean browser:
- use
npm run dev
to automatically rebuild the extension when changes are saved. - use
npm start
in another terminal to start a development instance of Firefox with the extension loaded. The extension will automatically reload when changes are saved.
The developer tools can be started by clicking on the inspect
in the debugging tab (automatically
opened).
- use
npm run build
to build the extension first - use
npm run pack:xpi
to create.xpi
file in the root folder
There are other build options which you can view in package.json
.
You can only install the extension temporarily when it is not signed by Mozilla. To do so:
- open Firefox
- enter "about:debugging#/runtime/this-firefox" in the URL bar
- click "Load Temporary Add-on"
- open
extension.xpi
file.
The extension will automatically unload when Firefox is closed.
You can use the restart
script to test restart and persisting features (like settings saved to
local storage). It will require some manual configuration:
- go to
about:profiles
and create a new Firefox profile - go to
package.json
and change therestart
script with your own Firefox profile path - go to
about:config
and set bothextensions.webextensions.keepStorageOnUninstall
andextensions.webextensions.keepUuidOnUninstall
totrue
.
Mullvad Browser Extension requires the following permissions:
management
to be able to recommend third party extensionsprivacy
to disable webRTC and check HTTPS-Only statusstorage
to save preferencessearch
to recommend other search engines*://*.mullvad.net/*
to get proxy servers list and display your connection information (SeeNetwork requests
for details)
The following permissions are optional, but are needed to use the proxy feature:
proxy
to configure and use Mullvad proxy serverstabs
to show proxy settings from active tab<all_urls>
to have granular proxy settings
Permissions are automatically accepted when testing the extension.
Two external network requests are made by the extension:
api.mullvad.net
to get the lastest proxy servers (Frequency: each time theSelect proxy server location
drawer is opened)am.i.mullvad.net
to get the connection information (Frequency: each time the popup is started and each time the proxy is connected/disconnected)
External links are marked with this icon
Source code is available in the Github repo.