# ferrishare

> Self-hosted file sharing with browser-side encryption so the server never sees content. Single container with SQLite, admin panel, rate limiting, configurable expiration.

- **Category:** File Sharing
- **Licence:** MIT
- **Latest version:** v1.1.3
- **Open source:** oss
- **Languages:** JavaScript, Rust, HTML
- **Platforms:** Docker Compose, Build from Source
- **Tags:** SQLite, Privacy, End To End Encryption, File Sharing, Docker, Rust, Self Hosted, Secure Upload

## Description

FerriShare is a Rust-based self-hosted file sharing tool that encrypts files and their names in the browser before they leave the user's machine. The decryption key remains in the URL fragment and never reaches the server. It packages everything — metadata, uploaded files, and configuration — into one container backed by SQLite. Users can set files to auto-expire after an hour, a day, or a week. A password-protected admin dashboard shows overall usage and lets admins delete files early. Built-in rate limiting works on both IPv4 and IPv6 /64 subnets with configurable thresholds. Maximum upload size and total storage quotas are adjustable. Optional privacy-policy and legal-notice pages ship with defaults. Deployment requires a reverse proxy (Traefik, Caddy, or nginx) to serve HTTPS for the Web Crypto API. Pre-built multi-arch images (amd64, arm64, arm/v7) live on GitHub Container Registry. An interactive wizard handles initial configuration. A public demo at ferrishare-demo.tobiasm.dev lets anyone try it with a 15-minute expiry and the admin password 'admin'.

## Links

- [Homepage](https://github.com/TobiasMarschner/ferrishare)
- [Website](https://ferrishare-demo.tobiasm.dev)
- [Docker](ghcr.io/tobiasmarschner/ferrishare)
- [Demo](https://ferrishare-demo.tobiasm.dev)
- [GitHub Repository](https://github.com/TobiasMarschner/ferrishare)

---
Source: https://selfhost.directory/project/ferrishare