Private Relay generates email aliases to use in place of personal email addresses.
Recipients will still receive emails, but Private Relay keeps their personal email address from being harvested, and then bought, sold, traded, or combined with other data to personally identify, track, and/or target them.
Install the extension.
Go to relay.firefox.com and sign in.
In any <input>
element, right-click and select "Make a relay address"
Clone, change to the directory, install dependencies:
git clone --recurse-submodules git@github.com:mozilla/fx-private-relay-add-on.git
npm install
Run with npm
:
npm run web-ext-run
By default, this will open and run the extension in Firefox. If you'd like to run this in Chrome, run the following:
[!WARNING] This will run a script that will introduce breaking changes to
manifest.json
. Please do not commit any script-changed edits to your PR.
npm run web-ext-run:chrome
If you want to run the extension on Android, you'll need to install the Android SDK platform tools:
npm run web-ext-run:android --device=DEVICE_ID
Please refer to extensionworkshop.com to learn more about how to run an extension on Android.
Visit http://127.0.0.1:8000
We use a git submodule
for translated message files. The --recurse-submodules
step of installation
should bring the message files into your working directory already, but you may
want also want to udpate the translations after install. The easiest way to do
that is:
git submodule update --init --remote
To run the latest translated version of the add-on, you will need to
npm run web-ext-run
with that profileabout:preferences
, go to the "Language" section, and click the "Set
Alternatives" button next to "Choose the languages used to display menus,
messages, and notifications from Firefox."web-ext
with that profileUse npm run web-ext-run
to run the add-on, and pass the profile argument.
E.g., npm run web-ext-run -- -p "swedish"
The privaterelay/locales
directory is a git repository like any other, so to
make changes to the messages:
Make whatever changes you need in src/_locales/en
as you work.
cd src/_locales/en
git branch message-updates-yyyymmdd
git push -u origin message-updates-yyyymmdd
You can then open a pull request from the message-updates-yyyymmdd
branch to
the l10n repo main
branch.
These scripts will build the add-on to work with dev, stage, or prod servers.
npm run build:dev
: https://dev.fxprivaterelay.nonprod.cloudops.mozgcp.net/npm run build:stage
: https://stage.fxprivaterelay.nonprod.cloudops.mozgcp.net/npm run build:prod
: https://relay.firefox.com/If you want to run the Chrome build of the add-on, use the following scripts:
[!NOTE]
It runs the same scripts as above, but also edits themenus
permission listed in the manifest.json*
npm run build:chrome-dev
: https://dev.fxprivaterelay.nonprod.cloudops.mozgcp.net/npm run build:chrome-stage
: https://stage.fxprivaterelay.nonprod.cloudops.mozgcp.net/npm run build:chrome-prod
: https://relay.firefox.com/See internal documentation here. This document outlines how to submit and release the Firefox Relay add-on (extension) to the different add-on stores.
Process summary:
The sign-and-release-to-github
action creates a signed add-on after every
merge to main
. These pre-releases are available on the GitHub Releases
page.
To comply with WebExtension
version
requirements for AMO signing, the pre-release versions are Calendar
Versioned as YYYY.MM.DD.minutes-since-midnight
The signed .xpi
file is named
private_relay-${{ YYYY.MM.DD.minutes }}.xpi
and automatically attached
to each release, under the release "Assets" section.
package.json
and manifest.json
git tag <version>
git push --tags
fx-private-relay-extension.zip
.zip
to AMONote: Be sure the "Where to Host Version" is set to "On this site".
fx-private-relay-extension.zip
.zip
to ChromeNote: Be sure the publisher is set to Mozilla Corportation.
Finally, we also publish the release to GitHub for those followers.
.xpi
from the addon versions pagegit log --no-merges --pretty=format:"%h %s" <previous-version>..<new-version>
.xpi
file