Simple, reliable, automated S3 uploads for Android.
The exfilac application is a simple application that aims to do one thing well:
Get data out of Android devices and into S3 buckets.
Features:
- The application can work with any S3-compatible storage provider. This
includes Amazon AWS, Vultr Object Storage, IDrive®, and many other commercial
offerings. Additionally, the application can work with self-hosted S3 storage
solutions such as MinIO.
- The application can (recursively) upload the contents of any directory on an
Android device to which it has been granted access. The set of directories
is configurable.
- The application conserves precious bandwidth by avoiding uploading files that
already exist on the remote storage. The cryptographic hashes of files are
computed locally and files are only uploaded if the hashes of
the files on the remote server do not match.
- The application can be configured to upload files on a timed schedule,
and/or in response to various events occurring on the device such as a photo
being taken, or the network becoming available.
- The application vigorously respects the privacy of users: The application
contains no telemetry or analytics of any kind, and never collects any user data.
- Development of the application is performed in the open. The complete source code is made available under
an extremely liberal ISC license, and development and bug tracking is handled
in a public GitHub repository.
- The application rejects bug-prone Android programming practices and libraries
and instead strives for correctness and stability using battle-hardened,
well-tested components designed outside the traditional Android ecosystem.
- The application adopts a cautious development approach and does not pursue
huge sets of complex features. The application attempts to adhere to the Unix
philosophy and provide a simple, sharp tool that does one thing well.
- The application attempts to respect the intelligence of users. Technical
details of many aspects of the system are clearly displayed onscreen, and
important information is not hidden in the misguided pursuit of
"user-friendliness".
- The application is comprehensively documented.