ciphereditor is a web app for cryptography, coding and data encouraging beginners and pros alike to explore new operations and build own workflows – ciphereditor.com
As a monorepo this repository contains multiple packages that share common dependencies or depend on each other. All packages listed below share the same version.
app-web
- Core web app built on React and Redux Toolkitapp-desktop
- Desktop application source built on the web app and Electrontypes
- TypeScript types shared between packages and third-party extensionsprocessor
- JavaScript sandbox for Browser environments where extensions are executed inextension-essentials
- Extension providing essential operationsextension-hash
- Extension providing operations related to cryptographic hash functions
Make sure you have Node.js installed and use the same version as written in .nvmrc
.
To build the project on your own machine download a release or clone the entire repository using Git by issuing the following command in your terminal:
git clone [email protected]:wierkstudio/ciphereditor.git
Install the dependencies for all packages within the repository root folder using the following command. You need to repeat this step every time package-lock.json
changes.
npm install
Environment variables used during development can be set in .env.local
. Create it from the example file and fill in the blanks as needed:
cp .env.local.example .env.local
(Re-)build the processor package from source like so:
npm run processor-build
As some of the browser features the web app depends on require a secure HTTPS connection to the server, we recommend you to generate a self-signed certificate to be used during development. To do this, run the following OpenSSL command in the repository root folder:
openssl req -x509 -newkey rsa:4096 -keyout assets/localhost.key -out assets/localhost.crt -sha256 -days 365 -nodes -subj '/CN=localhost'
It will create a new certificate and place the necessary files at assets/localhost.key
and assets/localhost.crt
that will automatically be used by the web app dev server.
Finally, start the web app dev server using this command:
npm run app-web-start
It will make the app available at https://localhost:3010. As the certificate in use is self-signed you will get a nasty warning by the browser which you can ignore. To stop the server, press Ctrl+C
.
Find the full list of available project commands in the root package.json
.
If you consider contributing to this project, please read this first.
Use of Open Source fonts
We use fonts licensed under the SIL Open Font License, 1.1:
- LexendDeca[wght].ttf: Copyright 2019 The Lexend Project Authors (https://github.com/googlefonts/lexend)
- IBMPlexMono-Regular.ttf: Copyright 2017 IBM Corp. All rights reserved.
Use of Iconic Pro icons
We use Iconic Pro icons in this project.
Copyright (c) Iconic
Iconic Pro icons are copyrighted. Redistribution is not permitted. Use in source and binary forms, with or without modification, is allowed if you own an Iconic Pro license.
This is a project by Wierk and contributors.