Jonathan Miller 74ee3ea3ab
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
feat: SHA-256 checksums (#15) and S3 storage backend (#16)
#15 — Backup Integrity Verification:
- Compute SHA-256 hash after archive creation, store in checksum column
- "Verify Integrity" toolbar button re-computes and compares
- Hash logged in backup step log

#16 — S3-Compatible Storage:
- S3Uploader with AWS Signature V4 (no SDK dependency, pure cURL)
- Single PUT for files <= 100 MB, multipart upload for larger files
- Multipart: 10 MB parts, abort on failure, XML completion
- Works with AWS S3, Wasabi, Backblaze B2, MinIO (custom endpoints)
- Profile form fields: endpoint, region, access key, secret key, bucket, path
- showon conditional visibility (only shown when remote_storage=s3)
- Akeeba importer maps S3 credentials from Akeeba profiles
- Added to BackupEngine createUploader() factory

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-02 18:38:23 -05:00

Contributing to MokoJoomBackup

Thank you for your interest in contributing to MokoJoomBackup.

Getting Started

  1. Fork the repository on Gitea
  2. Create a feature branch from dev (feature/your-feature)
  3. Make your changes following the coding standards below
  4. Submit a pull request targeting dev

Branch Strategy

  • main — stable releases only
  • dev — active development
  • feature/* — new features (target dev)
  • fix/* — bug fixes (target dev)
  • hotfix/* — urgent fixes (target dev or main)

Coding Standards

  • PHP 8.1+ required
  • Follow Joomla coding standards
  • SPDX license headers on all PHP files
  • Use SubscriberInterface for event subscription
  • Use bind() -> check() -> store() for Table operations

Reporting Issues

Report bugs and feature requests via Issues.

License

By contributing, you agree that your contributions will be licensed under GPL-3.0-or-later.

S
Description
Full-site backup and restore for Joomla - database, files, and configuration
https://mokoconsulting.tech/support/products/mokosuitebackup Readme
6.8 MiB
2026-06-30 19:18:22 +00:00
Languages
PHP 99.7%
HTML 0.3%