Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PhilippLgh/electron-toolkit
Tools to make launching Electron apps easier
https://github.com/PhilippLgh/electron-toolkit
Last synced: about 2 months ago
JSON representation
Tools to make launching Electron apps easier
- Host: GitHub
- URL: https://github.com/PhilippLgh/electron-toolkit
- Owner: PhilippLgh
- License: other
- Created: 2017-10-28T22:21:08.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-08-24T09:16:33.000Z (about 6 years ago)
- Last Synced: 2024-07-11T05:34:11.672Z (2 months ago)
- Language: Vue
- Size: 2.01 MB
- Stars: 806
- Watchers: 29
- Forks: 37
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - PhilippLgh/electron-toolkit - Tools to make launching Electron apps easier (Vue)
README
# Electron Toolkit
"Command Line Gui Tools" to make launching Electron apps easier, faster and fun
- __GUI for [electron-builder](https://github.com/electron-userland/electron-builder)__ - package and build your app
- __App Icon Generator__ - generate app icons for all platforms
+ ```.ico ``` for Windows
+ ``` .icns ``` for macOS
+ ``` .png ``` for Linux
- __Screen Capturer__ - create assets for mockups, store listings, online marketing...
+ Take screenshots
+ Record videos
- __Website Builder__ - go public and launch a website for your app
+ Lean template for desktop apps
+ Responsive design
+ Custom styling options
## Screenshots
Overview |
:-------------------------:|
![alt text](https://launchfox.co/docu/overview2.png) |
Electron Builder GUI | Icon Generator
:-------------------------:|:-------------------------:
![alt text](https://launchfox.co/docu/electron_builder.png) | ![alt text](https://launchfox.co/docu/icon_generator.png)
Screen Capturer | Website Builder
:-------------------------:|:-------------------------:
![alt text](https://launchfox.co/docu/screen_capture.png) | ![alt text](https://launchfox.co/docu/website_builder.png) |
## Getting Started
1. Install electron-toolkit inside your Electron app directory
```
npm install electron-toolkit --save-dev
```
2. Add the electron-toolkit script to your package.json file
```
{
...
"scripts": {
"electron-toolkit": "electron ./node_modules/electron-toolkit"
}
}
```
3. Make sure Electron and Electron Builder are installed.```
npm install electron --save-dev
npm install electron-builder --save-dev
```4. Now you can run electron-toolkit directly from your project directory
```
npm run electron-toolkit
```
## Supported Platforms
- Windows (32/64 bit)
- macOS
- Linux
## Usage
See Wiki
## Security Checklist
- [x] Only display secure (https) content:
``
- [x] Disable the Node integration in all renderers that display remote content (setting nodeIntegration to false in webPreferences)
- [x] Enable context isolation in all renderers that display remote content (setting contextIsolation to true in webPreferences)
- [ ] Use ses.setPermissionRequestHandler() in all sessions that load remote content
- [x] Do not disable webSecurity. Disabling it will disable the same-origin policy.
- [ ] Define a Content-Security-Policy , and use restrictive rules (i.e. script-src 'self')
- [ ] Override and disable eval , which allows strings to be executed as code.
- [x] Do not set allowRunningInsecureContent to true.
- [x] Do not enable experimentalFeatures or experimentalCanvasFeatures unless you know what you're doing.
- [x] Do not use blinkFeatures unless you know what you're doing.
- [x] WebViews: Do not add the nodeintegration attribute.
- [x] WebViews: Do not use disablewebsecurity
- [x] WebViews: Do not use allowpopups
- [x] WebViews: Do not use insertCSS or executeJavaScript with remote CSS/JS.
- [x] WebViews: Verify the options and params of all `` tags before they get attached using the will-attach-webview event
```javascript
app.on('web-contents-created', (event, contents) => {
contents.on('will-attach-webview', (event, webPreferences, params) => {
// Strip away preload scripts if unused or verify their location is legitimate
delete webPreferences.preload
delete webPreferences.preloadURL// Disable node integration
webPreferences.nodeIntegration = false// Verify URL being loaded
if (!params.src.startsWith('https://yourapp.com/')) {
event.preventDefault()
}
})
})
```
## Want to contribute?
We welcome and encourage all sorts of contributions that help us make this project more awesome.
Contact me [email protected].
## License
1. License for electron-toolkit
MIT License
Copyright (c) 2017 Philipp Langhans & Alina Sinelnikova / Hytag,inc
2. License for website template (inside Website Builder)
Copyright (c) 2017 Hytag, inc
The License grants you, free of charge, an ongoing, non-exclusive, worldwide license to use, copy, modify, manipulate the template to create a website for your commercial or non-commercial end product.
You are not allowed to sublicense, and/or sell the template.