
FerriShare
Self-hosted file sharing with browser-side end-to-end encryption
FerriShare is an open-source, self-hostable filesharing application that encrypts files and filenames in the user's browser before they are uploaded. The decryption key is embedded in the download-link fragment so the server never receives it, and the project provides a minimal, accessible frontend plus a Rust backend for metadata and administration.
Key Features
- Client-side encryption (AES-GCM) performed in the browser using the WebCrypto API; filenames and file contents are encrypted before upload.
- Decryption key stored in the download-link fragment so the server cannot decrypt stored files.
- Expiring uploads with configurable durations (examples: 1 hour, 1 day, 1 week).
- Two links returned to uploaders: a public download link and a private administration link with download statistics and early-delete capability.
- Built-in IP-based rate limiting with dual-stack handling (full IPv4 or /64 IPv6 subnet) and configurable request/upload limits.
- Configurable maximum filesize and storage quota controls.
- Password-protected site-wide administration panel for usage stats and manual deletion.
- Lightweight, memory-safe backend written in Rust with server-side templating; frontend uses minimal JavaScript only where required (encryption/upload pages).
- SQLite used for metadata so the application can run in a single container; prebuilt multi-architecture Docker images are provided for common platforms.
- Accessible frontend optimized for performance and best practices; Tailwind-based styling and server-rendered templates reduce client JS needs.
Use Cases
- Securely send files to external recipients without exposing plaintext to the server or storage host.
- Provide a temporary, privacy-preserving file drop for teams or communities with automatic expiry and admin controls.
- Host a small public or internal file-sharing endpoint that enforces quotas and rate limits to reduce abuse.
Limitations and Considerations
- The project author notes the cryptographic implementation has not been independently audited; users should review the code and exercise caution before storing highly sensitive data.
- The WebCrypto API imposes practical limits (e.g., browser-imposed maximum single-message size) that restrict maximum upload sizes; FerriShare enforces a configurable max filesize accordingly.
- FerriShare must be served via HTTPS (or run on localhost) and is intended to run behind a reverse proxy for TLS termination; proper TLS/reverse-proxy configuration is required for secure deployment.
FerriShare is suitable for users who need a simple, privacy-oriented file sharing service they can run themselves. It emphasizes browser-side encryption, straightforward deployment (Docker + single SQLite DB), and configurable limits to balance usability with operational safety. (github.com)
Categories:
Tags:
Tech Stack:
Similar Services

Syncthing
Open-source, peer-to-peer file synchronization tool.
Open-source peer-to-peer file synchronization with TLS encryption, no central server, and a browser-based UI.

LocalSend
Open-source cross-platform local network file sharing app
LocalSend is a free, open-source app for fast, encrypted file and text sharing between nearby devices over a local network, available on desktop and mobile.
AList
Multi-storage file listing server with WebDAV and previews
AList is a multi-storage file listing and sharing server with WebDAV access, file previews, protected routes, uploads, and cross-storage file operations.

copyparty
Portable file server with fast resumable uploads and many protocols
Copyparty is a portable file server with a web UI, accelerated resumable uploads, deduplication, indexing, and support for WebDAV, SFTP, FTP and more.

qBittorrent
Cross-platform BitTorrent client built with Qt and libtorrent
qBittorrent is a fast, free, cross-platform BitTorrent client with a desktop UI and optional Web UI, built on libtorrent for efficient torrent downloading and seeding.

Nextcloud
Open-source collaboration platform for file sync and groupware
Nextcloud is an open-source content collaboration platform providing file sync & share, groupware (calendar, contacts, mail), real-time office editing, chat and video con...

HTML
Docker
Rust
Node.js
Tailwind CSS