The Firefox Multi-Account Containers extension lets you carve out a separate box for each of your online lives – no more opening a different browser just to check your work email! Learn More Here
Available on addons.mozilla.org
Note: Firefox 57 + 58 users should Install from our latest GitHub Release
For more info, see:
- node 7+ (for jpm)
- Firefox 53+
Since Firefox 57, this extension can now be run without any of the legacy components that were previously needed.
- Install web-ext with npm
- cd webextension; web-ext run -f Nightly
This will work in other builds of Firefox however certain features won't work and you will need to manually flip preferences to enable containers. All other sections of this guide talk about using the legacy setup with jpm.
Add-on development is better with a particular environment. One simple way to get that environment set up is to install the DevPrefs add-on. You can make a custom Firefox profile that includes the DevPrefs add-on, and use that profile when you run the code in this repository.
-
Make a new profile by running
/path/to/firefox -P
, which launches the profile editor. "Create Profile" -- name it whatever you wish (e.g. 'addon_dev') and store it in the default location. It's probably best to deselect the option to "Use without asking," since you probably don't want to use this as your default profile. -
Once you've created your profile, click "Start Firefox". A new instance of Firefox should launch. Go to Tools->Add-ons and search for "DevPrefs". Install it. Quit Firefox.
-
Now you have a new, vanilla Firefox profile with the DevPrefs add-on installed. You can use your new profile with the code in this repository like so:
Release & Beta channels do not allow un-signed add-ons, even with the DevPrefs. So, you must run the add-on in an unbranded build:
- Download and install an un-branded build of Firefox
- Download the latest
.xpi
from this repository's releases - Run the un-branded build of Firefox with your DevPrefs profile
- Go to
about:addons
- Click the gear, and select "Install Add-on From File..."
- Select the
.xpi
file
Whilst this is still using legacy code to test you will need the following in your profile:
Change the following prefs in about:config:
- extensions.legacy.enabled = true
- xpinstall.signatures.required = false
git clone [email protected]:mozilla/testpilot-containers.git
cd testpilot-containers
npm install
./node_modules/.bin/jpm run -p /Path/To/Firefox/Profiles/{junk}.addon_dev -b FirefoxBeta
(where FirefoxBeta might be: ~//obj-x86_64-pc-linux-gnu/dist/bin/firefox or ~//firefox)
Check out the Browser Toolbox for more information about debugging add-on code.
To build a local testpilot-containers.xpi, use the plain jpm xpi
command,
or run npm run build
.
TBD
- Bump the version number in
package.json
,install.rdf
, 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
While the add-on is an Embedded Web Extension, we have to use the Mozilla Internal Signing Service to sign it as a Mozilla extension exempt from AMO's Web Extension restrictions.
So, to distribute the add-on to AMO:
- Use
jpm xpi
to build the.xpi
file - Submit the
.xpi
to the Internal Signing Service and download the signed.xpi
- Upload the signed
.xpi
file to AMO
Finally, we also publish the release to GitHub for those followers.
- 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
Facebook & Twitter icons CC-Attrib http://fairheadcreative.com.