jiaqian21 downloadsSyncs files above the 5 MB sync limit through your own Cloudflare R2 or S3-compatible bucket.
Obsidian Sync's Standard plan skips files larger than 5 MB. This plugin syncs those files through your own Cloudflare R2 bucket (any S3-compatible storage should work).
<prefix>/<vault path>. The prefix defaults to the vault name.name (conflict <time>).ext.https://<account-id>.r2.cloudflarestorage.com) and the bucket.Requires Obsidian 1.13.0 or later.
The plugin only connects to the endpoint you configure. It uploads files above the size threshold, and nothing else. There's no telemetry.
To find those files, the plugin reads the size of every file in the vault (vault.getFiles()). Paths and sizes of smaller files never leave the device. Credentials stay in Obsidian's secret storage on each device and are never written to data.json.
A.pdf and a.pdf are different keys in the bucket, but they collide on Windows and macOS.npm install
npm run dev # watch build to main.js
npm run build # type-check + production build
npm run lint
npm test # decision table tests (Node 24+)
Release: bump the version with npm version <x.y.z>, then push the tag. The release workflow builds the plugin and drafts a GitHub release.