2025-06-29 22:37:15 +08:00
2025-06-26 22:58:39 +08:00
2025-06-23 23:36:18 +08:00
2025-06-18 23:25:02 +08:00
2025-06-26 22:58:39 +08:00
2025-06-26 22:58:39 +08:00

PrivyDrop Logo

PrivyDrop - A Privacy-Focused, WebRTC-Based File Sharing Tool

License: MIT

PrivyDrop(formerly SecureShare) is an open-source, peer-to-peer (P2P) file and text sharing tool built on WebRTC. It requires no server-side data relay; all data is transmitted directly between browsers, ensuring end-to-end encryption for maximum privacy and security.

We believe everyone should have control over their own data. PrivyDrop was created to fulfill this vision: a simple, fast, and private sharing solution.

Try it Live » | GitHub Repository »


PrivyDrop Interface GIF

Key Features

  • 🔒 End-to-End Encryption: Leverages P2P direct connections via WebRTC. All files and text are transferred directly between browsers without passing through any central server.
  • 📂 File & Folder Transfer: Supports transferring multiple files and entire folders.
  • Real-time & Efficient: Displays real-time transfer progress and automatically calculates transfer speed.
  • 📝 Rich Text Clipboard: Supports editing and sending formatted text, not just files.
  • 🔗 Convenient Sharing: Easily share a room and establish a connection via a link or QR code.
  • 📱 Multi-Device Support: Responsive design supports both desktop and mobile browsers.
  • 🌐 Internationalization: Supports multiple languages, including English and Chinese.

🛠️ Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS, shadcn/ui
  • Backend: Node.js, Express.js, TypeScript
  • Real-time Communication: WebRTC, Socket.IO
  • Data Storage: Redis
  • Deployment: PM2, Nginx, Docker [WIP]

🚀 Quick Start (Full-Stack Local Development)

Before you begin, ensure your development environment has Node.js (v18+), npm, and a running Redis instance installed.

  1. Clone the Project

    git clone https://github.com/david-bai00/PrivyDrop.git
    cd PrivyDrop
    
  2. Configure and Start the Backend Service

    cd backend
    npm install
    
    # Create and configure .env.development.local according to the instructions in backend/README.md
    
    npm run dev # Starts by default at http://localhost:3001
    
  3. Configure and Start the Frontend App (in a new terminal window)

    cd frontend
    pnpm install
    
    # Create and configure .env.development.local according to the instructions in frontend/README.md
    
    pnpm dev # Starts by default at http://localhost:3002
    
  4. Start Sharing Open http://localhost:3002 in your browser to access the application.

🗺️ Roadmap

We have a public roadmap that outlines our vision for the future and our current priorities. It's a great place to see what we're working on or to find areas where you can contribute.

➡️ Check out the Project Roadmap

📚 Documentation

We provide detailed documentation to help you dive deeper into the project's design and deployment details:

🤝 Contributing

We warmly welcome contributions of all forms! Whether it's reporting a bug, suggesting a feature, submitting code or adding a star, your help is invaluable to PrivyDrop's growth. Please read our Contribution Guidelines to start your journey.

We have a Code of Conduct that all contributors are expected to follow. Please be sure to review it before participating.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

S
Description
An open-source web-app alternative to AirDrop
Readme MIT 6.2 MiB
Languages
TypeScript 57.8%
MDX 33.8%
Shell 7.5%
JavaScript 0.4%
Dockerfile 0.3%
Other 0.2%