diff --git a/README.md b/README.md index 37aab3c..1877862 100644 --- a/README.md +++ b/README.md @@ -28,41 +28,47 @@ Do not use this app with volumes containing sensitive data unless you know exact - Unlocking volumes using fingerprint authentication - Volume auto-locking when the app goes in background -_For upcoming features, see [TODO.md](https://forge.chapril.org/hardcoresushi/DroidFS/src/branch/master/TODO.md)._ +For planned features, see [TODO.md](https://forge.chapril.org/hardcoresushi/DroidFS/src/branch/master/TODO.md). # Unsafe features Some available features are considered risky and are therefore disabled by default. It is strongly recommended that you read the following documentation if you wish to activate one of these options. -\* These features can work in two ways: temporarily writing the plain file to disk (DroidFS internal storage) or sharing it via memory. By default, DroidFS will choose to keep the file only in memory as it's more secure, but will fallback to disk export if the file is too large to be held in memory. This behavior can be changed with the *"Export method"* parameter in the settings. Please note that some applications require the file to be stored on disk, and therefore do not work with memory-exported files. +⁽¹⁾: These features can work in two ways: temporarily writing the plain file to disk (DroidFS internal storage) or sharing it via memory. By default, DroidFS will choose to keep the file only in memory as it's more secure, but will fallback to disk export if the file is too large to be held in memory. This behavior can be changed with the *"Export method"* parameter in the settings. Please note that some applications require the file to be stored on disk, and therefore do not work with memory-exported files. # Download @@ -90,20 +96,11 @@ F-Droid APKs should be signed with the F-Droid key. More details [here](https:// # Permissions DroidFS needs some permissions for certain features. However, you are free to deny them if you do not wish to use these features. - +- **Read & write access to shared storage**: Required to access volumes located on shared storage. +- **Biometric/Fingerprint hardware**: Required to encrypt/decrypt password hashes using a fingerprint protected key. +- **Camera**: Required to take encrypted photos or videos directly from the app. +- **Record audio**: Required if you want sound on video recorded with DroidFS. +- **Notifications**: Used to report file operations progress and notify about volumes kept open. # Limitations DroidFS works as a wrapper around modified versions of the original encrypted container implementations ([libgocryptfs](https://forge.chapril.org/hardcoresushi/libgocryptfs) and [libcryfs](https://forge.chapril.org/hardcoresushi/libcryfs)). These programs were designed to run on standard x86 Linux systems: they access the underlying file system with file paths and syscalls. However, on Android, you can't access files from other applications using file paths. Instead, one has to use the [ContentProvider](https://developer.android.com/guide/topics/providers/content-providers) API. Obviously, neither Gocryptfs nor CryFS support this API. As a result, DroidFS cannot open volumes provided by other applications (such as cloud storage clients). If you want to synchronize your volumes on a cloud, the cloud application must synchronize the encrypted directory from disk. diff --git a/TODO.md b/TODO.md index d07e7ed..9d3bfcd 100644 --- a/TODO.md +++ b/TODO.md @@ -10,7 +10,7 @@ Here's a list of features that it would be nice to have in DroidFS. As this is a - File associations editor - Discovery before exporting - Making discovery before file operations optional -- Modifiable CryFS scrypt parameters +- Modifiable scrypt parameters - Alert dialog showing details of file operations - Internal file browser to select volumes @@ -19,8 +19,6 @@ Here's a list of features that it would be nice to have in DroidFS. As this is a - [fscrypt](https://www.kernel.org/doc/html/latest/filesystems/fscrypt.html): filesystem encryption at the kernel level ## Health -- F-Droid ABI split -- OpenSSL & FFmpeg as git submodules (useful for F-Droid) - Remove all android:configChanges from AndroidManifest.xml - More efficient thumbnails cache - Guide for translators diff --git a/app/build.gradle b/app/build.gradle index d10d5a4..6aeed1e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,8 +33,8 @@ android { applicationId "sushi.hardcore.droidfs" minSdkVersion 21 targetSdkVersion 34 - versionCode 36 - versionName "2.1.3" + versionCode 37 + versionName "2.2.0" splits { abi { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 14f1f97..0797a21 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -77,7 +77,7 @@ Unsafe Features Manage unsafe features Enable/Disable unsafe features - DroidFS try to be as secure as possible. However, security often involves lack of comfort. This is why DroidFS offer you additional unsafe features that you can enable/disable according to your needs.\n\nWarning: this features can be UNSAFE. Do not use them unless you know exactly what you are doing. It is highly recommended to read the documentation before enabling them. + DroidFS aims to be as secure as possible. However, security often involves lack of comfort. This is why DroidFS offers you additional unsafe features that you can enable and disable according to your needs.\n\nWarning: this features can be UNSAFE. Do not use them unless you know exactly what you are doing. It is highly recommended to read the documentation before enabling them. See unsafe features Open as Image