Skip to content

A modern file uploader, built with Next.js 15, TypeScript, and ShadCN/UI. OuterDrop provides a clean, simple interface for uploading files with drag & drop functionality and instant sharing capabilities.

Notifications You must be signed in to change notification settings

Sato-Isolated/outerdrop

Repository files navigation

OuterDrop

🚀 Deploy. Share. Vanish. - Secure file sharing with zero-knowledge encryption.

Next.js TypeScript MongoDB License

A modern, privacy-first file sharing platform that focuses on simplicity and security. No accounts required, no permanent storage, just quick and secure temporary file transfers.

🎯 Core Philosophy

  • UploadGet LinkShare - Nothing more, nothing less
  • Ephemeral by design - Files automatically expire
  • Privacy first - Minimal data collection, maximum security
  • Open source forever - Always free and transparent

✨ Key Features

  • 📁 Drag & Drop Upload - Instant file sharing
  • 🔒 Automatic Encryption - All files encrypted with AES-256-GCM
  • Auto-Expiration - Files delete automatically (15min - 7 days)
  • 🔗 Instant Links - Share files immediately
  • 🕵️ Anonymous Mode - No tracking, no accounts needed

🚀 Quick Start

# Clone and install
git clone https://github.com/Sato-Isolated/outerdrop.git
cd outerdrop
pnpm install

# Configure environment
cp .env.example .env.local
# Edit .env.local with your MongoDB URI

# Start development
pnpm dev

Visit http://localhost:3000 and start sharing files! 🎉

🧪 Testing

OuterDrop includes comprehensive testing to ensure security and reliability:

# Run the complete upload/download test
node test-real-api.js

# Prerequisites: Server must be running
pnpm dev

✅ Current Test Status:

  • Upload flow: Fully tested with real API
  • Download flow: Fully tested with real API
  • Zero-knowledge security: Validated
  • Data integrity: Verified

See TESTING-STATUS.md for detailed test results.

📚 Documentation

Topic Description
📖 Getting Started Installation and quick start guides
⚙️ Development Setup, contributing, and development workflow
🔌 API Reference Complete API documentation and examples
🎯 Features Roadmap, ideas, and feature documentation
🔒 Encryption Complete encryption system documentation
📋 Project Info Technical details, changelog, and architecture

🛠️ Tech Stack

  • Frontend: Next.js 15, TypeScript, Tailwind CSS
  • Backend: Next.js API Routes, MongoDB
  • Security: better-auth, malware scanning, rate limiting
  • Real-time: Server-Sent Events (SSE)
  • Deployment: Vercel, self-hosted options

🤝 Contributing

We welcome contributions! OuterDrop is built by the community, for the community.

📦 Self-Hosting

OuterDrop is designed to be easily self-hosted:

# Manual deployment
pnpm install
pnpm build
pnpm start

See the Installation Guide for detailed setup instructions.

🔐 Security

  • File encryption with AES-256-GCM algorithm
  • Malware scanning for all uploads
  • File type validation and size limits
  • Rate limiting to prevent abuse
  • No permanent storage - files auto-delete
  • Password protection for sensitive files
  • Transparent decryption for previews and downloads

Report security issues in GitHub Issues

📄 License

MIT License - see LICENSE file for details.

🌟 Why OuterDrop?

Unlike complex file sharing platforms, OuterDrop focuses on simplicity:

  • ✅ No user accounts required
  • ✅ No complex folder structures
  • ✅ No permanent file storage

Just deploy, share, and let files vanish naturally.


🚀 Get Started📖 Documentation💬 Discussions

Made with ❤️ by the community

About

A modern file uploader, built with Next.js 15, TypeScript, and ShadCN/UI. OuterDrop provides a clean, simple interface for uploading files with drag & drop functionality and instant sharing capabilities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published