AI summary
Open-source Android tool that syncs a chosen folder, such as an Obsidian vault, with a Git remote over HTTPS. Supports automatic and manual sync, GitHub or GitLab authentication, and detailed progress and conflict reporting; requires all-files access and accessibility access to detect the watched app.
Generated by AI. May contain inaccuracies.
About this app
Git syncing for apps like obsidian on android
getSynced keeps a folder on your Android phone (typically an Obsidian vault) in sync with a git remote over HTTPS. It syncs when the app you choose is opened and when it is closed, when you press Sync now, or when an automation app sends it an intent. Its one promise: it shows every step, never a silent spinner. Each run lists Commit, Fetch, Merge and Push with live progress, timings and the full error text when something fails, both in the app and in the notification.
Check: the repo exists, a remote and a token are configured, and the folder is writable. If not, the run fails and names what is missing. Commit: if anything changed, everything (including deletions) is committed as sync from <device> <time>. Skipped when the folder is clean. Fetch from origin, with progress. Merge: skipped if the remote has nothing new, fast-forward if possible, otherwise a real merge. Push HEAD to origin. If the push is rejected because the remote moved on, steps 3 to 5 run once more. Conflicts: if the merge conflicts, your local commit is kept and the remote changes are not merged. The folder is reset to your local commit (nothing is lost, and the vault stays usable) and the run is shown as CONFLICT with the conflicting files listed. Resolve it on a computer for now (pull, fix, push) and the next sync on the phone fast-forwards.
Setup on the phone Install the APK (from the Releases page, a CI artifact, or your own build, see below). Grant the permissions from the checklist on the setup screen: All files access: git needs real file paths, so the scoped storage APIs do not work. Notifications: progress and results are shown there. Accessibility ("getSynced" in the accessibility list): used only to notice which app is in front. On Android 13+, sideloaded apps cannot enable this right away. First open Settings → Apps → getSynced → ⋮ (top right) → Allow restricted settings, then enable the service under Settings → Accessibility. The service receives window change events only and never reads screen content. Authenticate, one of: Sign in with GitHub (default): tap the button, you get a short code, enter it on github.com/login/device, approve. No password or secret is stored on the phone; the resulting token is encrypted on the device. This uses GitHub's Device Flow with the public Client ID that is prefilled. To use your own app instead, see Your own GitHub App. Access token: GitHub: a fine-grained personal access token limited to the vault repository, with Contents: Read and write. The username is ignored (x-access-token or anything works). GitLab: a project access token with the write_repository scope (role Developer or higher). Use oauth2 as the username. Fill in the form: HTTPS remote URL, vault folder, author name and email, branch (empty means the remote default), the app to watch (for example Obsidian) and the open/close toggles. Clone: Clone now for an empty folder, or Use existing repo if the folder already contains .git. Then open that folder as a vault in Obsidian.
Triggers App opened / closed: when the watched app comes to the front, a sync runs (pull the latest changes). When you leave it and it has not come back within 3 seconds, a sync runs (push your edits). Keyboards, system UI and permission dialogs on top of the app do not count as leaving it. Sync now button in the app. Tasker, MacroDroid, adb: send the broadcast am broadcast -a dev.spelfrog.getsynced.SYNC -p dev.spelfrog.getsynced The receiver is exported and unprotected, so any app on the phone can request a sync (and nothing more). Overlapping triggers do not pile up: only one sync runs or waits at a time. Without a network the run waits and the app says so.
License
GPL-3.0
About this version
- Version
- 0.1.3 (4)
- Size
- 15.35 MB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 1
- Updated
- Oct 26, 2026
- Package
- dev.spelfrog.getsynced
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10