自托管虚拟浏览器n.eko

本文开始于 202010 月,但因为种种原因一直未完成,最近因为朋友需要,又重新捡起来了,最终完成了这篇横跨了 5 年的文档

什么是 n.eko ?

n.eko 是一个基于 docker 隔离环境的虚拟浏览器,支持 firefoxchromeopera 等多个版本的浏览器,内置了聊天/简单的用户管理功能。

这个应用程序使用 WebRTCdocker 容器中传输桌面视频流,所以需要比较高的配置,毕竟要对桌面进行编码/传输,而且浏览器本身还要消耗性能,以下数据来自官方的文档,https://neko.m1k1o.net/#/getting-started/quick-start

分辨率 核心数 内存 建议
1024×576 @ 30 2 2GB 不建议
1280×720 @ 30 4 3GB 还行
1280×720 @ 30 6 4GB 推荐
1280×720 @ 30 8 4GB以上 最好

现在最高可以支持到 1920×1080@60,但没有找到新的关于性能的说明。

管理员可以在 GUI 上直接修改分辨率,后面有提到

官方 nurdism/neko2021 年就不再维护了,现在最新的分支是 m1k1o/neko

自托管虚拟浏览器n.eko

n.eko 有很多用例和场景,例如可以互动演示,远程协作,观看视频等等,更多的用例请看:https://github.com/m1k1o/neko#use-cases-and-comparison

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 neko ,选择第一个 m1k1o/neko,版本选择 latest

本文写作时, latest 版本对应为  firefox

自托管虚拟浏览器n.eko

因为涉及到连续 udp 端口的映射,所以我们用 SSH 客户端连到群晖主机,采用命令行方式安装

docker cli 安装

docker cli 会更快捷

# 运行容器
docker run -d 
   --restart unless-stopped 
   --name neko 
   --shm-size="2gb" 
   -p 4181:8080 
   -p 52000-52100:52000-52100/udp 
   -e NEKO_PASSWORD='neko' 
   -e NEKO_PASSWORD_ADMIN='admin' 
   -e NEKO_NAT1TO1=192.168.0.197 
   -e NEKO_SCREEN=1920x1080@30 
   -e NEKO_ICELITE=1 
   -e NEKO_EPR=52000-52100 
   m1k1o/neko:latest

主要参数的说明

  • --shm-size=2gb 是必须要,表示将共享内存的大小设置为 2GB
  • --cap-add SYS_ADMIN :如果你采用的是 chromium 核心的浏览器版本,需要增加 --cap-add=SYS_ADMIN 参数
  • NEKO_PASSWORD :是普通用户的密码
  • NEKO_PASSWORD_ADMIN:是管理员 admin 的密码

用户名随便,通过匹配密码获得相应的权限,记得将上面两个参数修改成你自己的密码

  • NEKO_NAT1TO1
    1. 如果你在局域网使用,设置为群晖的局域网 IP 即可;
    2. 如果你在公网使用,可以忽略这个参数,它会自动获取您的公网 IP
  • NEKO_SCREEN:设置分辨率
  • NEKO_ICELITE:使用 Ice Lite 协议
  • NEKO_EPR: WebRTC 所需的 UDP 端口范围
  • NEKO_FILE_TRANSFER_ENABLED:如果要启用文件传输功能,需设置为 true

自托管虚拟浏览器n.eko

更多参数说明,请参考官方文档:https://github.com/m1k1o/neko/blob/master/docs/getting-started/configuration.md

或者 https://neko.m1k1o.net/#/getting-started/configuration

docker-compose` 安装

将下面的内容保存为 docker-compose.yml 文件

version: "3.4"

services:
  neko:
    image: "m1k1o/neko:latest"
    container_name: "neko"
    restart: "unless-stopped"
    shm_size: "2gb"
    ports:
      - "4181:8080"
      - "52000-52100:52000-52100/udp"
    environment:
      NEKO_SCREEN: 1920x1080@30
      NEKO_PASSWORD: neko
      NEKO_PASSWORD_ADMIN: admin
      NEKO_NAT1TO1: 192.168.0.197
      NEKO_EPR: 52000-52100
      NEKO_ICELITE: 1

然后执行下面的命令

# 新建文件夹 neko 
mkdir -p /volume1/docker/neko

# 进入 neko 目录
cd /volume1/docker/neko

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:4181,就可以看到主界面了

自托管虚拟浏览器n.eko
title

普通用户

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

自托管虚拟浏览器n.eko

如果你使用的是 chromium 版本

自托管虚拟浏览器n.eko

如果密码错误

自托管虚拟浏览器n.eko
title

管理员

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

自托管虚拟浏览器n.eko

如果你使用的是 chromium 版本

自托管虚拟浏览器n.eko

聊天

打开网页

自托管虚拟浏览器n.eko

支持聊天

自托管虚拟浏览器n.eko

分辨率

管理员端的右侧电脑图标

自托管虚拟浏览器n.eko

最高分辨率为 1920*1080@60

自托管虚拟浏览器n.eko

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

自托管虚拟浏览器n.eko

参考资料

nurdism/neko: A self hosted virtual browser (rabb.it clone) that runs in docker.
地址:https://github.com/nurdism/neko

m1k1o/neko: A self hosted virtual browser (rabb.it clone) that runs in docker.
地址:https://github.com/m1k1o/neko

n.eko
地址:https://neko.m1k1o.net

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文始发于微信公众号(各种折腾):自托管虚拟浏览器n.eko

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/264814.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!