Re-design of the original CryFS code to work as a library.
Go to file
2024-07-22 21:16:39 +02:00
cmake-utils libcryfs: switch to cryfs develop 2024-06-07 19:30:14 +02:00
src libcryfs: switch to cryfs develop 2024-06-07 19:30:14 +02:00
vendor libcryfs: Update Boost to 1.79.0 & allow curl and wget for download 2024-07-22 21:16:39 +02:00
.clang-tidy - Switch some CI jobs to clang 15 2023-07-08 14:48:59 -07:00
.gitignore Add vscode folder to gitignore 2020-07-10 16:54:07 -07:00
.gitmodules libcryfs: Genesis 2022-06-26 13:03:57 +02:00
ChangeLog.txt Update to fuse 2.9 2023-08-06 22:17:39 -07:00
CMakeLists.txt libcryfs: switch to cryfs develop 2024-06-07 19:30:14 +02:00
CMakeSettings.json Update to DokanY 2.0.6.1000 2023-07-10 18:39:55 -07:00
LICENSE.txt Tiny cleanup (#397) 2021-09-01 18:44:21 -07:00
README.md Update to fuse 2.9 2023-08-06 22:17:39 -07:00

libcryfs is a re-design of the original CryFS code to work as a library. Volumes are not mounted with FUSE but rather opened in memory and accessed through API calls. What's the purpose ?

  • Allow the use of CryFS on platforms where FUSE is not available (such as Android)
  • Reduce attack surface by restricting volumes access to only one process rather than one user

Warning !

The only goal of this library is to be integrated in DroidFS. Thus, the current API has been designed to be accessed only via Java Native Interface, and logging has been redirected to Android logcat. You cannot use this library as is outside of Android. Moreover, libcryfs doesn't implement all features provided by CryFS such as symbolic links, editing attributes, flushing files... Use it at your own risk !

Changes:

Here is what has been modified from the original project:

  • Update checks disabled
  • FUSE, curl, range-v3 dependencies removed
  • Conan configuration removed (switched to git submodules for boost and spdlog)
  • src/cryfs-unmount and src/stats directories deleted
  • sh scripts, cpack, doc, test and vendor/googletest deleted
  • Main program cryfs-cli removed
  • boost build configured with Boost-for-Android
  • Automatic version detection removed
  • Interactive mode removed (including any writes to stdout)
  • Logging output redirected to logcat
  • JNI API created in src/jni