Neko:在 Docker 里跑浏览器,2万Star的自托管虚拟桌面神器
你有没有遇到过这些场景?
- 想和朋友一起看视频,但不想开直播那么麻烦
- 需要一个"用完即弃"的浏览器环境,不想在本机留下任何痕迹
- 团队协作时需要远程共享浏览器操作,但屏幕共享延迟太高
- 想在服务器上跑一个持久化浏览器,随时随地通过网页访问
如果你对上面任何一个场景有共鸣,那今天介绍的这个开源项目一定适合你。
什么是 Neko?

Neko 是一个基于 Docker 的自托管虚拟浏览器(Virtual Browser)。它的核心原理很简单:在 Docker 容器里运行一个完整的桌面环境,然后通过 WebRTC 技术把画面实时串流到你的浏览器里。
没错——你在浏览器里打开一个网页,这个网页里面又跑着一个浏览器。听起来套娃,但用起来非常丝滑。
Neko 在日语里是"猫"的意思 🐱。作者说他喜欢猫,所以起了这个名字。至于 Logo 为什么是猫屁股?因为猫就是这样——混蛋但你就是爱它。
核心数据
| 指标 | 数据 |
|---|---|
| GitHub Stars | 20k+ |
| 语言 | Go + Vue |
| 协议 | Apache-2.0 |
| Docker 拉取量 | 百万级 |
| 支持浏览器 | Firefox, Chrome, Chromium, Edge, Brave, Tor 等 10+ |
能拿来干什么?
Neko 的玩法非常多,远不止"云浏览器"这么简单:
1. 看片派对(Watch Party)
这是 Neko 最初诞生的原因。作者原来用 rabb.it 和朋友一起看动漫,结果 rabb.it 倒闭了,自己的网速又带不动直播,于是自己造了一个。
多个人同时连入同一个 Neko 实例,一个人操作浏览器,所有人同步看到画面和声音。延迟极低,因为底层是 WebRTC 而不是图片帧。
2. 隐私浏览器
Neko 天然就是一个隔离环境:
- 所有浏览数据(Cookie、历史记录)都在容器内,关掉容器就全没了
- 只有视频流传输到你的设备,敏感数据不会落地
- 搭配 Tor Browser 镜像 + VPN,匿名性拉满
- 不怕浏览器指纹识别——因为指纹是容器的,不是你的
3. 团队协作工具
想象一下:远程 Debug 的时候,不是"你看到那个按钮了吗?点一下"这种低效沟通,而是直接让对方操作你的浏览器。
Neko 支持多人同时连接,并且可以控制谁有操作权限。非常适合:
- 远程教学和培训
- 结对编程(Pair Programming)
- 技术支持场景
4. 持久化工作空间
挂载 Docker Volume,你的浏览器状态就能持久化。相当于拥有一个"云端浏览器":
- 在公司电脑上打开 Neko 继续昨天的工作
- 手机上也能访问完全一样的浏览器环境
- 书签、登录状态、插件全部保留
5. 跳板机
不用 VPN 也能安全访问内网应用。把 Neko 部署在内网服务器上,通过浏览器远程访问,天然就是一个安全的跳板。
技术架构
Neko 的架构设计很优雅:
用户浏览器 ←→ WebRTC ←→ Neko Server(Go)←→ X11 桌面 ←→ 目标应用
↕
Vue.js 前端(控制面板)
- Go 后端:处理 WebRTC 信令、房间管理、权限控制
- WebRTC:视频/音频的实时传输,延迟通常在 100ms 以内
- X11:Linux 桌面环境,运行实际的浏览器或应用
- Vue.js 前端:用户交互界面,聊天、表情、控制权管理
对比传统的 VNC/noVNC 方案,Neko 的优势明显:
| 特性 | Neko (WebRTC) | noVNC (WebSocket) |
|---|---|---|
| 视频流畅度 | ★★★★★ | ★★★ |
| 音频支持 | ✅ 内置 | ❌ 需额外配置 |
| 多人协作 | ✅ 原生支持 | ❌ 不支持 |
| 延迟 | ~100ms | ~300ms+ |
| 移动端体验 | 好 | 一般 |
五分钟部署
Docker Compose(推荐)
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
restart: unless-stopped
shm_size: "2gb"
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "user"
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "admin"
NEKO_WEBRTC_EPR: "52000-52100"
docker compose up -d
打开 http://你的服务器IP:8080,输入密码就能用了。整个过程不到 5 分钟。
可选镜像
Neko 支持非常多的浏览器和应用:
ghcr.io/m1k1o/neko/firefox— Firefox 浏览器ghcr.io/m1k1o/neko/chromium— Chromium 浏览器ghcr.io/m1k1o/neko/google-chrome— Google Chromeghcr.io/m1k1o/neko/tor-browser— Tor 匿名浏览器ghcr.io/m1k1o/neko/brave— Brave 浏览器ghcr.io/m1k1o/neko/vlc— VLC 媒体播放器ghcr.io/m1k1o/neko/xfce— 完整 XFCE 桌面环境ghcr.io/m1k1o/neko/kde— KDE 桌面环境
对,你没看错,它不仅能跑浏览器,还能跑完整的 Linux 桌面。
进阶玩法
多房间管理
如果你需要为多个用户或团队提供独立的虚拟浏览器,可以用配套项目 neko-rooms:
- REST API 管理房间的创建/销毁
- 每个房间独立的容器和资源限制
- 支持 HTTPS 自动配置
- 适合做成 SaaS 服务
会话录制
Neko 支持通过 RTMP 推流,可以录制浏览器操作:
- 录制教程视频,不需要在本机安装录屏软件
- 推流到 Twitch/YouTube 做直播
- 搭配 nginx-rtmp 保存为文件
自动化
在 Neko 容器里安装 Playwright 或 Puppeteer,就可以做浏览器自动化,同时还能通过 WebRTC 实时观察和干预自动化过程。这在调试爬虫、自动化测试时非常有用。
适合谁用?
| 用户类型 | 场景 |
|---|---|
| 开发者 | 测试 Web 应用、爬虫调试、自动化 |
| 远程团队 | 协作浏览、远程教学、结对编程 |
| 隐私爱好者 | 匿名浏览、隔离环境、防指纹追踪 |
| 自托管玩家 | 云端浏览器、跳板机、持久化工作空间 |
| 内容创作者 | 看片派对、直播推流、教程录制 |
总结
Neko 是一个把"虚拟浏览器"这件事做到极致的开源项目。WebRTC 带来的低延迟体验、Docker 的开箱即用、丰富的镜像选择、多人协作能力——这些特性组合在一起,使它不仅仅是一个技术玩具,而是一个真正实用的工具。
无论你是想搭建团队协作环境,还是想拥有一个随时可用的云端浏览器,或者只是想和朋友一起看个电影,Neko 都值得一试。
项目地址:github.com/m1k1o/neko
官方文档:neko.m1k1o.net/
Star 数:20k+
协议:Apache-2.0