Cryptify offers file encryption/decryption based on IRMA attributes. It allows you to encrypt any file with an attribute and only people with that attribute can view the contents.
To run a development setup:
docker-compose -f docker-compose.dev.yml up
To run a production-like setup:
docker-compose up
-
Clone the project
git clone git@github.com:privacybydesign/cryptify.git
-
Install nodejs 14 and rust
# On Debian / Ubuntu curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Goto the
cryptify-front-end
folder and install dependenciesnpm install
-
Change the
baseurl
constant inFileProvider.ts
tohttp://localhost:3000
. This way the front-end uses the locally running backend. -
Start the development server
npm run start
-
Build the web site
npm run build
-
Package electron installers
npm run dist-electron
For the back-end to be able to send e-mail and store files, the following environment variables are needed:
- ROCKET_CONFIG: The path to the configuration file (example in
conf/
)
The backend can be built using:
env ROCKET_ENV={development,production} cargo build
The backend can be run using:
env ROCKET_CONFIG={path_to_config} ./target/{release,debug}/cryptify-backend
Get a development setup using:
env ROCKET_ENV=development ROCKET_CONFIG={path_to_config} cargo watch -x run