secure-electron-template
A current electron app template with the most popular frameworks, designed and built with security in mind. (If you are curious about what makes an electron app secure, please check out this page)
Banner built with banner-maker!
Demo
Features
Taken from the best-practices official page, here is what this repository offers!
- Only load secure content - (Need help!)
- Do not enable node.js integration for remote content -
β - Enable context isolation for remote content -
β - Handle session permission requests from remote content -
β - Do not disable websecurity -
β - Define a content security policy -
β - Do not set allowRunningInsecureContent to true -
β - Do not enable experimental features -
β - Do not use enableBlinkFeatures -
β - Do not use allowpopups -
β - <webview> verify options and params -
β - Disable or limit navigation -
β - Disable or limit creation of new windows -
β - Do not use openExternal with untrusted content -
β - Disable remote module -
β - Filter the remote module -
β - Use a current version of electron -
β
Included frameworks
Built-in to this template are a number of popular frameworks already wired up to get you on the road running.
- Electron
- React
- Redux (with Redux toolkit)
- Babel
- Webpack (with webpack-dev-server)
- i18next (with this plugin for localization).
- Store (for saving config/data)
- Context menu (supports custom context menus)
- Electron builder (for packaging up your app)
- Easy redux undo (for undo/redoing your redux actions)
Roadmap
There are a number of additions that I'd like to implement in this repository, namely auto-updating and more release-focused enhancements and test suites, but those are lower priority (but I welcome PRs!).
Architecture
For a more detailed view of the architecture of the template, please check out here. I would highly recommend reading this document to get yourself familiarized with this template.
How to get started
Click the button to get started.
Alternatively, if you want to fork and contribute to the template, you can follow these commands:
git clone https://github.com/reZach/secure-electron-template.git
cd secure-electron-template
npm i
npm run dev
FAQ
Please see our faq for any common questions you might have.
Show us your apps!
If you've built any applications with our template, we'd love to see them!.