Project info
Understand how DiscordDrive works
A self-hosted drive that turns Discord into encrypted storage with parallel bots, live progress, and mobile-friendly controls. In the current build the browser does the chunking and AES-GCM encryption before any data hits the backend or Discord.
Key capabilities
What you get out of the box.
Encrypted storage
Files are encrypted with AES-256-GCM before they ever reach Discord.
Parallel bots
All DISCORD_TOKEN_* entries are detected automatically for multi-bot transfers.
Faster transfers
Uploads and downloads run in parallel with live progress, ETA, and cancellation.
Mobile friendly
Responsive layout, touch-friendly controls, and a slide-out navigation sheet.
How it works
From upload to download.
Chunked encryption, multi-bot fan-out, and parallel assembly on download.
- Uploads are chunked, encrypted, and fanned out across your configured Discord bots.
- Today all chunking and AES-GCM encryption happen fully in the browser before anything leaves the client.
- Each part is stored as an attachment; the database only keeps references and metadata.
- Downloads pull parts in parallel, with server-side abort to stop instantly when cancelled.
- The server decrypts on the fly and streams the final file back to your browser.
Configuration quick hits
Adjust the stack without touching the code.
Add as many bots as you want via DISCORD_TOKEN, DISCORD_TOKEN_2, DISCORD_TOKEN_3, ...
Set MAX_FILE_SIZE (bytes) to cap uploads and UPLOAD_BATCH_SIZE for chunks per Discord message.
Bump DOWNLOAD_CONCURRENCY to pull more parts at once when your network can handle it.
Backend serves the API under /api and ships the statically exported Next.js frontend.