cryfs / cryfs
- четверг, 2 ноября 2017 г. в 03:16:52
Cryptographic filesystem for the cloud
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.
sudo apt install cryfs
# 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
# 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
If you want to use a GUI to mount your CryFS volumes, take a look at the SiriKali project. You have to install the GUI and also CryFS itself for it to work.
You can use the following commands to install these requirements
# Ubuntu
$ sudo apt-get install git g++ cmake make 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 make libcurl-devel boost-devel boost-static cryptopp-devel openssl-devel fuse-devel python
# Macintosh
brew install cmake boost cryptopp openssl
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):
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"
There are additional requirements if you want to create packages. They are:
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
On the event of a password leak, you are strongly advised to create a new filesystem and copy all the data over from the previous one. Done this, all copies of the compromised filesystem and config file must be removed (e.g, from the "previous versions" feature of your cloud system) to prevent access to the key (and, as a result, your data) using the leaked password.