自托管虚拟浏览器n.eko
本文开始于
2020年10月,但因为种种原因一直未完成,最近因为朋友需要,又重新捡起来了,最终完成了这篇横跨了5年的文档
什么是 n.eko ?
n.eko是一个基于docker隔离环境的虚拟浏览器,支持firefox、chrome、opera等多个版本的浏览器,内置了聊天/简单的用户管理功能。
这个应用程序使用 WebRTC 在 docker 容器中传输桌面视频流,所以需要比较高的配置,毕竟要对桌面进行编码/传输,而且浏览器本身还要消耗性能,以下数据来自官方的文档,https://neko.m1k1o.net/#/getting-started/quick-start
| 分辨率 | 核心数 | 内存 | 建议 |
|---|---|---|---|
| 1024×576 @ 30 | 2 | 2GB | 不建议 |
| 1280x720 @ 30 | 4 | 3GB | 还行 |
| 1280x720 @ 30 | 6 | 4GB | 推荐 |
| 1280x720 @ 30 | 8 | 4GB以上 | 最好 |
现在最高可以支持到 1920×1080@60,但没有找到新的关于性能的说明。
管理员可以在
GUI上直接修改分辨率,后面有提到
官方 nurdism/neko 在 2021 年就不再维护了,现在最新的分支是 m1k1o/neko

n.eko 有很多用例和场景,例如可以互动演示,远程协作,观看视频等等,更多的用例请看:
https://github.com/m1k1o/neko#use-cases-and-comparison
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 neko ,选择第一个 m1k1o/neko,版本选择 latest。
本文写作时,
latest版本对应为firefox;

因为涉及到连续 udp 端口的映射,所以我们用 SSH 客户端连到群晖主机,采用命令行方式安装
docker cli 安装
用 docker cli 会更快捷
1 | # 运行容器 |
主要参数的说明
--shm-size=2gb是必须要,表示将共享内存的大小设置为2GB--cap-add SYS_ADMIN:如果你采用的是chromium核心的浏览器版本,需要增加--cap-add=SYS_ADMIN参数NEKO_PASSWORD:是普通用户的密码NEKO_PASSWORD_ADMIN:是管理员admin的密码
用户名随便,通过匹配密码获得相应的权限,记得将上面两个参数修改成你自己的密码
NEKO_NAT1TO1:- 如果你在局域网使用,设置为群晖的局域网
IP即可; - 如果你在公网使用,可以忽略这个参数,它会自动获取您的公网
IP;
- 如果你在局域网使用,设置为群晖的局域网
NEKO_SCREEN:设置分辨率NEKO_ICELITE:使用Ice Lite协议NEKO_EPR:WebRTC所需的UDP端口范围NEKO_FILE_TRANSFER_ENABLED:如果要启用文件传输功能,需设置为true

更多参数说明,请参考官方文档:https://github.com/m1k1o/neko/blob/master/docs/getting-started/configuration.md
或者 https://neko.m1k1o.net/#/getting-started/configuration
docker-compose` 安装
将下面的内容保存为 docker-compose.yml 文件
1 | version: "3.4" |
然后执行下面的命令
1 | # 新建文件夹 neko |
运行
在浏览器中输入 http://群晖IP:4181,就可以看到主界面了

普通用户
例如使用用户名 laosu,密码就是刚才设置的 NEKO_PASSWORD,只要密码对上就可以登录

如果你使用的是
chromium版本

如果密码错误

管理员
例如使用用户名 admin ,密码就是刚才设置的 NEKO_PASSWORD_ADMIN

如果你使用的是
chromium版本

聊天
打开网页

支持聊天

分辨率
管理员端的右侧电脑图标

最高分辨率为 1920*1080@60

最低可以到 640*360@60,其他端会同步分辨率

参考资料
nurdism/neko: A self hosted virtual browser (rabb.it clone) that runs in docker.
地址:https://github.com/nurdism/nekom1k1o/neko: A self hosted virtual browser (rabb.it clone) that runs in docker.
地址:https://github.com/m1k1o/nekon.eko
地址:https://neko.m1k1o.net