Open-source Cloudflare-based template for building one-photo-to-AI-video SaaS sites, one site per trending keyword.
hyphy-void/Parcel
Self-hosted, end-to-end encrypted temporary file sharing that runs on your own Cloudflare Workers, D1 and R2 account.
Open-source alternative to:WeTransfer
- Stars
- 100
- Forks
- 5
- Open issues
- 0
- Last commit
- 18 days ago
What is it?
Parcel lets you upload a file, get a link, and set when the share expires. Files are encrypted in the sender's browser with a random 256-bit key using AES-256-GCM, uploaded directly to a private R2 bucket, and decrypted in the recipient's browser. The file key and original file name are sealed in an encrypted envelope that the server cannot open.
The app runs on Cloudflare Workers, with D1 storing share state and private R2 holding ciphertext. Shares can have an optional password, an expiry time, and a download limit, and can be revoked at any time. A scheduled task removes expired or exhausted shares and reclaims storage.
Uploads and downloads are chunked and resumable, with 16 MiB encryption chunks and a default 8 GiB per-file limit. Admin login uses a password plus TOTP with recovery codes.
Key features
- 01Browser-side AES-256-GCM encryption with a per-file random key.
- 02Direct chunked uploads to private R2 storage with resumable transfers.
- 03Share links with optional password, expiry time and download limit.
- 04Revocation of shares and scheduled cleanup of expired files.
- 05Admin login with password and TOTP, plus recovery codes.
Use cases
- Sending large files to someone with a link that expires automatically.
- Running a private file drop on your own Cloudflare account without a third-party file host.
- Sharing sensitive files where the hosting server should not be able to read contents.
Quick start
- 1
Click the Deploy to Cloudflare button and set Node 24, build command npm run build, deploy command npm run deploy
- 2
Clone the repository
git clone https://github.com/hyphy-void/Parcel.git - 3
Enter the project folder
cd Parcel - 4
Generate the temporary admin setup token locally
npm run admin:setup-token
Things to know
- Requires your own Cloudflare account with Workers, D1 and R2 enabled.
- Setup needs Node.js 24 and Bash, and involves several manual configuration steps.
- Recipients need local disk space of about twice the file size to save a decrypted file.
- Lost file keys or share links cannot be recovered by the server.
In collections
Topics
FAQ
- What is Parcel?
- Self-hosted, end-to-end encrypted temporary file sharing that runs on your own Cloudflare Workers, D1 and R2 account. Parcel lets you upload a file, get a link, and set when the share expires. Files are encrypted in the sender's browser with a random 256-bit key using AES-256-GCM, uploaded directly to a private R2 bucket, and decrypted in the recipient's browser. The file key and original file name are sealed in an encrypted envelope that the server cannot open.
- Is Parcel free to use? What license does it have?
- Parcel is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Parcel still maintained?
- Actively maintained. The last commit to Parcel was on Oct 20, 2026.
- What can I use Parcel for?
- Sending large files to someone with a link that expires automatically. Running a private file drop on your own Cloudflare account without a third-party file host. Sharing sensitive files where the hosting server should not be able to read contents.
- How do I install Parcel?
- Click the Deploy to Cloudflare button and set Node 24, build command npm run build, deploy command npm run deploy Clone the repository: git clone https://github.com/hyphy-void/Parcel.git Enter the project folder: cd Parcel Generate the temporary admin setup token locally: npm run admin:setup-token
- Where can I get Parcel?
- The source code and installation instructions are on GitHub: https://github.com/hyphy-void/Parcel
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Desktop SSH client for Windows, Linux and macOS with a built-in AI assistant and end-to-end encrypted sync stored in your own Cloudflare account.
Self-hostable file and note sharing where files are encrypted in the browser, so the server only stores ciphertext.
A bookmark manager built on Cloudflare Workers and D1 that saves links via a bookmarklet or Chrome extension, with no account required.
Self-hosted personal cloud drive built on Cloudflare R2 and Pages, with a web file manager and WebDAV access.
A CLI tool that sends files and folders between any two computers, peer-to-peer with relay fallback and end-to-end encryption via a shared code phrase.