A real-time screen sharing application built with Next.js, WebRTC, and PeerJS. Create or join rooms to share your screen with others instantly.
- Real-time screen sharing
- Room-based sharing system
- Cross-browser support
- Simple and intuitive interface
- Hosting: Desktop/laptop browsers only
- Viewing: Works on all devices (desktop, tablet, mobile)
Browser | Screen Sharing | Audio Sharing |
---|---|---|
Google Chrome | ✅ | ✅ (Only when sharing a tab) |
Microsoft Edge | ✅ | ✅ (Only when sharing a tab) |
Mozilla Firefox | ✅ | ❌ |
Apple Safari | ✅ | ❌ |
- For audio sharing to work, users have to select the tab option when sharing in Google Chrome or Microsoft Edge.
- Next.js - React framework
- PeerJS - WebRTC abstraction
- Tailwind CSS - Styling
- shadcn/ui - UI components
First, clone the repository:
git clone https://github.com/tonghohin/screen-sharing.git
Navigate to the project directory:
cd screen-sharing
Install the dependencies:
npm install
Start the development server:
npm run dev
Start the development container:
docker compose up
This application can be deployed on any cloud platform that supports static site hosting.
You can self-host this application using Docker:
docker run -p 3000:3000 -d --name screen-sharing ghcr.io/tonghohin/screen-sharing:latest
Contributions are welcome! Please read our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.
This project is licensed under the MIT License - see the LICENSE file for details.