SimpleLogin is the open-source privacy-first email alias and Single Sign-On (SSO) Identity Provider.
More info on our website at https://simplelogin.io
The extension uses VueJS with https://github.com/Kocal/vue-web-extension boilerplate.
You can directly install the extension by visiting the store page for your browser:
You can find more information about how the extension works and which parts it has in DEVELOPMENT.md
All work on SimpleLogin Chrome/Firefox extension happens directly on GitHub.
This project has been tested with Node v20.2.0 and NPM 9.6.6
To run the extension locally, please first install all dependencies with npm install
.
Run npm start
to generate the /dist
folder that can be installed into Chrome.
In case of Error: error:0308010C:digital envelope routines::unsupported
error, the workaround is to accept OPEN SSL by running this command before running npm start
export NODE_OPTIONS=--openssl-legacy-provider
Run npm run start:firefox
to generate the /dist
folder which can then be installed on Firefox, more info on https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#installing
The code is formatted using prettier
, make sure to run it before creating the commit, otherwise the GitHub lint workflow will mark the check as not passing:
npm run prettier:write
package.json
.package.json
.For Firefox, the code source must be submitted too. To faciliate the review process, the code source can be generated using the following script
For beta version:
# create the code source for firefox reviewer
rm -rf code-for-reviewer && mkdir code-for-reviewer
# copy the minimum files
cp -r src LICENSE CHANGELOG scripts package.json package-lock.json webpack.config.js .dev.sample.json .babelrc code-for-reviewer
# override the readme
cp reviewers/firefox-beta.md code-for-reviewer/README.md
For prod version
# create the code source for firefox reviewer
rm -rf code-for-reviewer && mkdir code-for-reviewer
# copy the minimum files
cp -r src LICENSE CHANGELOG scripts package.json package-lock.json webpack.config.js .dev.sample.json .babelrc code-for-reviewer
# override the readme
cp reviewers/firefox.md code-for-reviewer/README.md
In order to build the extension yourself, please follow these steps:
Make sure you have the dependencies installed and up-to-date with npm install
.
Run the build process with npm run build
.
Create the zip package with npm run build-zip
. You will find the extension in the dist-zip/
directory.
If you want to use it on Firefox you will need to enter the dist/
directory and run web-ext build
. You will find the extension in the dist/web-ext-artifacts/
directory.
(Optional, only useful for beta build) Build beta version: change betaRev
in package.json
, then generate zip file using
For the development, you can run npm run start:mac
for the Mac app.
For the production release, npm run build:mac
npm run build:beta && npm run build-zip