EncFS: an Encrypted Filesystem for FUSE.
Go to file
Valient Gough 11c4b70a70 Merge pull request #38 from rfjakob/next
Add benchmark.pl
2014-12-08 19:17:39 -08:00
encfs Clarify read-only handling of reverse mounts without uniqueIV 2014-12-01 20:13:40 +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 benchmark.pl: Align numbers right in Markdown output 2014-12-08 19:34:50 +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 Update changelog 2014-11-26 23:57:32 +01:00
configure.ac Use sys/xattr.h instead of attr/xattr.h by default 2014-11-01 08:22:10 +01: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
DESIGN.md DESIGN.md: Add markdown headings 2014-12-08 18:20:15 +01: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: Name all tests ".t.pl" 2014-12-08 17:39:10 +01: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
PERFORMANCE.md Put benchmark results into PERFORMANCE.md 2014-12-08 19:21:33 +01:00
README-NLS Import version 1.4.0 2008-01-07 08:09:04 +00:00
README.md Mention PERFORMANCE.md in README.md 2014-12-08 19:47:56 +01: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.

For more technical details and a usage overview, see DESIGN.md.

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!

Unique Features

EncFS has a few features still not found anywhere else (as of Dec 2014) that may be interesing 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.

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.