An open-source, ultra-lightweight web exertion and CLI daemon designed to way and instantly rewind a corrupted aliases modified SQLite database record backmost to immoderate erstwhile authorities (e.g. 3 minutes ago) during section improvement — conscionable for illustration scrubbing a video.
🇹🇷 Türkçe Dokümantasyon: Türkçe rehber için lütfen README.tr.md dosyasına bakın.
- ⚡ Zero Dependencies: Built pinch axenic PHP 8+ and Vanilla JS. Requires nary dense frameworks aliases npm packages.
- 🌐 Full i18n / Multi-Language: Translation files are wholly decoupled successful lang/. Switch languages dynamically from the UI (e.g., 🇹🇷 Turkish, 🇬🇧 English). Easily lend by adding aliases updating lang/xx.json files.
- 💾 SQLite WAL Mode Aware: Seamlessly backs up and restores .sqlite-wal and .sqlite-shm files for databases moving PRAGMA journal_mode=WAL;.
- 🔍 Visual Data & Table Diff Viewer: Compare statement counts and array changes (+3 rows successful live) betwixt immoderate historical snapshot and your existent unrecorded database earlier restoring.
- 📌 Snapshot Pinning & Tagging: Pin important snapshots pinch 1 click to protect them from auto-cleanup.
- 📥 One-Click Snapshot Export: Download immoderate historical database authorities straight arsenic a .sqlite file.
- ⌨️ Keyboard Navigation Shortcuts: Navigate done the timeline smoothly utilizing Left Arrow (⬅️) and Right Arrow (➡️) keys.
- 🔄 Automatic Instant Snapshots (Watcher Daemon): Background CLI book (watcher.php) listens for modifications successful database.sqlite and automatically creates timestamped snapshots (backups/1715000000_database.sqlite).
- 🧹 Automatic Cleanup: Maintains up to 50 backups, purging older unpinned snapshots to forestall disk clutter.
🌍 Translation Guide: Adding & Updating Language Files
Create a JSON record wrong lang/ matching the ISO codification (e.g., lang/es.json, lang/de.json):
2. Updating Existing Translations
Open immoderate record successful lang/*.json and edit strings. Changes bespeak instantly connected the Web UI and CLI without restarting the server.
1. Start the Watcher Daemon (Terminal 1)
To specify civilization connection aliases database file:
2. Start Local Web Server (Terminal 2)
Open your browser and navigate to: http://127.0.0.1:8000
- Open the web interface.
- Click "✍️ Add Test Data (DB Write)".
- Observe terminal output from watcher.php: [+] Created snapshot: 1715000000_database.sqlite
- Drag the timeline slider aliases usage ⬅️ / ➡️ arrow keys.
- Click "🔍 Compare Diff" to inspect array statement changes.
- Click "⚡ Restore To This State" to rewind your database!
🔒 File Permissions (Linux / Unix)
This task is open-source nether the MIT license.
English (US) ·
Indonesian (ID) ·