aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
AgeCommit message (Collapse)AuthorFilesLines
2026-07-01app: refuse folder mappings with empty pathsLena2-4/+16
The trailing-slash fix-up turns an empty local path into /, so a blank folder row would rsync the entire filesystem; an empty remote path pushes into the rrsync root. Reject both when saving a folder, skip and log them at run time in case the config was edited by hand, and log why a sync was skipped when the app is not configured yet.
2026-07-01keys: never write the plaintext private key to diskLena2-11/+23
rsh -keygen printed the pubkey but wrote the key pair into a directory, so generating a key briefly left the plaintext private key on flash, contradicting the documented invariant that it only ever exists in memory. -keygen now emits the private key PEM on stdout and nothing else; the app encrypts it immediately and derives the public key via -pubkey, reusing the validated import path. Keygen failures now surface as an error dialog instead of crashing the app from a bare thread.
2026-06-01app: add a folder picker for local paths0.1.0Lena6-5/+223
Typing absolute paths is error-prone; let the user browse real filesystem folders and pick one. Stays on real paths (no SAF) so rsync keeps operating on POSIX paths.
2026-01-01rsend: push phone folders to a home SSH host over rsyncLena47-0/+2435
A small Android app for one-way folder backup, a KISS alternative to Syncthing. It bundles rsync (built from pinned source via the NDK) and a pure-Go SSH transport, both shipped in the APK as lib*.so and run from the native library directory. rsend pins the host key, stores the ed25519 identity Keystore-encrypted, pushes each folder additively or as a mirror, and runs on demand or on a WiFi-only schedule. The build is self-contained and reproducible: make setup provisions the toolchain, make builds rsync, rsh, and the APK.