A peer-to-peer application built with Go and React that enables direct file sharing and messaging between connected peers.
- 🔗 Direct peer-to-peer connections
- 📁 File sharing between peers
- 💬 Real-time messaging
- 📋 Easy peer address copying and connection
- 🔄 Automatic peer discovery
- 📱 Responsive web interface
- Go
- libp2p (P2P networking)
- Gorilla Mux (HTTP routing)
- CORS support
- Next.js
- React
- Tailwind CSS
- Real-time updates
- Go 1.20 or later
- Node.js 18 or later
- npm or yarn
cd backend
go mod download
go run main.go
The backend server will start on port 8080 by default. You can change this by setting the PORT environment variable.
cd frontend
npm install
npm run dev
The frontend development server will start on http://localhost:3000.
- Open the application in your browser
- Copy your Node Address to share with other peers
- Connect to other peers by pasting their Node Address
- Send messages and files to connected peers
- Download received files from the "Received Files" section
- Backend API endpoints are in
backend/handlers/handlers.go
- P2P networking logic is in
backend/p2p/network.go
- Frontend components are in
frontend/src/components/