Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 

Repository files navigation

ForzaShare ⚡

ForzaShare is a modern, high-performance, browser-based peer-to-peer file sharing application. It allows users to transfer files directly between devices without ever uploading them to a server, ensuring maximum privacy and speed.

✨ Features

  • Peer-to-Peer (P2P): Direct browser-to-browser transfers using WebRTC DataChannels.
  • Zero Server Storage: Files never touch the server; they move directly from sender to receiver.
  • Real-time Presence: See all online devices on the network instantly.
  • Modern UI: A clean, responsive interface inspired by LocalSend and PairDrop, built with Tailwind CSS.
  • Chunked Transfer: Reliable file transfer using 64KB chunks for stability and progress tracking.
  • Drag & Drop: Effortless file sharing with intuitive drag-and-drop support.
  • Cross-Platform: Works on any device with a modern web browser (Mobile, Desktop, Tablet).
  • No Accounts: Start sharing immediately without registration or login.

🚀 Tech Stack

Frontend

Backend (Signaling Server)

🛠️ Project Structure

fshare/
├── frontend/           # React + Vite application
│   ├── src/
│   │   ├── components/ # Reusable UI components
│   │   ├── services/   # WebSocket and WebRTC logic
│   │   ├── store/      # Zustand state management
│   │   └── types/      # Shared TypeScript interfaces
├── backend/            # Express signaling server
│   ├── src/
│   │   ├── clientManager.ts # Device tracking logic
│   │   ├── socketHandler.ts # WebSocket message routing
│   │   └── index.ts         # Server entry point

📦 Getting Started

Prerequisites

  • Node.js (v18+)
  • npm or bun

Backend Setup

  1. Navigate to the backend folder: cd backend
  2. Install dependencies: npm install
  3. Start the development server: npm run dev

Frontend Setup

  1. Navigate to the frontend folder: cd frontend
  2. Install dependencies: npm install
  3. Create a .env file with: VITE_SIGNALING_SERVER=http://localhost:3001
  4. Start the development server: npm run dev

� Connecting Multiple Devices

To share files between different devices (e.g., your Phone and Laptop) connect to the same network:

�🔒 Privacy & Security

ForzaShare is designed with a "privacy-first" architecture. The signaling server only facilitates the initial handshake (exchanging ICE candidates and SDP offers/answers). Once the WebRTC connection is established, the server is no longer involved in the data transfer process. Your files are encrypted end-to-end by the WebRTC protocol itself.


Built with ❤️ for a private and faster internet.

About

Fshare is a high-performance, privacy-focused peer-to-peer (P2P) file sharing application that combines the convenience of a cloud drive with the security of direct browser-to-browser transfers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages