Skip to content
h3artbl33d edited this page Aug 7, 2020 · 13 revisions

Rainloop-djmaze

This project is a fork of Rainloop and aims to apply hardening, modernization and a more lightweight experience.

Installation

For a detailed overview on installing Rainloop-djmaze, please see the installation instructions.

Changes

This fork implements the following changes in comparison to upstream:

  • Privacy/GDPR friendly (removed Sentry, Gravatar, Facebook, Google, Twitter, DropBox, OwnCloud and X-Mailer links/inclusion)
  • More secure admin hashing algorithm (uses password_hash/password_verify)
  • Auth failed attempts written to syslog
  • More modern PHP approach:
    • CRLF => LF line endings
    • Requires PHP 7.3+ with the mbstring extension
    • Replaced pclZip with ZipArchive
    • Prefer the yaml extension, fallback to the old Spyc
  • Removed features/functionality:
    • Background video support
    • BackwardCapability (class \RainLoop\Account)
    • ChangePassword (plugins won't work)
    • OAuth support
    • POP3 support (this fork supports only IMAP)
  • Ongoing removal of old JavaScript code
  • Dropped gulp-uglify in favor of gulp-terser

Removal of old JavaScript

This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer, resulting in increased performance and a smaller pageload - which benefits mobile devices. Things might work in Edge 15-18, Firefox 47-62 and Chrome 54-68 due to one polyfill for array.flat().

  • Replaced jQuery with jQuery.slim
  • Removed pikaday
  • Removed underscore
  • Removed polyfills
  • Removed Modernizr
  • Removed nanoscroll
  • Removed jquery-scrollstop
  • Removed jquery-mousewheel
  • Removed matchmedia-polyfill
  • Removed momentjs (localization still used)
js/* 1.14.0 native gzip 1.14 gzip
admin.js 2.130.942 1.210.394 485.481 298.376
app.js 4.184.455 2.954.996 932.725 691.792
boot.js 671.522 93.585 169.502 28.382
libs.js 647.614 458.656 194.728 139.408
polyfills.js 325.834 0 71.825 0
TOTAL js 7.960.367 4.717.631 1.854.261 1.157.958
js/min/* 1.14.0 native gzip 1.14 gzip
admin.min.js 252.147 156.171 73.657 44.788
app.min.js 511.202 384.195 140.462 101.677
boot.min.js 66.007 11.545 22.567 4.460
libs.min.js 572.545 413.971 176.720 129.076
polyfills.min.js 32.452 0 11.312 0
TOTAL js/min 1.434.353 965.882 424.718 280.001

468.471 bytes (144.717 gzip) is not much, but it feels faster.

css/* 1.14.0 native
app.css 340.334 292.716
app.min.css 274.791 231.956

PHP73 branch

There is a branch that only incorporates the PHP 7.3 changes, this branch can be found at https://github.com/the-djmaze/rainloop-webmail/tree/php73

Clone this wiki locally