Skip to content

Repository files navigation

PeerShare: P2P File Sharing

React Native WebRTC TypeScript Express.js

PeerShare is a peer-to-peer file transfer application designed for speed, privacy, and performance. Built with React Native and WebRTC, it enables users to send files directly between devices over a local network (LAN) without using a third-party cloud.


Demo

Demo.mp4

Key Features

  • True P2P:- Data travels directly from Device A to Device B. No intermediate storage.
  • Secure:- No involvement of a third party service makes the file sharing highly secure.
  • Quick:- Transfers files very fast over a high-speed LAN connection.

Tech Stack

  • Frontend: React Native, TypeScript
  • Networking: react-native-webrtc (Data Channels)
  • Signaling Server: Express.js, ws (WebSocket)
  • File System: react-native-blob-util, react-native-documents/picker
  • Protocol: ICE (Interactive Connectivity Establishment) via Google STUN.

Installation & Setup

1. Clone the Repo

git clone [**React**'s][https://react.dev/]
cd PeerShare

2. Install Dependencies

npm install

3. Install iOS Pods (Mac Only)

cd ios && pod install && cd ..

4. Start Signaling Server

cd backend && npm i && npm run dev

5. Launch the application

npx react-native run-android
npx react-native run-ios
Make sure you add your local ip-address in /src/services/PeerConnection.ts

Future Scopes

  • Resume broken transfers.
  • QR Code scanning for instant pairing.
  • End-to-end encryption for file streams.
  • Multi-file selection support.

About

A peer-to-peer file transfer application designed for speed, privacy, and performance.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages