【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言

本教程基于群晖的NAS设备DS423+docker功能进行搭建,DSM版本为 DSM 7.2.2-72806 Update 2。

n.eko 支持多种类型浏览器在其虚拟环境中运行,本次教程使用 Chromium​ 浏览器镜像进行演示,支持访问内网设备和公网地址。

简介

n.eko 是一款基于 Docker 的自托管虚拟浏览器,利用 WebRTC 技术实现实时音视频传输和多人协作功能。它允许用户在虚拟环境中运行功能齐全的浏览器(如 Firefox、Chrome 等),并支持多人同时访问和操作,适用于远程协作、观看派对、互动演示等场景。

​​

核心功能

  1. 虚拟浏览器

    • 支持多种浏览器内核(如 Firefox、Chrome、Opera 等),用户可以在虚拟环境中浏览网页、运行应用程序。

    • 所有操作都在 Docker 容器中完成,确保安全性和隐私性。

  2. 多人协作

    • 支持多用户同时访问,用户可以共享浏览器画面并实时互动,适合团队协作、远程教学或家庭娱乐。

    • 提供聊天功能、文件传输和剪贴板同步,增强协作体验。

  3. 实时音视频传输

    • 基于 WebRTC 技术,实现低延迟的音视频传输,支持屏幕共享和远程控制。

    • 支持 RTMP 推流,可将内容广播到 Twitch 或 YouTube 等平台。

  4. 隐私与安全

    • 所有操作都在隔离的 Docker 容器中进行,避免数据泄露。

    • 支持管理员权限控制,如踢出用户、锁定房间等。

  5. 灵活部署

    • 通过 Docker 部署,支持多种操作系统(Windows、Linux、macOS)。

    • 提供丰富的配置选项,如分辨率、密码设置、文件传输路径等。

适用场景

  • 远程协作:团队成员可以共同浏览网页、调试代码或进行头脑风暴。

  • 观看派对:与朋友或家人一起观看视频、动漫,并实时聊天互动。

  • 教育培训:用于远程教学或演示,支持多人同时操作和互动。

  • 隐私浏览:在隔离环境中访问敏感网站,避免留下痕迹。

部署

  1. 在群晖NAS上面的"File Station"中新建一个docker映射文件,用于映射docker中neko-chromium的数据。

  2. 打开"Container Manager",在"项目"中,点击"新增"。填写项目名称,路径选择创建好的映射文件夹,文件选择"创建 docker-compose.yml",然后将以下配置代码复制粘贴进去。

    yaml 复制代码
    version: "3.8"
    services:
      neko:
        image: "m1k1o/neko:chromium"
        container_name: "neko-chromium"
        restart: "unless-stopped"
        shm_size: "3gb" # 设置共享内存大小为 3GB,此设置为必须。
        ports:
          - "19800:8080"
          - "52000-52100:52000-52100/udp"
        cap_add:
          - SYS_ADMIN # 使用 Chromium 内核时需添加,以获取必要的系统管理权限。
        volumes:
          - ./chromium/data:/home/neko/.config/chromium # 策略文件,重启依然能保留浏览器数据。
        environment:
          NEKO_SCREEN: 1280x720@30 # 自定义浏览器窗口分辨率。
          NEKO_PASSWORD: neko # 普通用户的登录密码。
          NEKO_PASSWORD_ADMIN: admin # 管理员(admin)用户的登录密码。  
          NEKO_EPR: 52000-52100 # 设置 WebRTC 的 UDP 端口范围,用于P2P连接。
          NEKO_ICELITE: true # 启用 Ice Lite 协议以优化连接性能,可选。
          NEKO_CONTROL_PROTECTION: true # 控制保护意味着,只有当至少有一个管理员在房间里时,用户才能获得控制权。
          NEKO_NAT1TO1: 192.168.1.111 # 局域网使用时设置为服务器本地 IP,公网则自动获取公网 IP,可选。

    最后点击"下一步",等待镜像拉取和容器创建完成。

使用

  1. 输入IP:Port​访问,使用管理员登录,用户名为登录后显示的名称,可自定义,密码根据之前配置进行填写。

  2. 设置中文语言。默认是英文,点击左下角en​,选择cn​切换至中文。

  3. 获取浏览器控制权。点击正下方的键盘图标,获取控制权。

  4. 调整屏幕尺寸。点击右上角显示器图标,进行分辨率切换。

  5. 对普通用户进行操作(需要管理员账号)。选中对应头像,鼠标右键单击,可对其进行选择"给予控制"或"踢出"等操作。

  6. 聊天室。点击右上角侧栏图标,然后点击聊天。

  7. 粘贴板共享。在右下角有个粘贴板图标,如果需要将文字内容复制进浏览器,需要将内容粘贴至粘贴板内。

    仅支持纯文本。

  8. 使用自动加入链接。

    示例:http(s)://[URL:Port](URL:Port)/?pwd=neko&usr=guest&cast=1​

    • 添加?pwd=<password>​将预填充密码。

    • 添加?usr=<display-name>​将预填充用户名。

    • 添加?cast=1​将隐藏所有控件,只显示视频。

    • 添加?embed=1​将隐藏大多数附加组件,仅显示视频

    • 添加?volume=<0-1>​将音量设置为给定值。

    • 添加?lang=<language>​将语言设置为给定值。

    • 添加?show_side=1​将在启动时显示侧边栏。

    • 添加?mute_chat=1​将在启动时静音聊天。

  9. 更多使用教程,请参考官方文档 n.keo Doc(https://neko.m1k1o.net/#/getting-started/

文章出处:https://blog.uptoz.cn/archives/olbQbQAn

作者原创:@小小笔记大大用处 https://blog.uptoz.cn

相关推荐
CAFEBABE 345 小时前
linux离线安装docker并启动
linux·docker·eureka
yuguo.im8 小时前
Docker 两大基石:Namespace 和 Cgroups
运维·docker·容器
会飞的土拨鼠呀8 小时前
docker部署 outline(栗子云笔记)
笔记·docker·容器
Jelly-小丑鱼9 小时前
Linux搭建syslog日志服务器
linux·服务器·docker·日志服务器·syslog服务器
没有bug.的程序员10 小时前
高频IO服务优化实战指南
java·jvm·spring·容器
lisanmengmeng11 小时前
docker 方式安装部署禅道zentao(五)
运维·docker·容器
程序员老赵11 小时前
AdguardHome Docker 容器化部署指南
docker·dns
露临霜12 小时前
Docker安装nginx
nginx·docker·容器
CAFEBABE 3414 小时前
安装完docker之后怎么使用
运维·docker·容器
测试人社区—小叶子15 小时前
测试开发面试高频“灵魂八问”深度解析与应答策略
网络·人工智能·测试工具·云原生·容器·面试·职场和发展