FerriShare logo

FerriShare

Self-hosted file sharing with browser-side end-to-end encryption

336 stars 19 forks last commit first released MIT

Slowing down

No commits since 6 Jan 2026. Check the issue tracker before you rely on it.

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.

Categories:

Tags:

Tech Stack:

Share:

Similar to FerriShare

OnionShare logo

OnionShare

Secure, anonymous file sharing and hosting over the Tor network

7.1k
711
Last commit

Open-source tool to share files, host websites, and chat privately over the Tor network; available as desktop GUI, CLI, and mobile apps.

Actively maintained
Alternative to:
Send Anywhere logo
Send Anywhere
+8
LocalSend logo

LocalSend

Open-source cross-platform local network file sharing app

89.5k
5k
Last commit

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.

Apache-2.0Actively maintained
Alternative to:
Apple AirDrop logo
Apple AirDrop
+6
FilePizza logo

FilePizza

Peer-to-peer browser-based file transfers over WebRTC

10.1k
611
Last commit

Self-hostable web app for fast, private peer-to-peer file sharing in the browser using WebRTC, with optional passwords, multi-file ZIP downloads, and TURN/STUN support.

Slowing down
Alternative to:
WeTransfer logo
WeTransfer
+9
CryptPad logo

CryptPad

End-to-end encrypted collaborative office and document suite

7.9k
840
Last commit

CryptPad is an end-to-end encrypted collaboration suite with real-time editors, file storage, and sharing, designed to keep document contents private from servers and admins.

AGPL-3.0Actively maintained
Alternative to:
Google Workspace logo
Google Workspace
+12
Hoodik logo

Hoodik

Self-hosted end-to-end encrypted cloud storage drive

1.5k
66
Last commit

Lightweight self-hosted cloud storage with end-to-end encryption, chunked file transfer, private search, and secure share links via a web UI.

Actively maintained
Alternative to:
Dropbox logo
Dropbox
+15
Syncthing logo

Syncthing

Open-source, peer-to-peer file synchronization tool.

88k
5.4k
Last commit

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

MPL-2.0Actively maintained
Alternative to:
Resilio Sync logo
Resilio Sync
+6