Re-design of the original CryFS code to work as a library.
Go to file
2016-02-14 16:35:37 +01:00
cpack Fix cmake warning 2016-02-14 01:57:34 +01:00
src Fix compile on Debian 8 (link it to a library it wants) 2016-02-14 16:35:37 +01:00
test Fix some more fuse tests 2016-02-14 02:23:54 +01:00
vendor Update spdlog: Allow syslog loggers on Mac 2016-02-13 15:54:01 +01:00
.gitignore Fix gitignore 2016-02-11 17:38:35 +01:00
.travis.yml Use parallel build of boost libraries on travis CI 2016-02-12 22:10:06 +01:00
ChangeLog.txt Fixing ChangeLog 2016-02-13 15:17:49 +01:00
CMakeLists.txt Don't build test cases by default. Only build them, when -DBUILD_TESTING=on is specified. 2016-02-14 16:25:21 +01:00
LICENSE Update LICENCE to LGPL 2015-03-12 16:21:53 +01:00
README.md Don't build test cases by default. Only build them, when -DBUILD_TESTING=on is specified. 2016-02-14 16:25:21 +01:00
utils.cmake Improve error messages when libraries aren't found 2016-02-14 15:55:54 +01:00

CryFS Build Status

CryFS encrypts your files, so you can safely store them anywhere. It works well together with cloud services like Dropbox, iCloud, OneDrive and others. See https://www.cryfs.org.

Install latest release

Easy install (Ubuntu and Debian)

wget -O - https://www.cryfs.org/install.sh | sudo bash

Manual install (Ubuntu)

# Add apt key
wget -O - https://www.cryfs.org/apt.key | sudo apt-key add -

# Add apt repository
sudo sh -c "echo \"deb http://apt.cryfs.org/ubuntu `lsb_release -s -c` main\" > /etc/apt/sources.list.d/cryfs.list"

# Install cryfs 
sudo apt-get update
sudo apt-get install cryfs

Manual install (Debian)

# Add apt key
wget -O - https://www.cryfs.org/apt.key | sudo apt-key add -

# Add apt repository
sudo sh -c "echo \"deb http://apt.cryfs.org/debian `lsb_release -s -c` main\" > /etc/apt/sources.list.d/cryfs.list"

# Install cryfs 
sudo apt-get update
sudo apt-get install cryfs

GUI

If you want to use a GUI to mount your CryFS volumes, take a look at zuluCrypt. You can simply drag&drop your CryFS encrypted directory into the zuluMount application to mount it.

Building from source

Requirements

  • GCC version >= 4.8 or Clang >= 3.5
  • CMake version >= 2.8
  • libcurl4 (including development headers)
  • Boost libraries version >= 1.56 (including development headers)
    • filesystem
    • system
    • chrono
    • program_options
    • thread
  • Crypto++ version >= 5.6.3 (including development headers) (TODO Lower minimal version possible?)
  • SSL development libraries (including development headers, e.g. libssl-dev)
  • libFUSE version >= 2.8.6 (including development headers)
  • Python >= 2.7

You can use the following commands to install these requirements

    # Ubuntu
    $ sudo apt-get install g++ cmake libcurl4-openssl-dev libboost-filesystem-dev libboost-system-dev libboost-chrono-dev libboost-program-options-dev libboost-thread-dev libcrypto++-dev libssl-dev libfuse-dev python
    
    # Fedora
    TODO
    
    # Macintosh
    brew install cmake boost cryptopp osxfuse

Build & Install

  1. Clone repository

    $ git clone https://github.com/cryfs/cryfs.git cryfs
    $ cd cryfs
    
  2. Build

    $ mkdir cmake && cd cmake
    $ cmake .. -DCMAKE_BUILD_TYPE=Release
    $ make
    
  3. Install

    $ sudo make install
    

You can pass the following variables to CMake (using -Dvariablename=value):

  • -DCMAKE_BUILD_TYPE=[Release|Debug]: Whether to run code optimization or add debug symbols
  • -DBUILD_TESTING=[on|off]: Whether to build the test cases (can take a long time)

On most systems, CMake should find the libraries automatically. If this doesn't work for you, you can use the following CMake variables:

  • -DFUSE_LIB_PATH=[path]: Path to the directory containing the fuse library (or osxfuse library on Mac)
  • -DCRYPTOPP_LIB_PATH=[path]: Path to the directory containing the Crypto++ library

Creating .deb packages

There are additional requirements if you want to create .deb packages. They are:

  • CMake version >= 3.3
  • (optional) rpmbuild
  1. Clone repository

    $ git clone https://github.com/cryfs/cryfs.git cryfs
    $ cd cryfs
    
  2. Build

    $ mkdir cmake && cd cmake
    $ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off
    $ make package