GitBox is a E2EE (end-to-end encrypted) file sharing service, it allows people share private files (< 50mb) through their public repositories.
The tech stack is based on:
- React and vite, redux, saga, etc.
- libsodium for cryptography.
- GitHub API as server.
- Primer Design System.
GitBox is actually pretty simple, it just manages your files locally using the Web File Reader API, when uploading to GitHub it first encrypts using secret-key encryption (symmetric), then it generates a download URL that is just a URL that points a React route that downloads the raw encrypted file from GitHub servers and decrypt using the decryption key and nonce also provided by the download URL.