|
1 month ago | |
---|---|---|
app | 1 month ago | |
fastlane/metadata/android/en-US | 1 month ago | |
gradle/wrapper | 1 month ago | |
.gitignore | 7 months ago | |
LICENSE.txt | 7 months ago | |
README.md | 1 month ago | |
build.gradle | 2 months ago | |
gradle.properties | 7 months ago | |
gradlew | 5 months ago | |
gradlew.bat | 5 months ago | |
settings.gradle | 7 months ago |
DroidFS is an alternative way to use encrypted overlay filesystems on Android that uses its own internal file explorer instead of mounting virtual volumes. It currently only works with gocryptfs but support for CryFS could be added in the future.
DroidFS is provided "as is", without any warranty of any kind. It shouldn't be considered as an absolute safe way to store files. DroidFS cannot protect you from screen recording apps, keyloggers, apk backdooring, compromised root accesses, memory dumps etc. Do not use this app with volumes containing sensitive data unless you know exactly what you are doing.
DroidFS allows you to enable/disable unsafe features to fit your needs between security and comfort. It is strongly recommended to read the documentation of a feature before enabling it.
You can download the latest version in the Releases section. All APKs from v1.3.0 are signed with my PGP key available on keyservers:
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 007F84120107191E
Fingerprint: BD5621479E7B74D36A405BE8007F84120107191E
Email: Hardcore Sushi <hardcore.sushi@disroot.org>
To verify APKs: gpg --verify <ASC file> <APK file>
DroidFS need some permissions to work properly. Here is why:
Most of the original gocryptfs code was used as is (written in Go) and compiled to native code. That's why you need Go and the Android Native Development Kit (NDK) to build DroidFS from source.
$ git clone https://github.com/hardcore-sushi/DroidFS.git
Gocryptfs need openssl to work:
$ cd DroidFS/app/libgocryptfs
$ wget -qO - https://www.openssl.org/source/openssl-1.1.1h.tar.gz | tar -xvzf -
First, we need to build libgocryptfs.
For this, we will need to install some dependencies:
sudo apt-get install libcrypto++-dev libssl-dev pkg-config
And also Go dependencies:
go get golang.org/x/sys/unix golang.org/x/sys/cpu golang.org/x/crypto/hkdf
Then, retrieve your Android NDK installation path, usually someting like "/home/<user>/AndroidSDK/ndk/<NDK version>". We can now start the build process:
$ cd DroidFS/app/libgocryptfs
$ env ANDROID_NDK_HOME="<your ndk path>" OPENSSL_PATH="./openssl-1.1.1h" ./build.sh
Then, open the DroidFS project with Android Studio.
If a device (virtual or physical) is connected, just click on "Run".
If you want to generate a signed APK, you can follow this post.
Thanks to these open source projects that DroidFS uses: