0%

n.eko 完全指南:自托管虚拟浏览器与多人协作平台

n.eko 完全指南:自托管虚拟浏览器与多人协作平台

写在前面:n.eko 是一个开源的自托管虚拟浏览器平台,746k+ Docker 下载量,Apache-2.0 许可证。它让你能够在 Docker 容器中运行完整的浏览器,并通过 WebRTC 技术实时分享给多人协作。


一、什么是 n.eko?

1.1 核心定位

n.eko 是一个自托管的虚拟浏览器平台,主要特点:

  • Docker 运行 - 容器化部署,开箱即用
  • WebRTC 流式传输 - 超低延迟(<300ms)
  • 多人协作 - 多人同时控制一个浏览器
  • 屏幕共享 - 实时屏幕广播
  • 内置聊天 - 实时聊天室功能
  • 开源免费 - Apache-2.0 许可证

官方信息

1.2 名字由来

n.eko 的命名故事:

  • “Neko” 是日语中的”猫”(猫)
  • 作者喜欢猫,所以用猫作为吉祥物
  • 项目 Logo 是一个可爱的猫屁股图案 🐱

为什么是猫屁股?

“Because cats are assholes, but you love them anyways.”


二、核心功能详解

2.1 多人协作浏览

场景:团队协作、远程教学、技术支持

功能

  • ✅ 多人同时访问同一个浏览器
  • ✅ 实时同步操作(鼠标、键盘)
  • ✅ 权限控制(主持人可授予/拒绝控制权)
  • ✅ 内置聊天室,支持文字交流

技术实现

1
2
3
4
5
用户 A ──┐
用户 B ──┼→ n.eko 服务器 → Docker 容器中的浏览器
用户 C ──┘

WebRTC 流式传输(<300ms 延迟)

2.2 远程桌面

场景:远程办公、技术支持、内部应用访问

功能

  • ✅ 完整的桌面环境(可安装 XFCE、KDE 等)
  • ✅ 不仅限于浏览器,可运行任何 Linux 应用
  • ✅ 支持 VLC、代码编辑器、IDE 等

配置示例

1
2
3
# 运行完整桌面环境
docker run -d neko
-e NEKO_DESKTOP=xfce

2.3 屏幕共享与直播

场景:在线演示、教学直播、内容创作

功能

  • ✅ RTMP 直播推流(Twitch、YouTube 等)
  • ✅ session 录制(保存为文件)
  • ✅ 24/7 不间断直播
  • ✅ 无人观看时继续直播

配置示例

1
2
3
4
# RTMP 直播配置
docker run -d neko
-e NEKO_RTMP_URL=rtmp://live.twitch.tv/app
-e NEKO_RTMP_KEY=your_stream_key

2.4 持久化浏览器

场景:长期任务、跨设备访问、隐私保护

功能

  • ✅ 浏览器会话持久化(Cookie、登录状态保留)
  • ✅ 跨设备访问(手机、平板、电脑)
  • ✅ 本地不留痕(所有数据在服务器端)
  • ✅ ISP 无法追踪(看起来只是在看视频)

技术实现

1
2
3
4
# 持久化存储
docker run -d neko
-v neko_data:/data
-e NEKO_PERSISTENCE=true

2.5 一次性浏览器

场景:隐私浏览、敏感操作、网站测试

功能

  • ✅ 会话结束后自动销毁
  • ✅ 不留历史、Cookie、缓存
  • ✅ 容器隔离,降低 OS 指纹识别风险
  • ✅ 可结合 Tor 浏览器 + VPN 增强隐私

使用示例

1
2
3
# 启动一次性浏览器
docker run --rm -d neko
# 容器停止后自动删除,所有数据销毁

2.6 跳板机(Jump Host)

场景:内部应用访问、安全审计、合规要求

功能

  • ✅ 访问内网服务器、数据库、网站
  • ✅ 会话录制(审计和合规)
  • ✅ 数据不留客户端
  • ✅ 降低攻击面(攻击者无法横向移动)

部署架构

1
2
3
外网用户 → n.eko 跳板机 → 内网应用

会话录制(审计日志)

2.7 知识产权保护

场景:代码演示、AI 模型展示、软件 Demo

功能

  • ✅ 只共享视频和音频
  • ✅ 不共享源代码和数据
  • ✅ 防止逆向工程
  • ✅ 随时撤销访问权限

技术原理

1
2
3
4
5
6
7
用户端:只接收 WebRTC 视频流

无法访问源代码

无法下载模型文件

无法逆向工程

三、技术架构

3.1 核心组件

1
2
3
4
5
6
7
8
9
10
11
12
13
┌─────────────────────────────────────────────────┐
│ n.eko 服务器 │
├─────────────────────────────────────────────────┤
│ WebRTC 服务器 │
│ ↓ │
│ 屏幕捕获(X Server) │
│ ↓ │
│ 输入处理(鼠标/键盘) │
│ ↓ │
│ 聊天室(WebSocket) │
│ ↓ │
│ Docker 容器管理 │
└─────────────────────────────────────────────────┘

3.2 技术栈

组件 技术 说明
前端 Vue.js + WebRTC 用户界面和视频流
后端 Go + WebSocket 服务器逻辑和实时通信
流媒体 WebRTC 超低延迟视频传输
桌面 X11 + Fluxbox 轻量级桌面环境
容器 Docker 应用隔离和部署
数据库 SQLite(可选) 用户和房间数据

3.3 与类似工具对比

功能 n.eko Apache Guacamole noVNC Kasm
WebRTC
音频支持
多人控制
开源免费
Docker 部署
直播推流
会话录制

四、快速部署

4.1 Docker 一键部署(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
# 基础部署
docker run -d \
--name neko \
-p 8080:8080 \
-p 5443:5443 \
-e NEKO_PASSWORD=neko \
-e NEKO_ADMIN_PASSWORD=admin \
m1k1o/neko:3.0

# 访问 http://localhost:8080
# 默认密码:neko
# 管理员密码:admin

4.2 完整配置部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -d \
--name neko \
-p 8080:8080 \
-p 5443:5443 \
-e NEKO_PASSWORD=neko \
-e NEKO_ADMIN_PASSWORD=admin \
-e NEKO_SCREEN_WIDTH=1280 \
-e NEKO_SCREEN_HEIGHT=720 \
-e NEKO_FRAMERATE=30 \
-e NEKO_MAX_RATE=4 \
-e NEKO_PASSWORD_SALT=random_salt \
-e NEKO_RTMP_URL=rtmp://live.twitch.tv/app \
-e NEKO_RTMP_KEY=your_stream_key \
-v neko_data:/data \
m1k1o/neko:3.0

4.3 Docker Compose 部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
version: '3.8'

services:
neko:
image: m1k1o/neko:3.0
container_name: neko
restart: unless-stopped
ports:
- "8080:8080"
- "5443:5443"
environment:
- NEKO_PASSWORD=neko
- NEKO_ADMIN_PASSWORD=admin
- NEKO_PASSWORD_SALT=random_salt
- NEKO_SCREEN_WIDTH=1280
- NEKO_SCREEN_HEIGHT=720
- NEKO_FRAMERATE=30
volumes:
- neko_data:/data
shm_size: '2gb'

volumes:
neko_data:

启动命令

1
docker-compose up -d

4.4 Windows 部署

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 安装 Docker Desktop
# https://www.docker.com/products/docker-desktop

# 2. 运行 n.eko
docker run -d `
--name neko `
-p 8080:8080 `
-p 5443:5443 `
-e NEKO_PASSWORD=neko `
-e NEKO_ADMIN_PASSWORD=admin `
m1k1o/neko:3.0

# 3. 访问 http://localhost:8080

4.5 macOS 部署

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 安装 Docker Desktop for Mac
brew install --cask docker

# 2. 运行 n.eko
docker run -d \
--name neko \
-p 8080:8080 \
-p 5443:5443 \
-e NEKO_PASSWORD=neko \
-e NEKO_ADMIN_PASSWORD=admin \
m1k1o/neko:3.0

# 3. 访问 http://localhost:8080

五、配置详解

5.1 环境变量配置

变量 说明 默认值
NEKO_PASSWORD 用户密码 neko
NEKO_ADMIN_PASSWORD 管理员密码 admin
NEKO_PASSWORD_SALT 密码盐值 随机生成
NEKO_SCREEN_WIDTH 屏幕宽度 1280
NEKO_SCREEN_HEIGHT 屏幕高度 720
NEKO_FRAMERATE 帧率 30
NEKO_MAX_RATE 最大码率 (Mbps) 4
NEKO_RTMP_URL RTMP 推流地址 -
NEKO_RTMP_KEY RTMP 推流密钥 -

5.2 高级配置

安装额外软件

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM m1k1o/neko:3.0

# 安装 Firefox
RUN apk add --no-cache firefox

# 安装 VS Code
RUN apk add --no-cache code-server

# 安装 VLC
RUN apk add --no-cache vlc

# 安装中文输入法
RUN apk add --no-cache fcitx fcitx-pinyin

自定义桌面环境

1
2
3
4
5
6
7
# 安装 XFCE
docker run -d neko
-e NEKO_DESKTOP=xfce

# 安装 KDE
docker run -d neko
-e NEKO_DESKTOP=kde

多房间管理

使用 neko-rooms

1
2
3
4
5
6
7
8
# 部署 neko-rooms
docker run -d \
--name neko-rooms \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/m1k1o/neko-rooms:latest

# 访问 http://localhost:3000 管理多个房间

六、实战应用场景

6.1 团队协作浏览

场景:远程团队一起浏览网页、讨论方案

配置

1
2
3
4
5
6
7
8
docker run -d \
--name neko-team \
-p 8080:8080 \
-e NEKO_PASSWORD=team123 \
-e NEKO_ADMIN_PASSWORD=admin123 \
-e NEKO_SCREEN_WIDTH=1920 \
-e NEKO_SCREEN_HEIGHT=1080 \
m1k1o/neko:3.0

使用流程

  1. 分享链接给团队成员
  2. 所有人访问同一 URL
  3. 主持人授予控制权
  4. 多人协作浏览、讨论

6.2 在线教学

场景:远程教学、编程培训、软件演示

配置

1
2
3
4
5
6
7
8
docker run -d \
--name neko-teaching \
-p 8080:8080 \
-e NEKO_PASSWORD=student123 \
-e NEKO_ADMIN_PASSWORD=teacher123 \
-e NEKO_RTMP_URL=rtmp://live.twitch.tv/app \
-e NEKO_RTMP_KEY=your_stream_key \
m1k1o/neko:3.0

使用流程

  1. 老师启动 n.eko
  2. 开启 RTMP 直播
  3. 学生观看直播
  4. 学生可申请控制权(老师批准)

6.3 技术支持

场景:远程帮助客户解决问题

配置

1
2
3
4
5
6
7
docker run -d \
--name neko-support \
-p 8080:8080 \
-e NEKO_PASSWORD=support123 \
-e NEKO_ADMIN_PASSWORD=admin123 \
-v neko_support:/data \
m1k1o/neko:3.0

使用流程

  1. 客服创建临时房间
  2. 发送链接给客户
  3. 客户描述问题
  4. 客服接管浏览器演示解决方案

6.4 隐私浏览

场景:敏感信息浏览、网站测试、竞品分析

配置

1
2
3
4
5
6
7
8
9
10
11
docker run --rm -d \
--name neko-private \
-p 8080:8080 \
-e NEKO_PASSWORD=private123 \
m1k1o/neko:3.0

# 使用 Tor 浏览器增强隐私
docker run --rm -d \
--name neko-tor \
-p 8080:8080 \
m1k1o/neko:tor-browser

优势

  • ✅ 会话结束后自动销毁
  • ✅ 本地不留任何痕迹
  • ✅ 容器隔离,降低风险
  • ✅ ISP 无法追踪

6.5 内网应用访问

场景:远程访问内部系统、数据库管理

配置

1
2
3
4
5
6
7
8
docker run -d \
--name neko-jump \
--network internal_network \
-p 8080:8080 \
-e NEKO_PASSWORD=internal123 \
-e NEKO_ADMIN_PASSWORD=admin123 \
-e NEKO_RECORDING=true \
m1k1o/neko:3.0

架构

1
2
3
外网用户 → n.eko 跳板机 → 内网应用

会话录制(审计)

6.6 自动化测试

场景:Playwright/Puppeteer 自动化 + 人工干预

配置

1
2
3
4
5
docker run -d \
--name neko-automation \
-p 8080:8080 \
-v ./tests:/tests \
m1k1o/neko:playwright

使用流程

  1. 编写 Playwright 测试脚本
  2. 自动执行测试
  3. 遇到问题时人工接管
  4. 继续自动化

七、与 Computer Use 集成

7.1 架构设计

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────────────────────────────────────┐
│ Computer Use (本地控制) │
│ ↓ │
│ 本地浏览器 │
│ ↓ │
│ n.eko Web 界面 │
│ ↓ │
│ n.eko 服务器(Docker 容器) │
│ ↓ │
│ 容器中的浏览器(Firefox/Chrome) │
└─────────────────────────────────────────────────┘

7.2 集成方案

方案 A:Computer Use 控制 n.eko

1
2
3
# Computer Use 操作本地浏览器访问 n.eko
openclaw run computer-use click 500 300 # 点击 n.eko 界面
openclaw run computer-use type "github.com" # 输入网址

优势

  • ✅ 隔离环境(自动化操作在容器中)
  • ✅ 安全(不影响本地系统)
  • ✅ 可录制(记录所有操作)

7.3 实战示例

场景:自动化网站测试

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 启动 n.eko
docker run -d --name neko-test -p 8080:8080 m1k1o/neko:3.0

# 2. Computer Use 访问 n.eko
openclaw run computer-use hotkey ["win"]
openclaw run computer-use type "Chrome"
openclaw run computer-use key enter
openclaw run computer-use wait 2000
openclaw run computer-use type "http://localhost:8080"
openclaw run computer-use key enter

# 3. 在 n.eko 中执行自动化操作
# (通过 n.eko 界面控制容器中的浏览器)

八、性能优化

8.1 视频质量优化

1
2
3
4
5
6
# 调整分辨率和帧率
docker run -d neko
-e NEKO_SCREEN_WIDTH=1920
-e NEKO_SCREEN_HEIGHT=1080
-e NEKO_FRAMERATE=60
-e NEKO_MAX_RATE=8

8.2 并发优化

1
2
3
# 增加共享内存(支持更多并发用户)
docker run -d neko
--shm-size=4gb

8.3 网络优化

1
2
# 使用 host 网络模式(降低延迟)
docker run -d --network host neko

九、故障排查

9.1 常见问题

问题 1:无法访问 Web 界面

1
2
3
4
5
6
7
8
# 检查容器状态
docker ps | grep neko

# 查看日志
docker logs neko

# 检查端口占用
netstat -tlnp | grep 8080

问题 2:视频流卡顿

1
2
3
4
5
6
7
# 降低分辨率和帧率
-e NEKO_SCREEN_WIDTH=1280
-e NEKO_SCREEN_HEIGHT=720
-e NEKO_FRAMERATE=24

# 增加带宽
-e NEKO_MAX_RATE=8

问题 3:音频不同步

1
2
# 调整音频缓冲
-e NEKO_AUDIO_BUFFER=20

9.2 日志查看

1
2
3
4
5
6
7
8
# 实时查看日志
docker logs -f neko

# 查看最近 100 行
docker logs --tail 100 neko

# 导出日志
docker logs neko > neko.log

十、总结

10.1 核心优势

优势 说明
开源免费 Apache-2.0 许可证,完全免费
易于部署 Docker 一键启动
超低延迟 WebRTC <300ms
多人协作 支持多人同时控制
安全隔离 容器化运行
功能丰富 直播、录制、持久化等

10.2 适用场景

  • 团队协作 - 远程协作浏览
  • 在线教学 - 互动式教学
  • 技术支持 - 远程协助
  • 隐私保护 - 一次性浏览
  • 内网访问 - 跳板机
  • 自动化测试 - Playwright/Puppeteer

10.3 学习资源

资源 链接
GitHub https://github.com/m1k1o/neko
官方文档 https://neko.m1k1o.net
Docker Hub https://hub.docker.com/r/m1k1o/neko
neko-rooms https://github.com/m1k1o/neko-rooms

n.eko 是一个强大且灵活的虚拟浏览器平台,无论是个人使用还是企业部署,都能满足需求! 🐱