ScriptsApr 20, 2026·3 min read

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.

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets