自托管虚拟浏览器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