Re-design of the original CryFS code to work as a library.
Go to file
Sebastian Messmer 452519ed0b Implement storing file access times.
Feature is not enabled yet, because this would break compatiblity with file systems from old CryFS versions (will be enabled in CryFS 0.9.0).
However, it already fixes https://github.com/cryfs/cryfs/issues/4 because it doesn't say 'operation not supported' anymore when modifying file times
2016-02-09 09:43:18 +01:00
debfiles When installing .deb files, it will automatically add the software source for automatic updates. When uninstalling, the software source will be removed with it. 2015-12-17 19:48:56 +01:00
src Implement storing file access times. 2016-02-09 09:43:18 +01:00
test When running tests, don't actually send http requests from version checker, but mock the http service. 2016-01-28 17:55:26 +00:00
.gitignore Ignore test-generated files 2016-02-06 14:04:17 +01:00
.travis.yml Fix installing cmake on travis 2016-01-15 23:38:44 +01:00
CMakeLists.txt Fix package manager warning when installing the .deb package 2016-01-12 14:21:57 +01:00
ChangeLog.txt Added bugfix to ChangeLog 2016-02-09 01:19:18 +01:00
LICENSE Update LICENCE to LGPL 2015-03-12 16:21:53 +01:00
README.md Small typo 2016-01-31 21:44:32 +01:00
biicode.conf Update dependencies 2016-02-09 01:22:35 +01:00

README.md

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.

This repository contains the filesystem implementation. There are submodules in the following repositores:

  • Blockstore: Store (encrypted) fixed-size blocks of data in different backends
  • Blobstore: Store resizeable blobs of data using blocks from a blockstore
  • ParallelAccessStore: Concurrency primitive for Blockstore/Blobstore
  • Fs++: Implement a file system against a platform independent interface

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

Building from source

Requirements

  • biicode

    # After installing, call
    $ bii setup:cpp
    
  • GCC version >= 4.8 or Clang (TODO which minimal version?)

  • CMake version >= 3.3

  • libcurl4 (including development headers)

  • libFUSE >= 2.8.6 (including development headers)

    # Ubuntu
    $ sudo apt-get install libfuse-dev
    
    # Fedora
    TODO
    
    # Macintosh
    TODO
    

Build

  1. Clone repository

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

    $ bii init -L
    $ bii configure -D CMAKE_BUILD_TYPE=Release
    $ bii build
    
  3. (if build failed) Biicode can have a bug sometimes where the first call to configure fails. If that happens, just call it again.

  4. Install

    $ cd bii/build/messmer_cryfs
    $ sudo make install
    

You can pass normal make parameters after a double dash. This can for example be used to add "-j5" to compile with 5 build threads in parallel:

    $ bii build -- -j5