# DroidFS DroidFS is an implementation of encrypted overlay filesystems for Android. It allows you to store files and folder in encrypted virtual volumes so that you can share them, store them in the cloud or simply access them more securely. It currently only supports [gocryptfs](https://github.com/rfjakob/gocryptfs) but support for [CryFS](https://github.com/cryfs/cryfs) is expected to be added soon.

# Disclamer DroidFS is provided "as is", without any warranty of any kind. It shouldn't be considered 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. # Unsafe features 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. # Permissions DroidFS need some permissions to work properly. Here is why: # Download You can download the latest version [here](https://github.com/hardcore-sushi/DroidFS/releases). # Build Most of the original gocryptfs code was used as is (written in Go) and compiled to native code. That's why you need [Go](https://golang.org) and the [Android Native Development Kit (NDK)](https://developer.android.com/ndk/) to build DroidFS from source. #### Install Requirements - [Android Studio](https://developer.android.com/studio/) - [Android NDK and CMake](https://developer.android.com/studio/projects/install-ndk) - [Go](https://golang.org/doc/install) #### Download Sources ``` $ 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.1g.tar.gz | tar -xvzf - ``` #### Build First, we need to build libgocryptfs.
Retrieve your Android NDK installation path, usually someting like "\/ndk/\". ``` $ cd DroidFS/app/libgocryptfs $ env ANDROID_NDK_HOME="" OPENSSL_PATH="./openssl-1.1.1g" ./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](https://stackoverflow.com/a/28938286). # Third party code Thanks to these open source projects that DroidFS uses: ### Modified code: - [gocryptfs](https://github.com/rfjakob/gocryptfs) to encrypt your data ### Libraries: - [Cyanea](https://github.com/jaredrummler/Cyanea) to customize UI - [Glide](https://github.com/bumptech/glide/) to display pictures - [ExoPlayer](https://github.com/google/ExoPlayer) to play media files - [CameraView](https://github.com/natario1/CameraView) to take photos