BasicSync
- The app complies with the inclusion criteria
- The app is not already listed in the repo or issue tracker.
- The original app author has been notified (and does not oppose the inclusion). (https://github.com/chenxiaolong/BasicSync/issues/8)
- Donated to support the maintenance of this app in F-Droid.
Link to the source code:
https://github.com/chenxiaolong/BasicSync
Link to app in another app store:
N/A
License used:
GPL-3.0
Category:
Cloud Storage & File Sync
Summary:
BasicSync is a simple app for running Syncthing on Android.
Description:
Features
- Supports Android 9 and newer
- Supports importing and exporting the configuration
- Supports pausing syncing based on network and battery conditions
- Supports Android's HTTP proxy settings
- Runs Syncthing as a library in the main process
- This makes BasicSync immune to Android >=12's child process restrictions
- Small additions to Syncthing's web UI to add a folder picker and QR code scanner
Limitations
-
Android's Storage Access Framework is not supported. While, with effort, it's possible to implement a custom filesystem backend for Syncthing, SAF is not well suited for Syncthing's file access patterns.
- Accessing files by path is extremely expensive. For example, accessing
a/b/crequiresstating every file in directoriesaandb. This is unavoidable without caching. - Syncthing is much more efficient when it can monitor for changes with inotify-style watchers. While it is technically possible to monitor for changes to directories with SAF, it does not report what changed. Computing the changes is an expensive operation. SAF also does not support watching files, only directories.
- Creating and opening files are two separate operations, which can result in concurrency issues and file conflicts. Furthermore, attempting to create a file that already exists results in Android creating a new file with a numbered suffix instead of returning an error.
- Accessing files by path is extremely expensive. For example, accessing