{"id":13618451,"url":"https://github.com/mullvad/browser-extension","last_synced_at":"2025-04-04T07:04:08.336Z","repository":{"id":65859709,"uuid":"383372625","full_name":"mullvad/browser-extension","owner":"mullvad","description":"Mullvad Browser Extension improves your browsing experience while using Mullvad VPN.","archived":false,"fork":false,"pushed_at":"2025-02-26T10:58:21.000Z","size":5935,"stargazers_count":217,"open_issues_count":20,"forks_count":14,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-28T06:04:57.487Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mullvad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-06T07:04:10.000Z","updated_at":"2025-03-22T11:41:41.000Z","dependencies_parsed_at":"2024-08-19T18:14:00.574Z","dependency_job_id":"b341586c-01e8-459c-82c7-c687cb0fdab9","html_url":"https://github.com/mullvad/browser-extension","commit_stats":{"total_commits":179,"total_committers":5,"mean_commits":35.8,"dds":0.03351955307262566,"last_synced_commit":"020e41ff0c71f3a67f3618e6c6e46e5a2d1d5bbe"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mullvad%2Fbrowser-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mullvad%2Fbrowser-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mullvad%2Fbrowser-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mullvad%2Fbrowser-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mullvad","download_url":"https://codeload.github.com/mullvad/browser-extension/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135139,"owners_count":20889420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:02:01.808Z","updated_at":"2025-04-04T07:04:08.306Z","avatar_url":"https://github.com/mullvad.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"![ci](https://github.com/mullvad/browser-extension/actions/workflows/ci.yml/badge.svg)\n\n# Mullvad Browser Extension\n\nMullvad Browser Extension is a Firefox extension improving your browser experience while using\nMullvad VPN. It also displays information about the connection, recommends optimal DNS settings, and\na one-click access to [proxy servers](https://mullvad.net/en/help/socks5-proxy/).\n\n## Download\n\nYou can visit our [download page](https://mullvad.net/en/download/browser/extension) to get the\nlatest release.\n\nThe extension is also available here on Github in the\n[Releases](https://github.com/mullvad/browser-extension/releases).\n\n## Development\n\n### **Environment**\n\nBuild with:\n\n- Node 20.11.0\n- Npm 10.2.4\n\n_If you use `nvm`, run `nvm use` to automatically set these versions._\n\nFor:\n\n- Firefox: last version (\u003e91.1.0)\n\n### **Developing**\n\nThe first time, use `npm install` to install the necessary packages.\n\nTo start the extension in a a temporary and clean browser:\n\n- use `npm run dev` to automatically rebuild the extension when changes are saved.\n- use `npm start` in another terminal to start a development instance of Firefox with the extension\n  loaded. The extension will automatically reload when changes are saved.\n\nThe developer tools can be started by clicking on the `inspect` in the debugging tab (automatically\nopened).\n\n### **Building**\n\n- use `npm run build` to build the extension **first**\n- use `npm run pack:xpi` to create `.xpi` file in the root folder\n\n_There are other build options which you can view in `package.json`._\n\n### **Testing the extension in your browser**\n\nYou can only install the extension temporarily when it is not signed by Mozilla. To do so:\n\n- open Firefox\n- enter \"about:debugging#/runtime/this-firefox\" in the URL bar\n- click \"Load Temporary Add-on\"\n- open `extension.xpi` file.\n\nThe extension will automatically unload when Firefox is closed.\n\n### **Testing restart and persisting features**\n\nYou can use the `restart` script to test restart and persisting features (like settings saved to\nlocal storage). It will require some manual configuration:\n\n- go to `about:profiles` and create a new Firefox profile\n- go to `package.json` and change the `restart` script with your own Firefox profile path\n- go to `about:config` and set both `extensions.webextensions.keepStorageOnUninstall` and\n  `extensions.webextensions.keepUuidOnUninstall` to `true`.\n\n[Learn more](https://extensionworkshop.com/documentation/develop/testing-persistent-and-restart-features/)\n\n## Permissions\n\nMullvad Browser Extension requires the following permissions:\n\n- `management` to be able to recommend third party extensions\n- `privacy` to disable webRTC and check HTTPS-Only status\n- `storage` to save preferences\n- `search` to recommend other search engines\n- `*://*.mullvad.net/*` to get proxy servers list and display your connection information (See\n  `Network requests` for details)\n\nThe following permissions are optional, but are needed to use the proxy feature:\n\n- `proxy` to configure and use Mullvad proxy servers\n- `tabs` to show proxy settings from active tab\n- `\u003call_urls\u003e` to specify a proxy configuration per domain (each request needs to be intercepted)\n\n_Permissions are automatically accepted when testing the extension._\n\n## Network requests\n\nTwo external network requests are made by the extension:\n\n- `api.mullvad.net` to get the lastest proxy servers (Frequency: each time the\n  `Select proxy server location` drawer is opened)\n- `am.i.mullvad.net` to get the connection information (Frequency: each time the popup is started\n  and each time the proxy is connected/disconnected)\n\n_External links are marked with this icon_\n![External Link icon](https://github.com/feathericon/feathericon/blob/master/src/svg/link-external.svg)\n\n## Source code\n\nSource code is available in the [Github repo](https://github.com/mullvad/browser-extension).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmullvad%2Fbrowser-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmullvad%2Fbrowser-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmullvad%2Fbrowser-extension/lists"}