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"- The extension will populate the options with your relay addresses.
-
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
-
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
- Create a Firefox profile set to use the target language
- Either:
- Run
npm run web-ext-run
with that profile - Install the latest pre-release in that profile
- Run
- Make a new Firefox profile - e.g., "swedish"
- In the profile, install the language
pack for one of
the add-on's supported
languages
- Note: language packs only work on Release & Beta channels of Firefox - not Nightly
- In
about: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." - Pick the language pack you installed.
- Quit Firefox so the profile is saved.
Use 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/
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
firefox_relay-${{ YYYY.MM.DD.minutes }}-an+fx.xpi
and automatically attached
to each release, under the release "Assets" section.
- Bump the version number in
package.json
andmanifest.json
- Commit the version number bump
- Create a git tag for the version:
git tag <version>
- Push the tag up to GitHub:
git push --tags
npm run-script build
- Upload the
.zip
to AMO
Finally, we also publish the release to GitHub for those followers.
- Download the signed
.xpi
from the addon versions page - Make the new release on
GitHub
- Use the version number for "Tag version" and "Release title"
- Release notes: copy the output of
git log --no-merges --pretty=format:"%h %s" <previous-version>..<new-version>
- Attach binaries: select the signed
.xpi
file