olssonm / laravel-backup-shield
Protection for your laravel backups
Installs: 19 298
Dependents: 0
Suggesters: 0
Security: 0
Stars: 31
Watchers: 4
Forks: 5
Open Issues: 0
Requires
- php: ^7.3|^8.0
- ext-zip: ^1.14.0
- illuminate/support: ^6.0|^7.0|^8.0
- spatie/laravel-backup: ~6.0|~7.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
README
⚠️ Password-protection/encryption can now be done natively in spatie/laravel-backup. If you use v6 or v7 of spatie/laravel-backup there is no longer a need to use this package. The development of this package has therefore been halted.
Thanks for using olssonm/laravel-backup-shield!
Secure your backups
This package helps you encrypt and password-protect your backups taken with Spatie's fantastic spatie/laravel-backup-package.
Backup Shield simply listens for when the .zip-file generated by Laravel-backup is done, grabs it and applies your password and encryption of your liking.
Using older versions of Laravel? Check out the v1 branch (for Laravel 5.2) and the v2 branch.
Requirements
php: ^7.3|^8.0
ext-zip: ^1.14
laravel: ^6|^7|^8
An appropriate zip-extension should be come with your PHP-install since PHP 7.2. If you for some reason don't have it installed – and don't want to install/upgrade it – look a versions prior to v3.4 of this package.
Installation
composer require olssonm/laravel-backup-shield
Configuration
Publish your configuration using php artisan vendor:publish
and select BackupShieldServiceProvider
. Or directly via php artisan vendor:publish --provider="Olssonm\BackupShield\BackupShieldServiceProvider"
.
You only have the ability to set two different options; password and encryption.
// Default configuration; backup-shield.php return [ 'password' => env('APP_KEY'), 'encryption' => \Olssonm\BackupShield\Encryption::ENCRYPTION_DEFAULT ];
Password
Your password (duh). The default is the application key (APP_KEY
in your .env-file). You might want to set something more appropriate. Remember to use long strings and to keep your password safe – without it you will never be able to open your backup.
Set to NULL
if you want to keep your backup without a password.
Encryption
Set your type of encryption. Available options are:
\Olssonm\BackupShield\Encryption::ENCRYPTION_DEFAULT
(AES 128)
\Olssonm\BackupShield\Encryption::ENCRYPTION_WINZIP_AES_128
(AES 128)
\Olssonm\BackupShield\Encryption::ENCRYPTION_WINZIP_AES_192
(AES 192)
\Olssonm\BackupShield\Encryption::ENCRYPTION_WINZIP_AES_256
(AES 256)
Regarding the layered archive
This package adds the backup-zip created by spatie/laravel-backup inside a new password protected archive. This is to disable its contents to be able to be viewed without a password – instead only backup.zip will be displayed. Becouse, even without a password, a zip's contents (i.e. the file- and folder names) can be extracted.
Testing
$ composer test
or
$ phpunit
License
The MIT License (MIT). Please see the LICENSE.md for more information.
© 2021 Marcus Olsson.