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_IPto your server's public IP for WebRTC connectivity - Configure TLS with
SCREEGO_TLS_CERT_FILEandSCREEGO_TLS_KEY_FILEfor HTTPS - Enable authentication with
SCREEGO_USERS_FILEpointing to an htpasswd-format file - Adjust
SCREEGO_TURN_PORT_RANGEif 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.