EncFS: an Encrypted Filesystem for FUSE.
Go to file
Jakob Unterwurzacher dee3f628e3 Implement --nocache
Disable block cache (in EncFS) and stat cache (in kernel).
This is needed if the backing files may be modified
behind the back of EncFS (for example, when you mount
an encrypted filesystem exported by encfs --reverse).

The reverse grow tests fail when this option is not passed to the
decrypting mount.
2014-11-17 21:57:06 +01:00
encfs Implement --nocache 2014-11-17 21:57:06 +01:00
intl 1.x: update gettext, replace autosprintf with boost::format 2013-11-13 06:45:46 +00:00
m4 rewrite C++11 check to look for basic classes 2014-10-26 11:35:52 -07:00
po Remove autogenerated files 2014-10-12 18:33:41 +02:00
tests Implement --nocache 2014-11-17 21:57:06 +01:00
.clang-format reformat using clang 2014-10-18 19:19:33 -07:00
.gitignore Add .gitginore: Ignore files that are generated on build 2014-10-12 18:36:50 +02:00
.travis.yml test with both gcc and clang 2014-10-26 11:35:56 -07:00
AUTHORS Import version 1.4.0 2008-01-07 08:09:04 +00:00
ChangeLog 1.x: update gettext, replace autosprintf with boost::format 2013-11-13 06:45:46 +00:00
configure.ac add config macro to check for c++11 support 2014-10-26 11:02:13 -07:00
COPYING apply license change 2012-10-22 05:30:55 +00: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
dk2ChangeLog Import version 1.4.0 2008-01-07 08:09:04 +00:00
encfs.spec.in Import version 1.4.0 2008-01-07 08:09:04 +00:00
INSTALL fix setup docs in INSTALL. issue 47 2009-11-27 08:04:38 +00:00
makedist2.sh.in Cleanup option passing to make it simpler to pass options around. 2010-08-30 06:32:05 +00:00
makedist.sh update m4 macros, remove auto-generated libtool 2011-12-28 23:34:15 +00:00
Makefile.am tests: Move perl tests to tests/, make them callable from top-level Makefile 2014-10-20 20:55:02 +02:00
Makefile.common Import version 1.4.0 2008-01-07 08:09:04 +00:00
Makefile.dist fix setup docs in INSTALL. issue 47 2009-11-27 08:04:38 +00:00
README Import version 1.4.0 2008-01-07 08:09:04 +00:00
README-NLS Import version 1.4.0 2008-01-07 08:09:04 +00:00
README.md README.md: Mention EncFS unique features 2014-10-20 21:16:40 +02:00
reconfig.sh update autoconf and gettext scripts 2008-05-23 07:02:17 +00:00
subdirs Import version 1.4.0 2008-01-07 08:09:04 +00:00
TRANSLATORS Import version 1.4.0 2008-01-07 08:09:04 +00:00

EncFS - an Encrypted Filesystem

Build Status

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 is now over 10 years old (first release in 2003). It was written because older NFS-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 released the first version to Open Source in 2003.

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

Status

Over the last 10 years, a number of good alternatives have grown up. Computing power has increased to the point where it is reasonable to encrypt the entire filesystem of personal computers (and even mobile phones!). On Linux, ecryptfs provides a nice dynamically mountable encrypted home directory, and is well integrated in distributions I use, such as Ubuntu.

EncFS has been dormant for a while. I've started cleaning up in order to try and provide a better base for a version 2, but whether EncFS flowers again depends upon community interest. In order to make it easier for anyone to contribute, it is moving a new home on Github. So if you're interested in EncFS, please dive in!

EncFS still has a few unique features that may be interesing to you:

  • --reverse mode: Provides an encrypted view of an unencrypted folder. This enables encrypted remote backups using standard tools like rsync.
  • EncFS is typically 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. On SSDs that have virtually no seek time, that difference may disappear.
  • EncFS works on network file systems (NFS, CIFS...), while ecryptfs is known to still have problems.

GitHub Transition

GitHub hosting for EncFS is a work in progress. See also the original, and more complete, introduction page at http://www.arg0.net/encfs

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.