Skip to content

Web app for cryptography, coding and data encouraging beginners and pros alike to explore new operations and build own workflows.

License

Notifications You must be signed in to change notification settings

deedeeen/ciphereditor

 
 

Repository files navigation

MIT license Standard Code Style

Your playground for cryptography, coding & data

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

Repository packages

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 Toolkit
  • app-desktop - Desktop application source built on the web app and Electron
  • types - TypeScript types shared between packages and third-party extensions
  • processor - JavaScript sandbox for Browser environments where extensions are executed in
  • extension-essentials - Extension providing essential operations
  • extension-hash - Extension providing operations related to cryptographic hash functions

Development setup

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.

Contributing

If you consider contributing to this project, please read this first.

Acknowledgements

Use of Open Source fonts

We use fonts licensed under the SIL Open Font License, 1.1:

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.

About

Web app for cryptography, coding and data encouraging beginners and pros alike to explore new operations and build own workflows.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 91.3%
  • SCSS 7.4%
  • Other 1.3%