Geno Zhou47 downloadsSync your vault to any S3-compatible store with clear conflict resolution and a mobile-friendly sync UI.
Keep your Obsidian vault in sync with any S3-compatible object store — AWS S3, Cloudflare R2, MinIO, and more. Built for people who want their own bucket, clear conflict handling, and a sync UI that works well on phone as well as desktop.
中文说明见 README.zh.md。UI language follows Obsidian (getLanguage()): Chinese locales use Chinese copy; everything else uses English.
S3-compatible by design. Point the plugin at AWS S3, Cloudflare R2, or a custom endpoint (with optional path-style addressing). You own the bucket and the credentials; network traffic goes only to the endpoint you configure — no intermediary sync service, no telemetry.
Conflict resolution you can actually use. When the same note changes on this device and in the cloud, sync pauses that path instead of guessing. The sidebar lists unresolved conflicts; Show diff opens a dedicated page with an inline unified diff (− this device / + cloud) and per-file actions: keep on this device, keep in the cloud, or skip for now.
Thoughtful mobile UI. Sync lives in a dedicated sidebar — not a cramped status-bar widget. Primary actions are full-width, tappable buttons; conflict and backup rows keep path + action on one line with touch-friendly targets. Resolving a conflict closes the diff view and returns you to the sidebar cleanly on phone and desktop.
secretAccessKeySecretId) in data.json — never the key value. The access key ID remains a normal settings field..obsidian/ can expose other plugins’ secrets. This plugin hard-excludes its own data.json / plugin directory. Default editable excludes: **/workspace*, .trash/**.Install folder: .obsidian/plugins/easy-cloud-sync/.
| ID | Name |
|---|---|
easy-sync-now |
Sync now |
easy-sync-open-sidebar |
Open Easy Cloud Sync sidebar |
easy-sync-backup-now |
Backup now |
npm install
npm run dev # watch build → main.js
npm run build # typecheck + production bundle
npm run lint
npm test # unit tests (node:test + tsx)
Copy main.js, manifest.json, and styles.css into <Vault>/.obsidian/plugins/easy-cloud-sync/.
Portions of the sync engine and S3 transport are adapted from sathinduga/obsidian-s3-sync-and-backup (MIT). See LICENSE and NOTICE.