<p align="center">
  <img src="app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" width="108" alt="SyncFlow">
</p>

# SyncFlow

Native Android file sync app — sync any folder to WebDAV, SFTP, Nextcloud, ownCloud, Google Drive, Dropbox, or OneDrive.

## Features

- **Multi-provider** — WebDAV, SFTP, SFTPGo, Nextcloud, ownCloud, Google Drive, Dropbox, OneDrive
- **Flexible sync** — one-way upload, one-way download, or two-way mirror
- **Auto-sync** — schedule by interval or trigger on Wi-Fi connect / device charge
- **Conflict resolution** — keep local, keep remote, keep newer, or keep both
- **Secure** — credentials encrypted with Android Keystore; biometric app-lock option
- **No cloud dependency** — runs fully on-device, no third-party relay

## Screenshots

<p align="center">
  <img src="docs/screenshots/providers.png" width="240" alt="Choose a provider">
  &nbsp;
  <img src="docs/screenshots/syncs.png" width="240" alt="Sync pairs">
  &nbsp;
  <img src="docs/screenshots/accounts.png" width="240" alt="Accounts & security">
</p>

## Install

1. Download `SyncFlow.apk` from the [latest release](../../releases/latest)
2. On your Android phone: **Settings → Apps → Install unknown apps** → allow your browser/file manager
3. Open the downloaded APK and tap Install
4. Open **SyncFlow**, go to **Accounts** tab → **Add Account**, pick your provider and sign in
5. Tap **+** on the **Syncs** tab to create your first sync pair

## Supported Providers

| Provider | Auth |
|---|---|
| WebDAV | Username + password |
| SFTP | Password or private key |
| SFTPGo | Username + password |
| Nextcloud | Username + password |
| ownCloud | Username + password |
| Google Drive | OAuth 2.0 (PKCE) |
| Dropbox | OAuth 2.0 (PKCE) |
| OneDrive | OAuth 2.0 (PKCE) |

## Requirements

- Android 8.0+ (API 26)
- Storage permission (or SAF picker) for local folder access

## License

SyncFlow is **source-available, not open-source** — see [LICENSE](LICENSE).
You may read, study, and fork it for personal, non-commercial use, but
**redistributing or publishing the app (source or APK) is not permitted**.
Only the copyright holder publishes official, signed builds.
