# Screego — Self-Hosted Screen Sharing for Developers > A lightweight self-hosted screen sharing tool built with Go and WebRTC, designed for developer teams who need low-latency sharing without third-party services. ## Install Save as a script file and run: # Screego — Self-Hosted Screen Sharing for Developers ## Quick Use ```bash docker run -p 5050:5050 -e SCREEGO_EXTERNAL_IP=your.server.ip screego/server:latest # Open http://localhost:5050 and create a room ``` ## Introduction Screego is a self-hosted screen sharing server built in Go that uses WebRTC for peer-to-peer low-latency video streaming. It provides a simple web interface where developers can create rooms and share their screens with teammates without relying on third-party services, keeping all traffic within your own infrastructure. ## What Screego Does - Creates instant screen sharing rooms via a clean web interface - Streams screen content peer-to-peer using WebRTC with minimal latency - Supports multiple viewers per room with no per-user licensing - Keeps all network traffic on your own infrastructure with no external dependencies - Provides TURN server integration for connections behind restrictive NATs ## Architecture Overview Screego is a single Go binary that serves both the web UI and the WebRTC signaling server. Clients connect through the browser using the native Screen Capture API and establish peer-to-peer WebRTC connections for video streaming. The server handles room management and signaling only; actual video data flows directly between peers when possible. For restricted networks, an integrated TURN relay ensures connectivity. ## Self-Hosting & Configuration - Run as a single Docker container or download the pre-built Go binary - Set `SCREEGO_EXTERNAL_IP` to your server's public IP for WebRTC connectivity - Configure TLS with `SCREEGO_TLS_CERT_FILE` and `SCREEGO_TLS_KEY_FILE` for HTTPS - Enable authentication with `SCREEGO_USERS_FILE` pointing to an htpasswd-format file - Adjust `SCREEGO_TURN_PORT_RANGE` if you need to restrict UDP port allocation for firewalls ## Key Features - Single binary deployment with zero external dependencies - Peer-to-peer WebRTC streaming for minimal latency - Built-in TURN server for NAT traversal - Optional user authentication via htpasswd file - Rooms are ephemeral and cleaned up automatically when empty ## Comparison with Similar Tools - **Jitsi Meet** — Full video conferencing suite; Screego is focused purely on lightweight screen sharing - **Zoom/Teams** — Commercial cloud services; Screego keeps all data on your infrastructure - **VNC** — Desktop remote control protocol; Screego is view-only browser-based sharing - **RustDesk** — Full remote desktop tool; Screego targets quick developer screen sharing sessions - **LiveKit** — Programmable video infrastructure; Screego is simpler with no SDK needed ## FAQ **Q: Does Screego require a TURN server?** A: It includes a built-in TURN server. For most setups, just setting the external IP and exposing the UDP port range is sufficient. **Q: How many viewers can join a room?** A: WebRTC peer connections scale with the presenter's upload bandwidth. Typical setups handle 5-15 viewers comfortably. **Q: Is audio sharing supported?** A: Screego focuses on screen video only. For audio, use a separate voice channel or pair with another tool. **Q: Does it work behind corporate firewalls?** A: Yes, the integrated TURN server relays traffic over TCP/TLS when direct UDP connections are blocked. ## Sources - https://github.com/screego/server - https://screego.net --- Source: https://tokrepo.com/en/workflows/d2c0991a-3cd3-11f1-9bc6-00163e2b0d79 Author: Script Depot