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 devto automatically rebuild the extension when changes are saved. - use
npm startin 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 buildto build the extension first - use
npm run pack:xpito create.xpifile 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.xpifile.
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:profilesand create a new Firefox profile - go to
package.jsonand change therestartscript with your own Firefox profile path - go to
about:configand set bothextensions.webextensions.keepStorageOnUninstallandextensions.webextensions.keepUuidOnUninstalltotrue.
Mullvad Browser Extension requires the following permissions:
managementto be able to recommend third party extensionsprivacyto disable webRTC and check HTTPS-Only statusstorageto save preferencessearchto recommend other search engines*://*.mullvad.net/*to get proxy servers list and display your connection information (SeeNetwork requestsfor details)
The following permissions are optional, but are needed to use the proxy feature:
proxyto configure and use Mullvad proxy serverstabsto show proxy settings from active tab<all_urls>to specify a proxy configuration per domain (each request needs to be intercepted)
Permissions are automatically accepted when testing the extension.
Two external network requests are made by the extension:
api.mullvad.netto get the lastest proxy servers (Frequency: each time theSelect proxy server locationdrawer is opened)am.i.mullvad.netto 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.