# TigerStyle Life9 - WordPress Backup Plugin > Because cats have 9 lives, but servers don't - so they need backup-restore! ๐Ÿฑโšก A purr-fectly modern, secure WordPress backup and restore plugin built with Alpine.js, Astro, and enterprise-grade security practices. Created as a secure replacement for XCloner after identifying critical vulnerabilities. **Now with 100% more cat personality!** ๐Ÿพ ## ๐Ÿ“ฆ Installation **Latest release:** [v1.0.0](https://git.supported.systems/tigerstyle/tigerstyle-life9/releases/tag/v1.0.0) ยท [All releases](https://git.supported.systems/tigerstyle/tigerstyle-life9/releases) ### Via WordPress Admin (GUI) 1. Download [tigerstyle-life9-1.0.0.zip](https://git.supported.systems/tigerstyle/tigerstyle-life9/releases/download/v1.0.0/tigerstyle-life9-1.0.0.zip) 2. In WordPress admin: **Plugins โ†’ Add New โ†’ Upload Plugin**, pick the ZIP 3. Click **Activate Plugin** โ€” settings appear under **TigerStyle Life9** in the sidebar ### Via WP-CLI (terminal) ```bash wp plugin install \ https://git.supported.systems/tigerstyle/tigerstyle-life9/releases/download/v1.0.0/tigerstyle-life9-1.0.0.zip \ --activate ``` **Requires:** WordPress 5.0+ ยท PHP 7.4+ ยท An S3-compatible storage backend for backups --- ## ๐Ÿพ **Why TigerStyle Life9?** **Because your website deserves nine lives!** Just like cats always land on their feet, TigerStyle Life9 ensures your website always bounces back from disasters. Our feline-inspired backup system provides: - **๐Ÿ  Territory Mapping**: Smart scanning identifies what matters most in your digital domain - **๐Ÿ›ก๏ธ Nine Lives Protection**: Multiple restore points for ultimate safety - just like a cat! - **โšก Cat Reflexes**: Lightning-fast backup and recovery operations with feline speed - **๐Ÿ”’ Stealth Security**: Military-grade encryption keeps your data safe like a cat stalking prey - **๐ŸŽฏ Hunter Precision**: Exactly what you need, when you need it - no wasted movements ## โœจ Cat-Powered Features ### ๐Ÿ›ก๏ธ **Nine Lives Protection System** - **Stealth Mode Encryption**: Military-grade AES-256-GCM that guards your secrets like a cat in the shadows - **Territory Defense**: Prevents path traversal attacks with comprehensive input validation - **Memory Protection**: All database queries use prepared statements - no SQL injection can sneak past our cat reflexes - **Hunter's Patience**: Rate limiting prevents attacks with the patience of a cat stalking prey - **Pack Leadership**: Capability-based permissions with 2FA support for the alpha cats ### ๐Ÿ“ฆ **Life Saver Engine** - **Real-time stalking**: Live progress updates via Server-Sent Events as we hunt through your files - **Multiple lairs**: Store your treasures locally, in Amazon S3 cloud hideouts, or Google Drive dens - **Territory mapping**: Smart file scanning with configurable exclude patterns - we know what to ignore - **Efficient packing**: Multiple compression levels with archive splitting for easy transport - **Life verification**: Checksum validation ensures every saved life is purrfect ### ๐ŸŽจ **Cat-Friendly Interface** - **Lightning reflexes**: Alpine.js reactivity with the speed of a pouncing cat - **Modern architecture**: Astro-powered pages that are as sleek as a cat's movement - **Adaptive design**: Mobile-first, accessibility-compliant - works on any device a cat might walk across - **Instant feedback**: Progress bars and status updates with cat personality and emojis ### โš™๏ธ **Territory Management Features** - **Automatic life saving**: WordPress cron integration for scheduled backups while you nap - **Multiple formats**: ZIP, TAR, SQL exports with configurable compression levels - **Cloud integration**: Ready for S3, Google Drive, and custom lair backends - **Communication system**: Email alerts and webhook integrations to keep you informed ## ๐Ÿš€ Quick Start ### Installation 1. **Clone or download** the plugin to your WordPress plugins directory: ```bash cd /path/to/wordpress/wp-content/plugins/ git clone https://github.com/tigerstyle/life9.git tigerstyle-life9 ``` 2. **Install dependencies** (optional - fallbacks included): ```bash cd tigerstyle-life9 npm install npm run build ``` 3. **Activate the plugin** in WordPress admin under Plugins โ†’ Installed Plugins 4. **Access the interface** via the new "TigerStyle Life9" menu in WordPress admin ### Your First Life Save 1. Navigate to **TigerStyle Life9 โ†’ ๐Ÿ’พ Save a Life** 2. Choose your territory protection (Territory Files, Digital Memories, Treasure Collection) 3. Enable Nine Lives Protection with stealth mode encryption (highly recommended!) 4. Select your backup lair (Home Territory, Cloud Hideout, or Google Den) 5. Click **๐Ÿพ Pounce! Save This Life** and watch the cat-powered progress tracking ## ๐Ÿ“‹ System Requirements ### WordPress - **WordPress**: 5.0 or higher - **PHP**: 7.4 or higher - **MySQL**: 5.6 or higher ### PHP Extensions - `openssl` - For encryption functionality - `zip` - For archive creation - `json` - For data serialization - `mysqli` - For database operations - `curl` - For remote storage APIs (optional) ### Server Requirements - **Memory**: 512MB minimum (1GB recommended) - **Disk Space**: Varies by backup size - **Execution Time**: Configurable (default: 300 seconds) ## ๐Ÿ—๏ธ Architecture ### Core Components ``` tigerstyle-life9/ โ”œโ”€โ”€ tigerstyle-life9.php # Main plugin file โ”œโ”€โ”€ includes/ # Core PHP classes โ”‚ โ”œโ”€โ”€ class-security.php # Security management โ”‚ โ”œโ”€โ”€ class-backup-engine.php # Backup orchestration โ”‚ โ”œโ”€โ”€ class-storage-manager.php # Storage abstraction โ”‚ โ”œโ”€โ”€ class-admin.php # WordPress admin integration โ”‚ โ””โ”€โ”€ storage/ # Storage backends โ”œโ”€โ”€ src/astro/ # Frontend components โ”‚ โ”œโ”€โ”€ pages/ # Admin interface pages โ”‚ โ”œโ”€โ”€ components/ # Reusable components โ”‚ โ””โ”€โ”€ layouts/ # Page layouts โ”œโ”€โ”€ admin/assets/ # Compiled assets โ””โ”€โ”€ build-tools/ # Development scripts ``` ### Security Architecture ```mermaid graph TD A[User Request] --> B[Security Layer] B --> C{Authentication} C -->|Valid| D[Input Validation] C -->|Invalid| E[Access Denied] D --> F{Sanitization} F -->|Clean| G[Business Logic] F -->|Unsafe| H[Request Rejected] G --> I[Encryption Layer] I --> J[Storage Backend] ``` ### Data Flow ```mermaid sequenceDiagram participant U as User participant A as Admin Interface participant B as Backup Engine participant S as Storage Backend participant E as Encryption U->>A: Start Backup A->>B: Create Backup Job B->>E: Encrypt Files E->>S: Store Encrypted Data S-->>B: Progress Updates B-->>A: SSE Progress Events A-->>U: Real-time Updates ``` ## ๐Ÿ”ง Configuration ### Basic Settings Access **TigerStyle Life9 โ†’ Settings** to configure: - **Security**: Encryption algorithms, access controls, rate limits - **Storage**: Default backends, retention policies, cleanup rules - **Scheduling**: Automatic backup frequency and retention - **Notifications**: Email alerts, webhook integrations ### Environment Variables Create a `.env` file for advanced configuration: ```env # Security TIGERSTYLE_ENCRYPTION_KEY=your-master-key-here TIGERSTYLE_RATE_LIMIT_REQUESTS=100 TIGERSTYLE_RATE_LIMIT_PERIOD=3600 # Storage TIGERSTYLE_DEFAULT_STORAGE=local TIGERSTYLE_S3_BUCKET=your-bucket-name TIGERSTYLE_S3_REGION=us-east-1 # Performance TIGERSTYLE_MEMORY_LIMIT=1024M TIGERSTYLE_TIME_LIMIT=600 TIGERSTYLE_CHUNK_SIZE=8192 ``` ### Advanced Configuration #### Custom Storage Backend ```php class Custom_Storage_Backend extends TigerStyle_Life9_Storage_Backend { public function store($file_path, $config = []) { // Implement custom storage logic return [ 'url' => $remote_url, 'remote_path' => $remote_path, 'storage_id' => $storage_id ]; } public function retrieve($remote_path, $local_path, $config = []) { // Implement retrieval logic return true; } } // Register the backend add_filter('tigerstyle_life9_storage_backends', function($backends) { $backends['custom'] = new Custom_Storage_Backend(); return $backends; }); ``` #### Custom Exclude Patterns ```php add_filter('tigerstyle_life9_default_excludes', function($patterns) { $patterns[] = 'custom-cache/*'; $patterns[] = '*.tmp'; $patterns[] = 'node_modules/*'; return $patterns; }); ``` ## ๐Ÿ”Œ API Reference ### REST API Endpoints All endpoints require authentication and proper capabilities. #### Create Backup ```http POST /wp-json/tigerstyle-life9/v1/backup Content-Type: application/json { "include_files": true, "include_database": true, "encryption": { "enabled": true, "password": "secure-password" }, "storage": { "type": "local" } } ``` #### Get Backup Status ```http GET /wp-json/tigerstyle-life9/v1/backup/{backup_id}/status ``` #### List Backups ```http GET /wp-json/tigerstyle-life9/v1/backups?limit=10&offset=0 ``` ### WordPress Hooks #### Actions ```php // Before backup starts do_action('tigerstyle_life9_backup_started', $backup_id, $config); // After backup completes do_action('tigerstyle_life9_backup_completed', $backup_id, $result); // Before restore starts do_action('tigerstyle_life9_restore_started', $restore_id, $backup_id); // After restore completes do_action('tigerstyle_life9_restore_completed', $restore_id, $result); ``` #### Filters ```php // Modify backup configuration $config = apply_filters('tigerstyle_life9_backup_config', $config, $backup_id); // Add storage backends $backends = apply_filters('tigerstyle_life9_storage_backends', $backends); // Modify exclude patterns $patterns = apply_filters('tigerstyle_life9_exclude_patterns', $patterns); ``` ## ๐Ÿงช Testing ### Running Tests ```bash # Install test dependencies composer install --dev # Run PHP unit tests vendor/bin/phpunit # Run integration tests vendor/bin/phpunit --testsuite=integration # Run security tests npm run test:security ``` ### Manual Testing 1. **Create test backups** with different configurations 2. **Test restore functionality** on a staging site 3. **Verify encryption** by examining backup files 4. **Test storage backends** with actual cloud services 5. **Load test** with large sites and files ## ๐Ÿ”’ Security Considerations ### Best Practices 1. **Use strong encryption passwords** (12+ characters, mixed case, symbols) 2. **Store backups off-site** for disaster recovery 3. **Test restore procedures** regularly 4. **Monitor backup logs** for suspicious activity 5. **Keep the plugin updated** for security patches ### Security Features - **Input validation** on all user inputs - **Output escaping** for XSS prevention - **Nonce verification** for CSRF protection - **Capability checks** for authorization - **Secure file handling** with path validation - **Encrypted storage** of sensitive settings ## ๐Ÿšจ Troubleshooting ### Common Issues #### "Permission Denied" Errors ```bash # Check WordPress file permissions sudo chown -R www-data:www-data /path/to/wordpress/ sudo chmod -R 755 /path/to/wordpress/wp-content/uploads/ ``` #### "Memory Limit" Errors ```php // In wp-config.php ini_set('memory_limit', '1024M'); set_time_limit(600); ``` #### "Backup Failed" Errors 1. Check PHP error logs 2. Verify disk space availability 3. Test file permissions 4. Review exclude patterns ### Debug Mode Enable debug mode for detailed logging: ```php // In wp-config.php define('TIGERSTYLE_LIFE9_DEBUG', true); define('WP_DEBUG_LOG', true); ``` Check logs at: `wp-content/debug.log` ## ๐Ÿค Contributing ### Development Setup 1. **Clone the repository**: ```bash git clone https://github.com/tigerstyle/life9.git cd life9 ``` 2. **Install dependencies**: ```bash npm install composer install ``` 3. **Set up development environment**: ```bash npm run dev # Start Astro dev server ``` ### Code Standards - **PHP**: Follow WordPress Coding Standards - **JavaScript**: ESLint with Airbnb config - **CSS**: BEM methodology with CSS custom properties - **Documentation**: PHPDoc for all methods ### Pull Request Process 1. Fork the repository 2. Create a feature branch 3. Make your changes with tests 4. Update documentation 5. Submit a pull request ## ๐Ÿ“„ License GPL v2 or later - see [LICENSE](LICENSE) file. ## ๐Ÿ™ Acknowledgments - **WordPress Community** for the excellent platform - **Astro Team** for the modern build system - **Alpine.js Community** for the reactive framework - **Security Researchers** who identified XCloner vulnerabilities ## ๐Ÿ“ž Support - **Documentation**: [https://docs.tigerstyle.com/life9](https://docs.tigerstyle.com/life9) - **Issues**: [GitHub Issues](https://github.com/tigerstyle/life9/issues) - **Community**: [WordPress.org Support Forum](https://wordpress.org/support/plugin/tigerstyle-life9) - **Enterprise**: [enterprise@tigerstyle.com](mailto:enterprise@tigerstyle.com) --- **Built with โค๏ธ by TigerStyle Development** *Remember: Cats have 9 lives, but servers don't - backup responsibly!* ๐Ÿฑ๐Ÿ’พ