Announcing FerriShare: a simple, self-hostable filesharing application with builtin end-to-end encryption
Short post for FerriShare's v1.0 Release
For the last month or so, I've been privately working on a small but fun side-project: a self-hostable filesharing application with builtin end-to-end encryption, written in Rust. Today I'm happy to announce that FerriShare has reached its v1.0 release. To make it easy for people to contribute I moved this project out of my self-hosted forge and on to GitHub.
The core idea is simple: Uploaded files are encrypted before they're transmitted to the server. The decryption key is embedded in the generated download-link as part of its fragment (the part after the #) which is never sent over the network. When a user visits the link, their browser can download and decrypt the file. The server never gets to see the encryption key, thereby ensuring confidentiality of the data.
I'm going to leave this post short as it's meant to serve just as an announcement. Check out the repository's README for all the details or test out FerriShare yourself on the official demo-instance. If I find the time I might write up a longer post-mortem with my thoughts on the tech-stack that I used and lessons learned.