Bootstrap

【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”,然后将以下配置代码复制粘贴进去。

    
    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

;