ea3de7360c
* Use cpputils::Serializer and cpputils::Deserializer instead of std::ifstream for storing/loading the block version list |
||
---|---|---|
cpack | ||
src | ||
test | ||
vendor | ||
.gitignore | ||
.travis.yml | ||
ChangeLog.txt | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
travis.install_boost.sh | ||
utils.cmake |
CryFS
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 the cryfs-gui project. You have to install the GUI and also CryFS itself for it to work.
Building from source
Requirements
- Git (for getting the source code)
- GCC version >= 4.8 or Clang >= 3.7
- 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)
- SSL development libraries (including development headers, e.g. libssl-dev)
- libFUSE version >= 2.8.6 (including development headers), on Mac OS X instead install osxfuse from https://osxfuse.github.io/
- Python >= 2.7
You can use the following commands to install these requirements
# Ubuntu
$ 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
# Fedora
sudo dnf install git gcc-c++ cmake libcurl-devel boost-devel boost-static cryptopp-devel openssl-devel fuse-devel python
# Macintosh
brew install cmake boost cryptopp openssl
Build & Install
-
Clone repository
$ git clone https://github.com/cryfs/cryfs.git cryfs $ cd cryfs
-
Build
$ mkdir cmake && cd cmake $ cmake .. $ make
-
Install
$ sudo make install
You can pass the following variables to the cmake command (using -Dvariablename=value):
- -DCMAKE_BUILD_TYPE=[Release|Debug]: Whether to run code optimization or add debug symbols. Default: Release
- -DBUILD_TESTING=[on|off]: Whether to build the test cases (can take a long time). Default: off
Troubleshooting
On most systems, CMake should find the libraries automatically. However, that doesn't always work.
-
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:
cmake .. -DBoost_USE_STATIC_LIBS=off
-
Fuse/Osxfuse library not found
Pass in the library path with
cmake .. -DFUSE_LIB_PATH=/path/to/fuse/or/osxfuse
-
Fuse/Osxfuse headers not found
Pass in the include path with
cmake .. -DCMAKE_CXX_FLAGS="-I/path/to/fuse/or/osxfuse/headers"
-
CryptoPP library not found
Pass in the library path with
cmake .. -DCRYPTOPP_LIB_PATH=/path/to/cryptopp
-
Openssl headers not found
Pass in the include path with
cmake .. -DCMAKE_C_FLAGS="-I/path/to/openssl/include"
Creating .deb packages
There are additional requirements if you want to create .deb packages. They are:
- CMake version >= 3.3
- (optional) rpmbuild
-
Clone repository
$ git clone https://github.com/cryfs/cryfs.git cryfs $ cd cryfs
-
Build
$ mkdir cmake && cd cmake $ cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off $ make package