snappymail/README.md

159 lines
6 KiB
Markdown
Raw Normal View History

<div align="center">
<a href="https://github.com/RainLoop/rainloop-webmail">
<img width="200" heigth="200" src="https://www.rainloop.net/static/img/logo-256x256-tiny.png">
</a>
<br>
<h1>RainLoop Webmail</h1>
<br>
<p>
Simple, modern &amp; fast web-based email client.
</p>
<p>
Modest system requirements, decent performance, simple installation and upgrade, no database required
- all these make RainLoop Webmail a perfect choice for your email solution.
</p>
<h2></h2>
<br>
</div>
For more information about the product, check [rainloop.net](https://www.rainloop.net/).
Information about installing the product, check the [wiki page](https://github.com/the-djmaze/rainloop-webmail/wiki/Installation-instructions).
And don't forget to read the [official documentation](https://www.rainloop.net/docs/).
## License
**RainLoop Webmail (Community edition)** is released under
**GNU AFFERO GENERAL PUBLIC LICENSE Version 3 (AGPL)**.
http://www.gnu.org/licenses/agpl-3.0.html
2019-06-29 08:17:29 +08:00
Copyright (c) 2019 Rainloop Team
## Modifications
2020-07-15 20:45:11 +08:00
This fork has the following changes:
2020-03-13 22:36:48 +08:00
* Privacy/GDPR friendly (no: Social, Gravatar, Facebook, Google, Twitter, DropBox, OwnCloud, X-Mailer)
* Admin uses password_hash/password_verify
2020-07-15 20:45:11 +08:00
* Auth failed attempts written to syslog
2020-07-29 17:29:59 +08:00
* Added Fail2ban instructions
* ES2015
* PHP 7.3+ required
* PHP mbstring extension required
2020-03-13 22:36:48 +08:00
* PHP replaced pclZip with ZipArchive
* PHP yaml extension else use the old Spyc
2020-07-15 20:45:11 +08:00
* Removed BackwardCapability (class \RainLoop\Account)
* Removed ChangePassword (plugins won't work)
* Removed OAuth support
* Removed POP3 support
* Removed background video support
* Removed Sentry (Application Monitoring and Error Tracking Software)
* Replaced gulp-uglify with gulp-terser
* CRLF => LF line endings
* Embed boot.js and boot.css into index.html
2020-07-27 23:40:00 +08:00
* Ongoing removal of old JavaScript code (things are native these days)
* Added modified Squire HTML editor as replacement for CKEditor
2020-07-15 20:45:11 +08:00
2020-07-27 23:40:00 +08:00
### Removal of old JavaScript
This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer.
2020-07-28 17:23:06 +08:00
The result is faster and smaller download code (good for mobile networks).
Things might work in Edge 18, Firefox 50-62 and Chrome 54-68 due to one polyfill for array.flat().
2020-07-24 02:50:20 +08:00
2020-08-31 22:33:40 +08:00
* Added dev/prototype-*.js for some additional features
2020-09-03 22:34:23 +08:00
* boot.js without webpack overhead
* Replaced jQuery with jQuery.slim
* Replaced ProgressJS with simple native dropin
2020-08-31 22:33:40 +08:00
* Replaced Autolinker with simple https/email detection
* Replaced ifvisible.js with simple drop-in replacement
* Replaced momentToNode with proper HTML5 <time>
* Replaced resize listeners with ResizeObserver
* Replaced bootstrap.js with native drop-in replacement
* Replaced dev/Common/ClientStorageDriver/* with Web Storage Objects polyfill
* Removed pikaday
* Removed underscore
* Removed polyfills
* Removed Modernizr
* Removed nanoscroll
* Removed jquery-scrollstop
* Removed jquery-mousewheel
* Removed matchmedia-polyfill
* Removed momentjs (localization still used)
2020-08-13 19:16:08 +08:00
* Removed opentip (use CSS)
* Removed non-community (aka Prem/Premium/License) code
* Modified Jua.js to be without jQuery
|js/* |1.14.0 |native |
|----------- |--------: |--------: |
2020-09-11 18:39:56 +08:00
|admin.js |2.130.942 | 941.623 |
|app.js |4.184.455 |2.559.130 |
|boot.js | 671.522 | 5.834 |
2020-09-11 18:39:56 +08:00
|libs.js | 647.614 | 326.686 |
|polyfills.js | 325.834 | 0 |
2020-09-11 18:39:56 +08:00
|TOTAL |7.960.367 |3.833.273 |
2020-08-24 06:09:54 +08:00
|js/min/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|--------------- |--------: |--------: |--------: |--------: |--------: |
2020-09-11 18:39:56 +08:00
|admin.min.js | 252.147 | 128.739 | 73.657 | 37.549 | 32.265 |
|app.min.js | 511.202 | 349.263 |140.462 | 91.754 | 73.588 |
|boot.min.js | 66.007 | 3.166 | 22.567 | 1.571 | 1.345 |
2020-09-11 18:39:56 +08:00
|libs.min.js | 572.545 | 303.770 |176.720 | 94.774 | 83.577 |
2020-08-24 06:09:54 +08:00
|polyfills.min.js | 32.452 | 0 | 11.312 | 0 | 0 |
2020-09-11 18:39:56 +08:00
|TOTAL |1.434.353 | 784.938 |424.718 |225.648 |190.775 |
2020-08-31 22:33:40 +08:00
2020-09-11 18:39:56 +08:00
649.415 bytes (199.070 gzip) is not much, but it feels faster.
2020-08-31 22:33:40 +08:00
### CSS changes
* Solve jQuery removed "features" with native css code.
* Removed html.no-css
* Removed dev/Styles/Cmd.less
* Removed dev/Styles/Scroll.less
* Removed Internet Explorer from normalize.css
* Removed node_modules/opentip/css/opentip.css
* Removed node_modules/pikaday/css/pikaday.css
* Removed vendors/bootstrap/less/breadcrumbs.less
* Removed vendors/bootstrap/less/navbar.less
* Removed vendors/bootstrap/less/popovers.less
* Removed vendors/bootstrap/less/progress-bars.less
* Removed vendors/bootstrap/less/scaffolding.less
* Removed vendors/bootstrap/less/sprites.less
* Removed vendors/bootstrap/less/tooltip.less
* Removed vendors/jquery-nanoscroller/nanoscroller.css
* Removed vendors/jquery-letterfx/jquery-letterfx.min.css
* Removed vendors/Progress.js/minified/progressjs.min.css
|css/* |1.14.0 |native |gzip 1.14 |gzip |brotli |
|-------------- |-------: |-------: |------: |------: |------: |
|app.css | 340.334 | 253.711 | 46,959 | 36.587 | 30.802 |
|app.min.css | 274.791 | 207.227 | 39.618 | 31.993 | 27.160 |
|boot.css | | 2.538 | | 837 | 668 |
|boot.min.css | | 2.055 | | 732 | 560 |
### Squire vs CKEditor
The [squire](https://github.com/neilj/Squire) implementation is not 100% compatible yet, but is shows the massive overhead of CKEditor.
Still TODO:
* upload image inline
* support for tables (really needed?!?)
| | normal | min | gzip | min gzip |
|-------- |-------: |-------: |------: |--------: |
|squire | 128.729 | 47.215 | 33.671 | 15.596 |
|ckeditor | ? | 520.035 | ? | 155.916 |
CKEditor including the 8 asset requests is 633.46 KB / 183.54 KB (gzip).
Enable it in /data/\_data\_/\_default\_/configs/application.ini in the [labs] section add/edit: `use_squire_html_editor = On`
2020-07-15 20:45:11 +08:00
### PHP73 branch
There's a branch with only the PHP 7.3 changes at
https://github.com/the-djmaze/rainloop-webmail/tree/php73