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