// the find
nurdism/neko
A self hosted virtual browser (rabb.it clone) that runs in docker.
Neko runs a full browser inside a Docker container and streams it to multiple viewers over WebRTC, letting a group watch and share control of a single browser session. The original author explicitly abandoned it in 2021 and points to the m1k1o/neko fork as the maintained successor. If you're evaluating this for any production use, you're looking at the wrong repo.
The architecture is honest about what it is — GStreamer for capture, pion/webrtc on the Go server, Xorg for the virtual display, all wired together without unnecessary abstraction. The multi-browser Docker image approach (separate Dockerfiles for Chromium, Firefox, Tor Browser, Popcorn) means you can swap the browser without touching the streaming layer. The client/server split is clean: the Vue frontend communicates exclusively over the WebSocket signaling channel, making it easy to reason about state. The Guacamole keyboard handling is a thoughtful choice — it avoids the mess of raw DOM keyboard events across different OS/browser combinations.
Abandoned since 2021 — the README itself tells you to go elsewhere, so featuring this over m1k1o/neko would be actively misleading readers. Single-room only with no persistence: no saved usernames, no session recovery, nothing survives a restart. The CGo usage for both GStreamer (gst.c) and Xorg (xorg.c) makes the build fragile — cross-compilation is painful and the binary is tightly coupled to the host's GStreamer version. No authentication model beyond a single admin password baked into environment variables, which makes multi-tenant or public deployments a security non-starter.