- Kotlin 96.9%
- Python 3.1%
| app | ||
| branding | ||
| docs | ||
| gradle/wrapper | ||
| tools | ||
| .gitignore | ||
| build.gradle.kts | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.en.md | ||
| README.md | ||
| SECURITY.md | ||
| settings.gradle.kts | ||
Copynator
by sionvoyageait.com · Français
Copynator is an offline Android app that copies files from a user selected source folder to a backup folder on a different volume. It preserves relative paths, groups copies by project and source profile, and checks each new copy with SHA-256.
0.1.0 is an experimental source-only prerelease. Real-device SAF, USB and Knox tests are still pending. No distribution-signed APK is provided. Keep the originals and another independent copy: a matching hash does not guarantee that the storage medium will remain healthy.
What works now
- Android's document picker selects the source and destination explicitly.
- Copying is blocked when volumes are identical or their separation is unclear.
- A destination marker is created only after confirmation; the source is never opened for writing by Copynator.
- Each copy uses newly created temporary and final files, with no overwrite or automatic deletion. Both are read back and compared by SHA-256 before the final result is recorded in a destination-side journal.
- Incremental analysis re-hashes known source files and destination copies. This detects silent changes but takes time proportional to the data read.
- French and English UI, light and dark themes, foreground transfer notification. Android keeps personal and work-profile app data separate.
The app is not tied to PGYTECH, Samsung, Lumix or DJI. This first version only
accepts two distinct volumes exposed by Android's
com.android.externalstorage.documents provider. USB drives, SD cards and
SSDs depend on the device and work-profile policy. Other SAF providers and two
folders on the same volume are rejected. Android 10 (API 29) is the configured
minimum; it has not yet been tested on a device.
Use and build
Select Source, select and confirm Backup destination on another volume, enter a project and profile, inspect the analysis, then confirm copying. After an interruption, run a new analysis. See the user guide, safety model, compatibility and test status.
To build a debug APK for disposable test media, install JDK 17, Android SDK 37 and Build Tools 36.0.0, then run:
./gradlew :app:testDebugUnitTest :app:assembleDebug :app:lintDebug
See build instructions. No real device screenshots are available yet. Contributions through issues and pull requests are welcome; read CONTRIBUTING.md and SECURITY.md.
The code is Apache-2.0. The Si On Voyageait logo, slogans and brand are reserved and excluded from that code license; see the brand notice.