2016-02-11 19:58:02 +01:00
# CryFS [![Build Status](https://travis-ci.org/cryfs/cryfs.svg?branch=master)](https://travis-ci.org/cryfs/cryfs)
2015-12-17 20:36:15 +01:00
CryFS encrypts your files, so you can safely store them anywhere. It works well together with cloud services like Dropbox, iCloud, OneDrive and others.
2016-01-31 21:44:32 +01:00
See [https://www.cryfs.org ](https://www.cryfs.org ).
2015-09-12 20:49:42 +02:00
2015-12-17 19:53:57 +01:00
Install latest release
2015-12-17 19:49:06 +01:00
======================
Easy install (Ubuntu and Debian)
--------------------------------
2015-12-18 04:27:12 +01:00
wget -O - https://www.cryfs.org/install.sh | sudo bash
2015-12-17 19:49:06 +01:00
Manual install (Ubuntu)
-----------------------
# Add apt key
2015-12-18 04:27:12 +01:00
wget -O - https://www.cryfs.org/apt.key | sudo apt-key add -
2015-12-17 19:49:06 +01:00
# Add apt repository
2015-12-17 20:03:41 +01:00
sudo sh -c "echo \"deb http://apt.cryfs.org/ubuntu `lsb_release -s -c` main\" > /etc/apt/sources.list.d/cryfs.list"
2015-12-17 19:49:06 +01:00
# Install cryfs
sudo apt-get update
sudo apt-get install cryfs
Manual install (Debian)
-----------------------
# Add apt key
2015-12-18 04:27:12 +01:00
wget -O - https://www.cryfs.org/apt.key | sudo apt-key add -
2015-12-17 19:49:06 +01:00
# Add apt repository
2015-12-17 20:03:41 +01:00
sudo sh -c "echo \"deb http://apt.cryfs.org/debian `lsb_release -s -c` main\" > /etc/apt/sources.list.d/cryfs.list"
2015-12-17 19:49:06 +01:00
# Install cryfs
sudo apt-get update
sudo apt-get install cryfs
2016-02-12 23:29:44 +01:00
GUI
===
If you want to use a GUI to mount your CryFS volumes, take a look at [zuluCrypt ](http://mhogomchungu.github.io/zuluCrypt/ ). You can simply drag& drop your CryFS encrypted directory into the zuluMount application to mount it.
2015-09-29 15:47:05 +02:00
Building from source
====================
Requirements
------------
2016-02-15 02:40:56 +01:00
- Git (for getting the source code)
2016-02-13 02:08:55 +01:00
- GCC version >= 4.8 or Clang >= 3.5
2016-02-12 10:16:38 +01:00
- CMake version >= 2.8
2016-01-27 12:15:21 +01:00
- libcurl4 (including development headers)
2016-02-11 17:34:08 +01:00
- Boost libraries version >= 1.56 (including development headers)
- filesystem
- system
- chrono
- program_options
- thread
2016-02-15 00:02:23 +01:00
- Crypto++ version >= 5.6.3 (including development headers)
2016-02-12 13:27:06 +01:00
- SSL development libraries (including development headers, e.g. libssl-dev)
2016-02-15 18:07:24 +01:00
- libFUSE version >= 2.8.6 (including development headers), on Mac OS X instead install osxfuse from https://osxfuse.github.io/
2016-02-11 20:20:57 +01:00
- Python >= 2.7
2016-02-11 17:34:08 +01:00
You can use the following commands to install these requirements
2015-09-29 15:47:05 +02:00
2015-09-29 15:51:09 +02:00
# Ubuntu
2016-02-15 02:40:56 +01:00
$ sudo apt-get install git 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
2015-09-29 15:51:09 +02:00
# Fedora
TODO
# Macintosh
2016-02-15 18:07:24 +01:00
brew install cmake boost cryptopp openssl
2015-09-29 15:51:09 +02:00
2016-02-12 10:16:38 +01:00
Build & Install
---------------
2015-09-29 15:47:05 +02:00
1. Clone repository
2016-02-11 19:58:55 +01:00
$ git clone https://github.com/cryfs/cryfs.git cryfs
2015-09-29 15:47:05 +02:00
$ cd cryfs
2. Build
2016-02-11 15:28:34 +01:00
$ mkdir cmake & & cd cmake
2016-02-14 17:06:06 +01:00
$ cmake ..
2016-02-11 15:28:34 +01:00
$ make
2015-10-28 22:10:46 +01:00
2016-02-11 15:28:34 +01:00
3. Install
2015-10-26 20:44:00 +01:00
$ sudo make install
2016-02-14 03:13:50 +01:00
2016-02-15 20:01:13 +01:00
You can pass the following variables to the *cmake* command (using *-Dvariablename=value* ):
2016-02-15 02:40:56 +01:00
- -D**CMAKE_BUILD_TYPE**=[Release|Debug]: Whether to run code optimization or add debug symbols. Default: Release
- -D**BUILD_TESTING**=[on|off]: Whether to build the test cases (can take a long time). Default: off
2016-02-14 14:07:46 +01:00
2016-02-15 20:01:13 +01:00
Troubleshooting
---------------
2016-02-14 14:07:46 +01:00
On most systems, CMake should find the libraries automatically.
If this doesn't work for you, you can use the following CMake variables:
- -D**FUSE_LIB_PATH**=[path]: Path to the directory containing the fuse library (or osxfuse library on Mac)
- -D**CRYPTOPP_LIB_PATH**=[path]: Path to the directory containing the Crypto++ library
2016-02-12 10:16:38 +01:00
2016-02-15 18:07:24 +01:00
If your build can't find header files (this was reported on Mac OS X for openssl and fuse headers),
2016-02-15 18:12:23 +01:00
you can add include paths using *-DCMAKE_CXX_FLAGS="-I/path/to/header/files"* or *-DCMAKE_C_FLAGS.
Example:
$ cmake .. -DCMAKE_C_FLAGS="-I/usr/local/opt/openssl/include" -DCMAKE_CXX_FLAGS="-I/usr/local/include/osxfuse"
2016-02-15 18:07:24 +01:00
2016-02-12 10:16:38 +01:00
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