EncFS: an Encrypted Filesystem for FUSE.
Go to file
2024-06-20 13:44:13 -04:00
cmake cmake FUSE & OpenSSL finding (#591) 2020-03-03 22:48:28 +01:00
encfs Exclude files specified by --exclude 2022-03-19 23:23:05 -04:00
integration Update normal test for Windows (#602) 2020-03-17 22:27:36 +01:00
intl 1.x: update gettext, replace autosprintf with boost::format 2013-11-13 06:45:46 +00:00
po Fix tabulations in translation files (#605) 2020-05-09 15:41:30 +02:00
test Deprecated INSTANTIATE_TEST_CASE_P (#593) 2020-03-03 22:33:33 +01:00
vendor Initialize dummy variable 2022-03-18 21:45:13 -04:00
.cirrus.yml Reorganize CI files (#597) 2020-03-11 19:05:15 +01:00
.clang-format reformat using clang 2014-10-18 19:19:33 -07:00
.gitattributes Add Windows CI (#595) 2020-03-11 19:17:47 +01:00
.gitignore drop autoconf ignore rules 2015-06-16 20:41:50 -07:00
.travis.yml Add Windows CI (#595) 2020-03-11 19:17:47 +01:00
AUTHORS tweak docs, cleanup metadata 2016-09-09 14:23:04 +02:00
build.sh cmake FUSE & OpenSSL finding (#591) 2020-03-03 22:48:28 +01:00
ChangeLog Changelog 1.9.5 2018-04-27 10:52:22 +02:00
CMakeLists.txt cmake FUSE & OpenSSL finding (#591) 2020-03-03 22:48:28 +01:00
config.h.cmake Fix setting nanosecond times 2018-09-16 15:41:24 -04:00
COPYING add license text for included sources 2016-04-24 23:15:43 -07:00
COPYING.GPL apply license change 2012-10-22 05:30:55 +00:00
COPYING.LGPL apply license change 2012-10-22 05:30:55 +00:00
create-dev-pkg.sh add LIB_INSTALL_DIR override, fixes #213 2016-09-15 16:34:03 -07:00
DESIGN.md Fix pod links in DESIGN.md 2015-02-27 21:10:12 -08:00
devmode switch to osx_image xcode8.3 2017-08-08 23:34:32 -04:00
INSTALL.md cmake FUSE & OpenSSL finding (#591) 2020-03-03 22:48:28 +01:00
integration.sh Add current path to perl integration tests 2017-08-10 20:49:39 +02:00
package-source.sh Add signing hint in package-source.sh helper (#517) 2018-04-27 10:43:35 +02:00
PERFORMANCE.md Put benchmark results into PERFORMANCE.md 2014-12-08 19:21:33 +01:00
README-NLS remove reference to old autoconf script 2015-06-17 20:47:56 -07:00
README.md Update project status in README (#671) 2024-05-26 10:57:12 -07:00

EncFS - an Encrypted Filesystem

This project is NOT maintained. For details, see the Status section.

About

EncFS provides an encrypted filesystem in user-space. It runs in userspace, using the FUSE library for the filesystem interface. EncFS is open source software, licensed under the LGPL.

EncFS was first released in 2003, making it one of the earlier FUSE filesystems! I wrote it because I needed to encrypt my data while traveling, and the existing NFS and kernel-based encrypted filesystems such as CFS had not kept pace with Linux development. When FUSE became available, I wrote a CFS replacement for my own use and later released it to Open Source when it seemed stable.

EncFS encrypts individual files, by translating all requests for the virtual EncFS filesystem into the equivalent encrypted operations on the raw filesystem.

For more info, see:

Status

In the time since EncFS was written, a lot has changed in the security, privacy, and computing landscapes. Computing power has increased enormously over what a circa-2003 laptop can provide, and so it is no longer a performance burden to encrypt the entire filesystem of a personal device. Software encryption has also spread widely - data encryption is built into most systems and programs, so there is far less of a need to have a separate encryption system.

EncFS has been dormant for a long time now. I haven't used or worked on EncFS in many years. I've left the repository here because I don't want to prevent anyone from using it if they have a need that can't be met otherwise. I'm sure that I have some very old backups that would still require EncFS to access, so I expect that I might have to compile it again someday.

Don't expect any updates on this project. You're free to fork it, of course, but remember that this is a 20+yr old codebase which was only funded by personal interest, so I wouldn't expect it to live up to modern-day coding standards.

If you're considering setting up a new encrypted filesystem wrapper, I'd recommend looking into newer alternatives, such as the excellent GoCryptFS.

Thank you all for the early support, especially the FUSE author Miklos Szeredi, and all the interesting discussions at Open Source and Linux meetups over the years. Valient Gough May 2024

Unique Features

EncFS has a few features still not found anywhere else (as of Dec 2014) that may be interesting to you:

Reverse mode

encfs --reverse provides an encrypted view of an unencrypted folder. This enables encrypted remote backups using standard tools like rsync.

Fast on classical HDDs

EncFS is typically much faster than ecryptfs for stat()-heavy workloads when the backing device is a classical hard disk. This is because ecryptfs has to to read each file header to determine the file size - EncFS does not. This is one additional seek for each stat. See PERFORMANCE.md for detailed benchmarks on HDD, SSD and ramdisk.

Works on top of network filesystems

EncFS works on network file systems (NFS, CIFS...), while ecryptfs is known to still have problems.

Development

The master branch contains the latest stable codebase. This is where bug fixes and improvments should go.

The dev branch contains experimental work, some of which may be back-ported to the master branch when it is stable. The dev branch is not stable, and there is no guarantee of backward compatibility between changes.

Windows

EncFS works on Cygwin, there are also some Windows ports.

See the wiki for additional info.

FAQ

What settings should I use for Dropbox?

Use standard mode. There have been reports of a pathological interaction of paranoia mode with Dropbox' rename detection. The problem seems to be with External IV chaining, which is not active in standard mode.