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"
2016-03-15 14:31:52 +01:00
# Install cryfs
2015-12-17 19:49:06 +01:00
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"
2016-03-15 14:31:52 +01:00
# Install cryfs
2015-12-17 19:49:06 +01:00
sudo apt-get update
sudo apt-get install cryfs
2016-03-15 14:31:52 +01:00
2016-02-12 23:29:44 +01:00
GUI
===
2016-03-15 12:48:13 +01:00
If you want to use a GUI to mount your CryFS volumes, take a look at the [cryfs-gui project ](https://github.com/mhogomchungu/cryfs-gui ). You have to install the GUI **and** also CryFS itself for it to work.
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-03-04 01:35:31 +01:00
- GCC version >= 4.8 or Clang >= 3.7
2016-02-12 10:16:38 +01:00
- CMake version >= 2.8
2016-03-15 14:31:52 +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
2016-03-15 14:31:52 +01:00
2015-09-29 15:51:09 +02:00
# Fedora
2016-03-15 14:31:52 +01:00
sudo dnf install git gcc-c++ cmake libcurl-devel boost-devel boost-static cryptopp-devel openssl-devel fuse-devel python
2015-09-29 15:51:09 +02:00
# 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
---------------
2016-03-15 14:31:52 +01:00
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
2016-03-15 14:31:52 +01:00
2016-02-11 15:28:34 +01:00
3. Install
2015-10-26 20:44:00 +01:00
$ sudo make install
2016-03-15 14:31:52 +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-03-15 14:31:52 +01:00
2016-02-15 20:01:13 +01:00
Troubleshooting
---------------
2016-02-12 10:16:38 +01:00
2016-02-17 01:18:38 +01:00
On most systems, CMake should find the libraries automatically. However, that doesn't always work.
1. **Boost headers not found**
Pass in the boost include path with
cmake .. -DBoost_INCLUDE_DIRS=/path/to/boost/headers
If you want to link boost dynamically (e.g. you don't have the static libraries), use the following:
2016-02-17 01:19:20 +01:00
cmake .. -DBoost_USE_STATIC_LIBS=off
2016-02-17 01:18:38 +01:00
2. **Fuse/Osxfuse library not found**
Pass in the library path with
cmake .. -DFUSE_LIB_PATH=/path/to/fuse/or/osxfuse
3. **Fuse/Osxfuse headers not found**
Pass in the include path with
cmake .. -DCMAKE_CXX_FLAGS="-I/path/to/fuse/or/osxfuse/headers"
4. **CryptoPP library not found**
Pass in the library path with
cmake .. -DCRYPTOPP_LIB_PATH=/path/to/cryptopp
5. **Openssl headers not found**
Pass in the include path with
2016-02-15 18:12:23 +01:00
2016-02-17 01:18:38 +01:00
cmake .. -DCMAKE_C_FLAGS="-I/path/to/openssl/include"
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