So I made this. Optional E2E encryption with optional password protection, keyboard shortcuts (kinda a WIP), simple-ish REST-ish API for making CLIs, direct raw file display & download (with optional server-side decryption if it is encrypted), etc. It was built with SvelteKit so it can be deployed on server-less platforms too.
I'd love if you could provide feedback on which features are necessary (should I add support for files?) and which ones are useless. I'm not a cybersec guy so I'm not sure if I'm doing the encryption properly, so if you can please review this file: https://github.com/Yureien/YABin/blob/main/src/lib/crypto.ts. The initialization vector gets stored on the DB to result in a shorter URL and ensure it's unique, is that a good approach?