Windows port of EncFS
C++ C Batchfile Perl CMake NSIS Shell
#76 Compare This branch is 116 commits ahead, 29 commits behind vgough:master.
Latest commit 3bd0c8c Nov 17, 2016 @jetwhiz committed on GitHub Add choco pkg mgr to installation section
Permalink
Failed to load latest commit information.
.github Minor updates to GitHub issue template May 28, 2016
ci revert ci removal Sep 8, 2016
cmake replace rlog with easylogging++ Apr 25, 2016
deps Update to more recent easylogging++ Sep 16, 2016
encfs Bump to latest stable Dokany Nov 4, 2016
gpg_keys Add public signing key for "jetwhiz" to repository Aug 31, 2016
po add target to rebuild pot file Sep 9, 2016
tests tests: open file with umask 0777 Jun 25, 2016
.clang-format reformat using clang Oct 19, 2014
.gitignore Apply changes to port encfs v1.8.2 (latest) to windows Nov 22, 2015
.travis.yml tweak docs, cleanup metadata Sep 9, 2016
AUTHORS Bring encfs4win up-to-date with encfs v1.9 release Sep 9, 2016
CMakeLists.txt bump version to 1.9.1 Sep 16, 2016
COPYING add license text for included sources Apr 25, 2016
COPYING.GPL apply license change Oct 22, 2012
COPYING.LGPL apply license change Oct 22, 2012
ChangeLog add changelog summary wqfor v1.9 series Sep 18, 2016
DESIGN.md Fix pod links in DESIGN.md Feb 28, 2015
INSTALL.md remove old drone config Sep 7, 2016
PERFORMANCE.md Put benchmark results into PERFORMANCE.md Dec 8, 2014
README-NLS remove reference to old autoconf script Jun 18, 2015
README.md Add choco pkg mgr to installation section Nov 17, 2016
build-dokany.bat Bump to latest stable Dokany Nov 4, 2016
build-easyloggingpp.bat Update to more recent easylogging++ Sep 16, 2016
build-libgcrypt.bat Add support for non-interactive build scripts May 28, 2016
build-libgcrypt.sh Add auto-build scripts for libgcrypt and libgpg-error Mar 31, 2016
build-libgpgerror.bat Add support for non-interactive build scripts May 28, 2016
build-libgpgerror.sh Add auto-build scripts for libgcrypt and libgpg-error Mar 31, 2016
build-openssl.bat Update to OpenSSL 1.0.2j Nov 4, 2016
build-tinyxml2.bat Add support for non-interactive build scripts May 28, 2016
build.bat Add support for non-interactive build scripts May 28, 2016
build.sh Add "build.sh" helper script Nov 12, 2015
circle.yml replace rlog with easylogging++ Apr 25, 2016
config.h.cmake drop old TR1 test Apr 26, 2016
create-dev-pkg.sh add LIB_INSTALL_DIR override, fixes #213 Sep 15, 2016
devmode improve devmode build options Aug 17, 2016
test.sh tests: fix paths for new build path, add "test.sh" wrapper for usability Nov 12, 2015

README.md

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 (currently v1.0.2j). 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!