From 7e04941bccb2683f8a6e3ee38a99c50129234dd1 Mon Sep 17 00:00:00 2001 From: Lena Date: Thu, 1 Jan 2026 00:00:00 +0000 Subject: rsend: push phone folders to a home SSH host over rsync 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. --- app/src/main/res/drawable/bg_button_primary.xml | 10 + app/src/main/res/drawable/bg_button_secondary.xml | 13 + app/src/main/res/drawable/bg_card.xml | 9 + app/src/main/res/drawable/bg_chip.xml | 6 + app/src/main/res/drawable/bg_input.xml | 21 ++ app/src/main/res/drawable/dot_off.xml | 11 + app/src/main/res/drawable/dot_on.xml | 8 + app/src/main/res/drawable/ic_chevron.xml | 9 + app/src/main/res/drawable/ic_folder.xml | 9 + app/src/main/res/drawable/ic_key.xml | 9 + .../main/res/drawable/ic_launcher_background.xml | 9 + .../main/res/drawable/ic_launcher_foreground.xml | 14 + app/src/main/res/drawable/ic_notification.xml | 10 + app/src/main/res/drawable/ic_remote.xml | 9 + app/src/main/res/drawable/ic_schedule.xml | 12 + app/src/main/res/layout/activity_folder.xml | 123 ++++++ app/src/main/res/layout/activity_log.xml | 56 +++ app/src/main/res/layout/activity_main.xml | 413 +++++++++++++++++++++ app/src/main/res/layout/activity_remote.xml | 107 ++++++ app/src/main/res/layout/activity_schedule.xml | 75 ++++ app/src/main/res/layout/app_toolbar.xml | 11 + app/src/main/res/layout/dialog_key.xml | 40 ++ app/src/main/res/layout/item_folder.xml | 48 +++ app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml | 6 + app/src/main/res/values-night/colors.xml | 18 + app/src/main/res/values/colors.xml | 20 + app/src/main/res/values/dimens.xml | 13 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/themes.xml | 103 +++++ 29 files changed, 1195 insertions(+) create mode 100644 app/src/main/res/drawable/bg_button_primary.xml create mode 100644 app/src/main/res/drawable/bg_button_secondary.xml create mode 100644 app/src/main/res/drawable/bg_card.xml create mode 100644 app/src/main/res/drawable/bg_chip.xml create mode 100644 app/src/main/res/drawable/bg_input.xml create mode 100644 app/src/main/res/drawable/dot_off.xml create mode 100644 app/src/main/res/drawable/dot_on.xml create mode 100644 app/src/main/res/drawable/ic_chevron.xml create mode 100644 app/src/main/res/drawable/ic_folder.xml create mode 100644 app/src/main/res/drawable/ic_key.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_notification.xml create mode 100644 app/src/main/res/drawable/ic_remote.xml create mode 100644 app/src/main/res/drawable/ic_schedule.xml create mode 100644 app/src/main/res/layout/activity_folder.xml create mode 100644 app/src/main/res/layout/activity_log.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_remote.xml create mode 100644 app/src/main/res/layout/activity_schedule.xml create mode 100644 app/src/main/res/layout/app_toolbar.xml create mode 100644 app/src/main/res/layout/dialog_key.xml create mode 100644 app/src/main/res/layout/item_folder.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/values-night/colors.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml (limited to 'app/src/main/res') diff --git a/app/src/main/res/drawable/bg_button_primary.xml b/app/src/main/res/drawable/bg_button_primary.xml new file mode 100644 index 0000000..c2a22f5 --- /dev/null +++ b/app/src/main/res/drawable/bg_button_primary.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/bg_button_secondary.xml b/app/src/main/res/drawable/bg_button_secondary.xml new file mode 100644 index 0000000..93c7ccd --- /dev/null +++ b/app/src/main/res/drawable/bg_button_secondary.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/bg_card.xml b/app/src/main/res/drawable/bg_card.xml new file mode 100644 index 0000000..0971d54 --- /dev/null +++ b/app/src/main/res/drawable/bg_card.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/app/src/main/res/drawable/bg_chip.xml b/app/src/main/res/drawable/bg_chip.xml new file mode 100644 index 0000000..aecffef --- /dev/null +++ b/app/src/main/res/drawable/bg_chip.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_input.xml b/app/src/main/res/drawable/bg_input.xml new file mode 100644 index 0000000..b87f6b3 --- /dev/null +++ b/app/src/main/res/drawable/bg_input.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/dot_off.xml b/app/src/main/res/drawable/dot_off.xml new file mode 100644 index 0000000..3115ccc --- /dev/null +++ b/app/src/main/res/drawable/dot_off.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/app/src/main/res/drawable/dot_on.xml b/app/src/main/res/drawable/dot_on.xml new file mode 100644 index 0000000..396b841 --- /dev/null +++ b/app/src/main/res/drawable/dot_on.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_chevron.xml b/app/src/main/res/drawable/ic_chevron.xml new file mode 100644 index 0000000..4c416de --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml new file mode 100644 index 0000000..b5b85f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_folder.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_key.xml b/app/src/main/res/drawable/ic_key.xml new file mode 100644 index 0000000..1d905df --- /dev/null +++ b/app/src/main/res/drawable/ic_key.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..c468735 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..ff1dc35 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/ic_notification.xml b/app/src/main/res/drawable/ic_notification.xml new file mode 100644 index 0000000..b4309dd --- /dev/null +++ b/app/src/main/res/drawable/ic_notification.xml @@ -0,0 +1,10 @@ + + + + diff --git a/app/src/main/res/drawable/ic_remote.xml b/app/src/main/res/drawable/ic_remote.xml new file mode 100644 index 0000000..c81a049 --- /dev/null +++ b/app/src/main/res/drawable/ic_remote.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_schedule.xml b/app/src/main/res/drawable/ic_schedule.xml new file mode 100644 index 0000000..e125104 --- /dev/null +++ b/app/src/main/res/drawable/ic_schedule.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/layout/activity_folder.xml b/app/src/main/res/layout/activity_folder.xml new file mode 100644 index 0000000..1a15f00 --- /dev/null +++ b/app/src/main/res/layout/activity_folder.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +