An open API service indexing awesome lists of open source software.

https://github.com/sato-isolated/outerdrop

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.
https://github.com/sato-isolated/outerdrop

file-sharing file-upload filehosting nextjs temporary-files upload upload-file uploader

Last synced: 24 days ago
JSON representation

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.

Awesome Lists containing this project

README

          

# OuterDrop

๐Ÿš€ **Deploy. Share. Vanish.** - Secure file sharing with zero-knowledge encryption.

[![Next.js](https://img.shields.io/badge/Next.js-15.3.3-blue)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue)](https://www.typescriptlang.org/)
[![MongoDB](https://img.shields.io/badge/MongoDB-Latest-green)](https://www.mongodb.com/)
[![License](https://img.shields.io/badge/License-MIT-yellow)](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

- **Upload** โ†’ **Get Link** โ†’ **Share** - 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

```bash
# 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:

```bash
# 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](TESTING-STATUS.md) for detailed test results.

## ๐Ÿ“š Documentation

| Topic | Description |
|-------|-------------|
| **[๐Ÿ“– Getting Started](docs/getting-started/)** | Installation and quick start guides |
| **[โš™๏ธ Development](docs/development/)** | Setup, contributing, and development workflow |
| **[๐Ÿ”Œ API Reference](docs/api/)** | Complete API documentation and examples |
| **[๐ŸŽฏ Features](docs/features/)** | Roadmap, ideas, and feature documentation |
| **[๐Ÿ”’ Encryption](docs/features/file-encryption.md)** | Complete encryption system documentation |
| **[๐Ÿ“‹ Project Info](docs/project/)** | 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.

- ๐Ÿ’ก **Ideas**: Share your thoughts in [GitHub Discussions](https://github.com/Sato-Isolated/outerdrop/discussions)
- ๐Ÿ› **Bugs**: Report issues in [GitHub Issues](https://github.com/Sato-Isolated/outerdrop/issues)
- ๐Ÿ”ง **Code**: See our [Contributing Guide](docs/development/contributing.md)

## ๐Ÿ“ฆ Self-Hosting

OuterDrop is designed to be easily self-hosted:

```bash
# Manual deployment
pnpm install
pnpm build
pnpm start
```

See the [Installation Guide](docs/getting-started/installation.md) 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](https://github.com/Sato-Isolated/outerdrop/issues)

## ๐Ÿ“„ License

MIT License - see [LICENSE](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](docs/getting-started/quick-start.md)** โ€ข **[๐Ÿ“– Documentation](docs/)** โ€ข **[๐Ÿ’ฌ Discussions](https://github.com/Sato-Isolated/outerdrop/discussions)**

Made with โค๏ธ by the community