Skip to content

WillTDA/Dropgate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

173 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dropgate Logo

Dropgate

A self-hostable, privacy-first file sharing system with both hosted upload and direct P2P transfer capabilities.

license platform

discord buy me a coffee

🌐 Public Demo

See Dropgate in action here: dropgate.link

To prevent and monitor for abuse, DEBUG-level logging and strict rate limits are enforced.

🌍 Overview

Dropgate is a modern, privacy-respecting file sharing system designed to be easy to self-host and easy to use.

It ships as three parts:

  • Dropgate Client: A lightweight Electron app for uploading, encrypting, and sharing files.
  • Dropgate Server: A Node.js backend that hosts the API + Web UI, with optional end-to-end encryption and configurable storage.
  • @dropgate/core: A headless TypeScript library that powers the client and server, usable in custom projects.

Dropgate supports two ways to transfer files:

  • Hosted upload (classic mode) — you upload to your server, share a link, and the server holds the file temporarily.
  • Direct transfer (P2P) — the file can move device-to-device, with the server only helping peers find each other.

In today’s world, privacy and anonymity are more important than ever. Dropgate was built to make secure file sharing accessible, transparent, and fully self-hostable — whether on a home NAS, a VPS, or in Docker.

✨ Features

  • 🔐 End-to-End Encryption (E2EE) – Encrypt on the sender device, decrypt on the recipient device. Encryption keys never need to reach the server.
  • 🕵️ Privacy First – No analytics, no tracking, and no logging of file contents.
  • 🔗 Share Links That “Just Work” – Simple links for recipients that expire based on download count or lifetime.
  • 🚀 Direct Transfer (P2P) – Great for big files or “zero-storage” sharing (when enabled).
  • 🧩 Built-in Web UI – Send and receive from a browser, no install required.
  • ⚙️ Configurable Server Controls – Tune size limits, rate limits, retention, and storage caps.
  • 🧰 Self-Host Ready – Works behind common reverse proxies and tunnels.

🧰 Project Structure

/Dropgate
├── client/    # Electron-based uploader app (GPL-3.0)
├── server/    # Node.js server + Web UI (AGPL-3.0)
├── packages/
│   ├── dropgate-core/      # Shared TypeScript library (Apache-2.0)
├── docs/      # Privacy, troubleshooting, and technical notes

🧩 Getting Started

Clone the Repository

git clone https://github.com/WillTDA/Dropgate.git
cd Dropgate

Client

See the client README for installation, usage, and build instructions.

Server

See the server README for configuration, Docker setup, and deployment.

Core Library

See the core README for API documentation and usage examples.

🔒 Privacy and Security Philosophy

Dropgate’s design is built around you staying in control of your data:

  • E2EE means even the server operator can’t read encrypted uploads.
  • Hosted uploads are intended to be temporary (downloaded and/or expired, then removed).
  • Direct transfer can avoid server storage entirely (when enabled).

If you self-host, you decide how strict you want to be — from private-only to public-facing with limits.

📚 Docs

📜 Licenses

📖 Acknowledgements

🙂 Contact Us

About

A self-hostable, privacy-first file sharing system with both hosted upload and direct P2P transfer capabilities.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors