Existing solutions
Mainline EncFS with Cygwin (detailed below)
Comparison
Solution | FUSE replacement | GUI |
---|---|---|
Mainline EncFS with Cygwin | WinFsp (GitHub) | Yes, using SiriKali (GitHub) |
Encfs4win | Dokany (GitHub) | Yes |
EncFSMP | Pismo File Mount | Yes |
Mainline EncFS with Cygwin
Installation
An installer may be on the way. For now, follow the steps below.
Installation from sources
EncFS can be compiled and used on Cygwin.
Here are the required steps.
You'll also find a Chinese guide written by @youngh070 here.
- cmake
- make
- gcc-g++
- gettext-devel
- libssl-devel
- procps-ng
- perl-test-harness
-
Install WinFsp, latest stable is preferred.
-
Using Cygwin terminal, install WinFsp FUSE into Cygwin :
cd /cygdrive/c/Program*/WinFsp/opt/cygfuse
sh install.sh
-
Get last EncFS version.
-
Using Cygwin terminal, compile, test and install following the
INSTALL.md
file from the version you use.
For example, for 1.9.5 : https://github.com/vgough/encfs/blob/v1.9.5/INSTALL.md
Usage
Use as usual, from a Cygwin or Windows terminal.
You should provide EncFS with a drive-like mountpoint, such as X:
(or /cygdrive/x
).
Example : encfs /cygdrive/c/enc /cygdrive/x
Example : encfs C:\enc X:
You may also consider SiriKali GUI (GitHub).
Tuning
Symlinks are not fully supported, their integration tests may then partially fail.
Symlinks behavior depends on some options, so if you care about them, you may consider :
- value of
winsymlinks
inCYGWIN
environment variable ; - usage (or not) of the limited
-o rellinks
option (see more in billziss-gh/winfsp#153).
For performance matters, you may consider :
- the
exec
/notexec
Cygwin mount option.
For performance and ACLs matters, you may also consider :
- the
noacl
Cygwin mount option.
Warnings
Regarding IVs, which are based on inode numbers : depending on configuration, they may lead to some problems, as file IDs (used by Cygwin to compute inode numbers) may not be consistent on Windows (see 1 and 2). If not sure, they can be disabled during EncFS configuration.