/encfs4win

Windows port of EncFS

Primary LanguageC++OtherNOASSERTION

encfs4win - Windows port of EncFS

Build status

About

EncFS4win is a revival of the original encfs4win project, but has been brought up-to-date with recent changes done to the EncFS project. The original encfs4win was based on EncFS v1.7.4, which was shown to have some security issues. Updates to EncFS have been done recently to fix many of these issues, and the goal of this project is to port these modernizations to Windows.

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

A GUI for encfs4win is available through encfsw, providing a tray icon that makes mounting and unmounting encrypted partitions even easier!

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

For more info, see:

NOTE: Be sure to use a drive (like "X:") as plain_dir to avoid case sensitive problems which results in file/folder not found problems!

Installing

Installation is as simple as a few clicks! Simply download the latest encfs4win installer from encfs4win/releases (e.g., encfs4win-installer.exe) and run it.

The installer contains everything needed to run encfs on Windows, including the encfs executables, OpenSSL libraries, and all necessary MS Visual C++ libraries. It will also automatically install the Dokan library (if it is not already installed).

Encfs4win is also now available through the Chocolatey package manager. For installation instructions via choco, please refer to https://chocolatey.org/packages/encfs4win.

Building

Encfs4win has a few dependencies:

  • Visual Studio 2015 - For building the project (including Visual C++ and Windows SDK 10).
  • Dokan library - Handles FUSE portion of software. You can use either legacy (e.g., v0.7.4) or latest (v1.0).
  • TinyXML2 library - Reads and writes configuration files for encfs.
  • Easylogging++ - Provides logging functionality.
  • OpenSSL library - Always use the latest version. Note that you must have Perl installed in order to build OpenSSL!

Automated version

Encfs4win now comes with a fully-automated build tool called "build.bat", located in the root directory. This tool will automatically download, build and install Dokan, TinyXML2, Easylogging++ and OpenSSL, before finally building encfs. Look for "encfs.exe" and "encfsctl.exe" in the encfs\Release folder after building is finished.

The automated tool will also check to see if any of these prerequisites are already installed (by looking for the DOKAN_ROOT and OPENSSL_ROOT environment variables). If found, it will use the installed version and skip over that prerequisite.

Note that this tool also has the capability to build libgcrypt (and libgpg-error) if you provide the "--beta" argument (MSYS required). Encfs is still in the process of providing support for the libgcrypt library, however.

Manual version

You can also choose to handle some or all of the prerequisites yourself. After the above dependencies have been installed and built, simply open the encfs4win solution (encfs/encfs.sln) and build the solution. Note that you must have the environment variables DOKAN_ROOT and OPENSSL_ROOT pointing to your Dokan and OpenSSL installations, respectively (otherwise you will need to modify the solution to point to your installations).

This will result in encfs.exe and encfsctl.exe binaries being built and placed in the encfs\Release directory.

Environment

Encfs4win works on:

  • Windows 10
  • Windows 8 and 8.1
  • Windows Server 2012
  • Windows 7

Status

I will try to keep this updated with the EncFS project as changes come in upstream.

EncFS4win has been successfully built against the original release of Dokan (v0.7.x) as well as the latest Dokan (v1.x.x).

Credits

Special thanks to vgough/encfs and freddy77/encfs4win for establishing the groundwork that made this project possible!