explaingit

m1k1o/neko

Analysis updated 2026-05-18

20,791GoAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

Self-hosted virtual browser in Docker that streams to multiple users via WebRTC, letting groups watch videos, browse together, and take turns controlling the screen.

Mindmap

mindmap
  root((neko))
    What it does
      Shared browser sessions
      Real-time screen streaming
      Multi-user control
      Linux app hosting
    Use cases
      Watch parties
      Remote support
      Collaborative browsing
      Teaching sessions
    Tech stack
      Go backend
      Vue frontend
      Docker deployment
      WebRTC streaming
    Deployment
      Self-hosted
      Container-based
      Persistent sessions
      No VPN needed
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Host watch parties where friends join a shared browser to watch videos together and chat in real time.

USE CASE 2

Provide remote support by letting a technician control a user's browser session to troubleshoot issues.

USE CASE 3

Run automated browser scripts with Playwright or Puppeteer on a persistent server without local setup.

USE CASE 4

Access internal applications from anywhere without a VPN by using the browser as a secure jump host.

What is it built with?

GoVueDockerWebRTCLinux

How does it compare?

m1k1o/nekocontainerd/containerdnavidrome/navidrome
Stars20,79120,67420,932
LanguageGoGoGo
Setup difficultyhardhardmoderate
Complexity4/55/52/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Docker, WebRTC signaling setup, and coordinating multiple services (browser, streaming, signaling server).

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

Neko is a self-hosted virtual browser that runs inside a Docker container and streams its screen to your real browser using WebRTC, the same real-time technology behind video calls. In plain terms, it gives you a browser-in-a-browser that lives on a server somewhere else, you click and type as normal, but the actual web pages load on the server, not on your own machine. The README highlights three main pitches. First, security and privacy: because the browsing happens in an isolated container, none of the websites' cookies, fingerprints, or risky scripts touch your device. Second, multi-user access: several people can connect to the same Neko session at once and share control, with no need for separate setups per user. Third, watch parties and interactive presentations: everyone sees the same screen and can interact in real time, which makes it good for watching video together remotely or for collaborative work. The project notes it is not strictly limited to a browser. Because what's really being streamed is a Linux desktop inside a container, you can run anything that runs on Linux, a media player, a full desktop environment like XFCE or KDE, or other applications. The README also lists use cases such as collaborative cobrowsing, code debugging together, support and teaching, embedding a virtual browser inside your own web app, persistent or throwaway browsing, session broadcasting over RTMP to services like Twitch or YouTube, session recording, jump-host access to internal apps, and automated browsing with tools like Playwright or Puppeteer. The origin story in the README says the original author built it after rabb.it shut down so he could watch anime with friends. The current maintainer forked an earlier project and kept developing it. The primary language is Go, with a Vue front-end implied by the topics, and it ships as a Docker image.

Copy-paste prompts

Prompt 1
How do I set up neko in Docker to host a watch party for my friends?
Prompt 2
Can I use neko to run Playwright scripts on a persistent server, and how would I automate browser interactions?
Prompt 3
Show me how to configure neko to run a full desktop environment like XFCE inside the container.
Prompt 4
How do I deploy neko for remote support so a technician can control my browser session?
Prompt 5
What's the best way to use neko as a personal persistent browser that keeps my cookies and sessions?

Frequently asked questions

What is neko?

Self-hosted virtual browser in Docker that streams to multiple users via WebRTC, letting groups watch videos, browse together, and take turns controlling the screen.

What language is neko written in?

Mainly Go. The stack also includes Go, Vue, Docker.

What license does neko use?

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

How hard is neko to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is neko for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub m1k1o on gitmyhub

Verify against the repo before relying on details.