Neko:在Docker里跑浏览器,2万Star的自托管虚拟桌面神器

0 阅读1分钟

Neko:在 Docker 里跑浏览器,2万Star的自托管虚拟桌面神器

你有没有遇到过这些场景?

  • 想和朋友一起看视频,但不想开直播那么麻烦
  • 需要一个"用完即弃"的浏览器环境,不想在本机留下任何痕迹
  • 团队协作时需要远程共享浏览器操作,但屏幕共享延迟太高
  • 想在服务器上跑一个持久化浏览器,随时随地通过网页访问

如果你对上面任何一个场景有共鸣,那今天介绍的这个开源项目一定适合你。

什么是 Neko?

Neko 演示效果

Neko 是一个基于 Docker 的自托管虚拟浏览器(Virtual Browser)。它的核心原理很简单:在 Docker 容器里运行一个完整的桌面环境,然后通过 WebRTC 技术把画面实时串流到你的浏览器里。

没错——你在浏览器里打开一个网页,这个网页里面又跑着一个浏览器。听起来套娃,但用起来非常丝滑。

Neko 在日语里是"猫"的意思 🐱。作者说他喜欢猫,所以起了这个名字。至于 Logo 为什么是猫屁股?因为猫就是这样——混蛋但你就是爱它。

核心数据

指标数据
GitHub Stars20k+
语言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 Chrome
  • ghcr.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