# đŸ§˜â€â™€ī¸ Zen-Sync A Windows only command-line tool for syncing [Zen Browser](https://zen-browser.app/) data with S3-compatible storage services. ## 🤔 What it does Since Zen Browser doesn't have proper profile sync yet, this is my quick solution built in a few hours to keep my stuffs in sync across multiple machines. It backs up all the important stuff to any S3-compatible cloud storage so you can restore or "sync" your profile anywhere. No more manually dragging around profile folders every time you edit a settings đŸĨšđŸĨšđŸ˜­. I'm so done with that. The default (customizable) setting skips session cookies, temporary storage, and other data because sites I visit can detect copied sessions through fingerprinting and will invalidate them. ## ✨ Features - 🔄 **Bidirectional sync** between local and S3 storage - 🔍 **Filtering** - only syncs important files, excludes cache and temporary data - ⚡ **"Incremental" sync** - only uploads/downloads changed files - 🔗 **Custom S3 endpoints** - works with any S3-compatible service ## 📋 What gets synced by default **Included:** - 📁 Profile configuration (`profiles.ini`, `installs.ini`, `compatibility.ini`) - đŸ—ƒī¸ Profile Groups databases (`Profile Groups/*.sqlite`) - 📚 Bookmarks (`places.sqlite`, `bookmarks.html`) - 🔒 Saved passwords and certificates (`key4.db`, `cert9.db`, `logins.json`) - 🧩 Extensions and their settings (`extensions.json`, `extension-*.json`) - 🎨 Custom themes and CSS (`zen-*.json`, `zen-*.css`, `userChrome.css`, `userContent.css`) - âš™ī¸ Browser preferences (`prefs.js`, `user.js`) - 🔍 Search engine settings (`search.json.mozlz4`) - đŸ–ŧī¸ Favicons (`favicons.sqlite`) - 📂 Chrome folder customizations (`chrome/**/*`) - 📔 and other files from customizable ruleset **Excluded:** - đŸ—‘ī¸ Cache files (`cache2/*`, `thumbnails/*`, `shader-cache/*`) - 📜 Logs and crash reports (`logs/*`, `crashes/*`, `minidumps/*`) - 🔒 Lock files (`*.lock`, `*.lck`, `parent.lock`) - 💾 Temporary storage (`storage/temporary/*`, `storage/*/ls/*`) - 📋 Session data (`sessionstore.jsonlz4`, `sessionCheckpoints.json`) - đŸĒ Session cookies (`cookies.sqlite*`) - đŸ›Ąī¸ Temporary browsing data (`webappsstore.sqlite*`, `safebrowsing/*`) Use `--help` with any command for detailed options. ## 🚀 Quick Start 1. âš™ī¸ **Configure your S3 settings:** ```bash python zensync.py configure --bucket your-bucket-name --endpoint-url https://your-s3-endpoint.com ``` or just run ```python zensync.py configure``` then edit the configuration json manually. 2. âŦ†ī¸ **Upload your profiles:** ```bash python zensync.py upload ``` 3. âŦ‡ī¸ **Download profiles on another machine:** ```bash python zensync.py download ``` 4. 🔄 **Two-way sync:** ```bash python zensync.py sync ``` ## 🎮 Main Commands - âš™ī¸ `configure` - Set up S3 credentials and paths - âŦ†ī¸ `upload` - Backup profiles to S3 - âŦ‡ī¸ `download` - Restore profiles from S3 - 🔄 `sync` - Bidirectional synchronization - 📋 `list-profiles` - Show available local profiles - â„šī¸ `profile-info` - Display profile system information ## 📝 Configuration Settings are stored in `zen_sync_config.json`.