Skip to content

LiWeny16/LetShare

Repository files navigation

πŸš€ LetShare - Lightning-Fast Secure File Sharing

Zero Registration | End-to-End Encrypted | Instant P2P Transfer | Cross-Platform

🌐 Live Demo πŸ” Security πŸ“± Platform

License: MIT
Built with Vite
WebRTC

πŸ‡¨πŸ‡³ δΈ­ζ–‡η‰ˆ


🎯 Why LetShare?

❌ Traditional file sharing pain points:

  • Upload to cloud servers β†’ Privacy risks & slow speeds
  • Registration required β†’ Friction and data collection
  • Platform limitations β†’ iPhone ↔ Android struggles
  • File size restrictions β†’ Can't share what you need

βœ… LetShare solves it all:

  • πŸš€ Direct P2P transfer - Your network speed = transfer speed
  • πŸ” Military-grade encryption - Even we can't see your files
  • πŸ“± Universal compatibility - Any device, any platform
  • ⚑ Instant connection - Scan QR code, start sharing

✨ Core Features

πŸ” Enterprise-Grade Security

  • End-to-End Encryption: ECDH + AES-256-GCM
  • Digital Signatures: ECDSA verification prevents tampering
  • Anti-MITM Protection: Public key signature validation
  • Zero Server Storage: Files never touch our servers

⚑ Lightning Performance

  • WebRTC P2P: Direct device-to-device connection
  • No Upload Delays: Skip the cloud, transfer directly
  • Unlimited File Size: Only limited by your storage
  • Real-time Progress: Live transfer monitoring

🌍 Universal Compatibility

  • Web Browser: Chrome, Firefox, Safari, Edge
  • Mobile Native: Android app via Capacitor
  • Cross-Platform: Windows ↔ Mac ↔ Linux ↔ Mobile
  • PWA Support: Install as native app

🎯 Zero Friction Experience

  • No Registration: Open and use immediately
  • QR Code Pairing: Scan to connect instantly
  • Drag & Drop: Intuitive file sharing
  • Multi-language: English, δΈ­ζ–‡, Bahasa, Indonesia

🎬 See It In Action

LetShare Demo

πŸ”₯ 30-Second Workflow:

  1. Open LetShare on both devices
  2. Scan QR code to connect
  3. Drag files or paste text
  4. Watch encrypted transfer in real-time

πŸ—οΈ Technical Architecture

graph TB
    A[Device A] -->|ECDH Key Exchange| B[Device B]
    A -->|AES-256-GCM Encrypted Data| B
    A -->|WebRTC P2P Channel| B
    
    C[Signaling Server] -.->|Connection Setup Only| A
    C -.->|No File Access| B
    
    subgraph "Security Layer"
        D[Digital Signature]
        E[Timestamp Validation]
        F[Replay Attack Prevention]
    end
Loading

πŸ”§ Tech Stack Highlights:

  • Frontend: React 18 + TypeScript + Vite
  • P2P: WebRTC DataChannels
  • Encryption: Web Crypto API (ECDH/ECDSA/AES-GCM)
  • UI: Material-UI (MUI) 5
  • State: MobX for reactive updates
  • Mobile: Capacitor for native apps
  • I18n: react-i18next with auto-detection

πŸš€ Quick Start

🌐 Try Online (Recommended)

πŸ‘‰ Visit: https://letshare.fun

No installation needed - works instantly in any modern browser!

πŸ’» Local Development

# Clone the repository
git clone https://github.com/LiWeny16/LetShare.git
cd LetShare

# Install dependencies
yarn install

# Start development server
yarn dev

# Build for production
yarn build

πŸ“± Build Android App

# Setup Capacitor
yarn app-create

# Build and sync
yarn app

# Open in Android Studio
yarn app-start

πŸ” Security Features {#security}

Encryption Pipeline

  1. Key Generation: ECDH P-256 key pairs per user
  2. Key Exchange: Signed public key distribution
  3. Shared Secret: ECDH-derived AES-256 keys
  4. Message Encryption: AES-256-GCM with authentication
  5. Integrity: ECDSA signatures prevent tampering

Attack Protection

  • βœ… Man-in-the-Middle: Public key signature validation
  • βœ… Replay Attacks: Timestamp + nonce verification
  • βœ… Data Tampering: Cryptographic authentication
  • βœ… Eavesdropping: End-to-end encryption

πŸ“Š Comparison Matrix

Feature LetShare AirDrop WeTransfer Google Drive
Cross-Platform βœ… Universal ❌ Apple Only βœ… Web βœ… Web
Privacy βœ… E2E Encrypted βœ… Local ❌ Server Access ❌ Server Scan
Speed βœ… P2P Direct βœ… Local ❌ Upload/Download ❌ Rate Limited
File Size βœ… Unlimited* ❌ Limited ❌ 2GB Max ❌ 15GB Quota
Registration βœ… None βœ… None ❌ Required ❌ Required
Offline βœ… LAN Works βœ… Local ❌ Internet Only ❌ Internet Only

*Limited by device storage and network stability


🌍 Supported Platforms

Web Browsers

  • βœ… Chrome 88+ (Recommended)
  • βœ… Firefox 84+
  • βœ… Safari 14+
  • βœ… Edge 88+

Mobile Platforms

  • βœ… Android 7.0+ (Native app)
  • βœ… iOS 14+ (PWA)
  • βœ… Any mobile browser

Desktop OS

  • βœ… Windows 10+
  • βœ… macOS 10.15+
  • βœ… Linux (Any distribution)

πŸ› οΈ Development Scripts

yarn dev
yarn build       

🀝 Contributing

We welcome contributions! Here's how you can help:

πŸ› Found a Bug?

  • Open an issue with reproduction steps

πŸ’‘ Have Ideas?

πŸš€ Want to Contribute Code?

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“ License

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


⭐ Support This Project

If LetShare helps you, please consider:

  • ⭐ Star this repository to show your support
  • πŸ› Report bugs to help us improve
  • πŸ’‘ Share ideas for new features
  • πŸ”„ Share with friends who need secure file sharing
  • β˜• Buy us a coffee to fuel development

πŸ”— Links


Built with ❀️ by developers who believe in privacy and simplicity

⬆ Back to Top

Releases

No releases published

Packages

No packages published

Languages