Skip to content

zedxihan/zkdrop

Repository files navigation

zkDrop

Secure, temporary, and minimal file sharing with zero-knowledge encryption

Warning

Privacy First: zkDrop is a temporary file-sharing platform. While files are encrypted, the developer is not responsible for data loss due to link expiration or server-side purges.

Self-Destruction: All uploaded files and their associated metadata are automatically purged after 24 hours. Once a link expires, the data is unrecoverable.

💖 Support Us

Patreon

Tip

Star This Repository To Support The Developer And Encourage The Development Of CryptoLens!

Description

zkDrop provides a streamlined way to share files with true Zero-Knowledge end-to-end encryption. Every byte is encrypted locally in your browser using AES-256-GCM before reaching the server. Your private keys never leave your machine—they are stored only in the URL fragment (#), ensuring total privacy.

Preview

Live: https://zkdrop.pages.dev

preview

Features

  • True Zero-Knowledge: Local AES-256-GCM encryption hides data and metadata before it ever leaves the browser.
  • Secure Sharing: Private keys stay exclusively in the URL # fragment, paired with a dedicated UI for seamless downloads.
  • Frictionless Experience: Absolutely no accounts, logins, or tracking required—just drop a file and get a link.
  • Self-Destructing: Files remain strictly temporary and are automatically purged after 24 hours.
  • Interactive Aesthetic: A sleek, playful UI featuring sketchbook-ui, animated dot-grids, and GSAP interactions.
  • Modern Performance: Built on Vite, React 19, and Bun to deliver a lightning-fast frontend.
  • Fast & Responsive: A mobile-first design optimized for quick drops with a 30MB file size limit.

Quick Start

Clone the project and run it locally with Bun.

# Clone the repository
git clone https://github.com/zedxihan/zkdrop.git
cd zkdrop

# Create & switch to your branch
git switch -c feature/awsome-feature

# Install dependencies
bun install

# Start the development server
bun run dev

Open: http://localhost:5173

Note

You'll need to configure your own VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY in your environment variables.

🗺 Roadmap

  • Password-protected links
  • Custom expiration timers (1h, 12h, 24h)
  • Multiple file uploads (ZIP creation)
  • One-time download links (Burn after reading)
  • Progress notifications for large files

Hacking

Contributions are welcome! If you have ideas for improving the encryption flow or the UI, feel free to submit a Pull Request.

License

This repository is licensed under the GNU Affero General Public License v3.0.

Made with ❤️ by zedxihan

About

Simple and fast E2E encrypted file sharing tool

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors