Copynator, une application Android open source pour sauvegarder et vérifier ses photos, vidéos et fichiers RAW en toute sécurité.
  • Kotlin 96.9%
  • Python 3.1%
Find a file
2026-10-30 13:24:37 +01:00
app Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
branding Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
docs Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
gradle/wrapper Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
tools Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
.gitignore Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
build.gradle.kts Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
CHANGELOG.md Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
CONTRIBUTING.md Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
gradle.properties Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
gradlew Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
gradlew.bat Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
LICENSE Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
README.en.md Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
README.md Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
SECURITY.md Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00
settings.gradle.kts Initial Copynator 0.1.0 source prerelease 2026-10-30 13:24:37 +01:00

Si On Voyageait

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.