MCPSERV.CLUB
Screego

Screego

Self-Hosted

Low‑latency screen sharing for developers

Stale(68)
9.9kstars
0views
Updated Jun 24, 2025

Overview

Discover what makes Screego powerful

Screego is a lightweight, self‑hosted screen‑sharing service designed for developers who need low‑latency, high‑resolution streaming without the overhead of full video conferencing suites. It exposes a minimal HTTP/WebRTC API that can be embedded into existing collaboration tools or used as a standalone demo server. The core idea is to provide a “screen‑sharing box” that can be started with a single binary or Docker image, and then integrated into any workflow via a simple URL.

Multi‑user screen sharing

Secure transfer via WebRTC

Low latency / High resolution

Integrated TURN

Overview

Screego is a lightweight, self‑hosted screen‑sharing service designed for developers who need low‑latency, high‑resolution streaming without the overhead of full video conferencing suites. It exposes a minimal HTTP/WebRTC API that can be embedded into existing collaboration tools or used as a standalone demo server. The core idea is to provide a “screen‑sharing box” that can be started with a single binary or Docker image, and then integrated into any workflow via a simple URL.

Key Features

  • Multi‑user screen sharing – A single host can stream to multiple viewers simultaneously, with each viewer receiving a separate WebRTC peer connection.
  • Secure transfer via WebRTC – All media streams are encrypted end‑to‑end; signalling is performed over HTTPS to avoid man‑in‑the‑middle attacks.
  • Low latency / High resolution – Uses hardware‑accelerated video capture (X11/Wayland) and configurable codecs to keep latency under 200 ms even on modest hardware.
  • Integrated TURN – Built‑in TURN server (STUN/TURN) for NAT traversal, reducing the need to provision external relay infrastructure.
  • Docker / single binary – The application is distributed as a static Go binary and a ready‑to‑run Docker image, simplifying deployment on any Linux host.

Technical Stack

LayerTechnology
RuntimeGo 1.22 (static binary)
TransportWebRTC (pion/webrtc), HTTP/HTTPS for signalling
Media CaptureX11/Xvfb, Wayland, or virtual framebuffer (headless)
TURNpion/turn (self‑contained STUN/TURN server)
PersistenceNone – all state is kept in memory; configuration via environment variables or JSON files
PackagingDocker (official image screego/server), OCI‑compatible container registry support

The codebase is intentionally minimal: a single HTTP endpoint serves the signalling JSON, while the Go WebRTC stack handles peer negotiation and media piping. No external database or message broker is required, which keeps the system highly portable.

Core Capabilities & APIs

  • Signalling API/api/room accepts a JSON payload containing the screen‑capture parameters and returns an SDP offer.
  • WebSocket / HTTP long‑poll – Clients can connect over WebSocket for real‑time signalling or fall back to HTTP polling.
  • Room management – Rooms are identified by UUIDs; the server automatically cleans up empty rooms after a configurable timeout.
  • Custom codecs – Developers can override default VP8/VP9 settings via environment variables to balance bandwidth and quality.
  • Metrics – Prometheus‑compatible /metrics endpoint exposes connection counts, bitrate, and latency statistics.

Deployment & Infrastructure

  • Self‑hosting – A single binary or Docker container runs on any Linux distribution. No privileged ports are needed; the server listens on standard HTTPS (443) and STUN/TURN ports (3478).
  • Scalability – Each instance can handle dozens of concurrent streams; horizontal scaling is achieved by running multiple instances behind a load balancer that preserves session affinity.
  • Containerization – The Docker image is built with scratch base, ensuring a small footprint (~30 MB). It can be deployed on Kubernetes, Docker‑Compose, or directly via docker run.
  • Resource usage – CPU: 10–20 % per active stream on a modern CPU; RAM: ~100 MB base + 10–20 MB per stream.

Integration & Extensibility

  • Plugin hooks – The signalling handler exposes a Go interface that can be implemented to add authentication, logging, or custom room‑creation logic.
  • Webhooks – Optional HTTP callbacks can be configured to notify external services when a room starts or ends.
  • SDK – A small JavaScript SDK (available on npm) abstracts the signalling and WebRTC setup, making it trivial to embed Screego into web applications.
  • Customization – The UI is a static SPA; developers can replace it with their own front‑end or use the raw API directly.

Developer Experience

  • Configuration – Environment variables (Screego_ prefix) control ports, TURN credentials, and media capture options.
  • Documentation – The official repo contains a comprehensive README, API reference, and deployment guides.
  • Community – Active GitHub discussions and a public demo instance (app.screego.net) provide quick feedback loops.
  • Licensing – MIT‑licensed, allowing unrestricted use in commercial or internal projects.

Use Cases

ScenarioWhy Screego Fits
Code reviewsShare a high‑resolution IDE window with minimal lag, perfect for pair programming.
Live demosQuickly expose a screen to external stakeholders without installing bulky tools.
Remote supportEmbed the viewer in a help‑desk portal; agents can see the user’s screen in real time.
EducationDeploy on a classroom server to broadcast lectures while preserving bandwidth.

Advantages Over Alternatives

  • Performance – Zero‑copy Go WebRTC implementation yields <200 ms latency on 100 Mbps links.
  • Simplicity – No external media server or database; a single binary is all you need.
  • Flexibility – Full control over codecs, TURN credentials, and room lifecycle through code or env vars.
  • **Open‑

Open SourceReady to get started?

Join the community and start self-hosting Screego today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
apis-services
License
GPL-3.0
Stars
9.9k
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
screego
screego
Last Updated
Jun 24, 2025