Pluck is a lightweight, self-hosted ephemeral file-sharing application built with a Zero-Knowledge security model.
It consists of a self-hosted ASP.NET Core Web API and a C# CLI client featuring client-side AES-256 encryption, Spectre.Console UI formatting, terminal QR codes, download analytics, an interactive Admin TUI dashboard, file upload/download progress tracking, and clipboard integration.
How Pluck Works
Pluck is designed for temporary file sharing with little maintenance and a Zero-Knowledge security architecture:
- Client-Side Encryption: Every file or folder uploaded via
pluck shareis encrypted client-side using AES-256 before leaving your machine. If no custom password (--pwd) is provided, a 16-character encryption key is generated automatically and appended to the download URL fragment (#<key>). The server never receives or stores your plaintext files or encryption keys. - Upload & Lifecycle Configuration: Set an optional Time-To-Live (
--ttlin hours, default 24 hours), maximum download count (--downloads), custom vanity token (--token), or a custom encryption password (--pwd). - Instant Link & QR Generation: The server returns the unique token and download link, which the CLI automatically copies to your clipboard and renders as a scannable terminal QR code.
- Automated Background Cleanup & Analytics: The Pluck API runs an automated background cleanup worker every 10 minutes, while logging download counts and client/geographic analytics.
- Permanent File Purging: A file is immediately rendered unavailable and permanently purged from disk storage and the database as soon as:
- Its Time-To-Live (TTL) expires, or
- Its remaining download limit reaches zero.