Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Docker项目实战】使用Docker部署neko自托管虚拟浏览器

【Docker项目实战】使用Docker部署neko自托管虚拟浏览器

原创
作者头像
江湖有缘
发布于 2024-09-24 09:02:42
发布于 2024-09-24 09:02:42
1.5K0
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、neko介绍

1.1 neko简介

  • neko简介

Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko 是一个功能强大的工具,允许您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。借助 Neko,您可以像在常规浏览器上一样浏览网页、运行应用程序并执行其他任务,所有这些都在安全且隔离的环境中进行。无论您是想要测试 Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想要利用虚拟浏览器的便利性和灵活性的人,Neko 是完美的解决方案。

1.2 neko特点

  • 多用户同时访问:Neko 支持多个用户共享一个浏览器环境,适合团队协作、组织共享或个人跨设备访问需求。
  • 安全的权限共享:提供一种机制,允许用户安全地与他人共享浏览器访问权限,无须担心隐私泄露或配置复杂性。
  • 维护简便:用户不必为每个新成员单独配置或管理设置,简化了共享环境的维护工作。
  • 协同工作与资源共享:适用于项目合作、访问共享资源场景,促进团队间的高效协作。
  • 个人共享便利:也适合个人用户与家人、朋友分享浏览器访问,便于日常生活中的信息共享。
  • 虚拟观看派对与演示:特色虚拟浏览器功能支持远程观看聚会和互动演示,打破地理位置限制。
  • 远程互动性:使用户能够远程参与,保持社交和工作联系,不受物理距离影响。
  • 实时互动屏幕共享:集成的屏幕共享与实时互动功能,优化了远程沟通与协作体验。
  • 易于邀请与加入:用户可以轻松邀请他人加入虚拟环境,降低了技术门槛,提高了使用的便捷性。

1.3 neko使用场景

  1. Web 开发与测试:Neko 为开发人员提供了一个理想的环境来测试网页应用的不同版本或功能,尤其是在需要隔离测试条件以避免本地环境干扰时。它支持多用户协作,使得团队成员可以共同审查代码更改,进行实时调试,以及在不同平台和浏览器配置下验证应用兼容性。
  2. 安全浏览与隐私保护:对于注重隐私的用户,Neko 提供了一个增强安全性的浏览选项。通过在隔离的容器中运行浏览器,用户的浏览历史、cookies 和其他敏感信息不会保存在本地设备上,有效防止了数据泄露和跟踪,特别适合处理敏感信息或在公共网络环境下上网。
  3. 数字营销与广告测试:市场营销人员可以利用 Neko 来模拟不同地理位置的用户浏览习惯,进行广告投放效果测试、SEO 优化分析,以及监控竞争对手的在线活动,所有这些都在不影响个人浏览记录的情况下完成。
  4. 教育与培训:教育机构可以利用 Neko 举办线上课程,特别是在教授网络技术、网络安全或需要学生集体参与在线实验的课程中。教师可以广播自己的浏览器会话给全班,学生也能在各自的环境中跟随操作,促进了互动学习。
  5. 远程工作与团队协作:Neko 使远程团队能够共享一个浏览器环境工作,方便进行项目演示、网页审查、内容创作讨论等,提高了团队协作效率,减少了因技术配置不一致导致的沟通障碍。
  6. 产品演示与客户服务:销售团队和客服代表可以使用 Neko 进行产品演示,实时展示网站功能或解决客户问题,而无需客户下载任何软件或共享他们的屏幕,增强了客户体验和信任。
  7. 安全审计与渗透测试:网络安全专业人员可以利用 Neko 在受控环境中执行安全审计和渗透测试,评估 Web 应用的安全漏洞,而不危及实际生产系统或留下痕迹。
  8. 临时浏览需求:对于那些偶尔需要访问特定网站但不想在常用浏览器留下痕迹的用户,Neko 提供了一个快速、便捷的解决方案,满足一次性或短期的匿名浏览需求。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname

IP地址

操作系统版本

Docker版本

jeven

192.168.3.166

centos 7.6

2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.使用Docker部署neko虚拟共享浏览器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

代码语言:bash
AI代码解释
复制
[root@jeven neko]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-05-12 08:34:14 CST; 11h ago
     Docs: https://docs.docker.com
 Main PID: 11565 (dockerd)
    Tasks: 23
   Memory: 153.6M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

代码语言:bash
AI代码解释
复制
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:bash
AI代码解释
复制
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载neko镜像

在docker hub镜像仓库中拉取neko镜像,本次使用火狐内核版本m1k1o/neko:firefox,其余可选择谷歌内核版本m1k1o/neko:chromium,树莓派版本m1k1o/neko:arm-chromium等。

代码语言:bash
AI代码解释
复制
[root@jeven neko]# docker pull m1k1o/neko:firefox
firefox: Pulling from m1k1o/neko
Digest: sha256:9ed6532d88b1ccf7645e6c1938bb4024cb6ea62729e2125d3acd511aea93bb7a
Status: Image is up to date for m1k1o/neko:firefox
docker.io/m1k1o/neko:firefox

五、部署署neko应用

5.1 创建部署目录

创建部署目录/data/neko/

代码语言:bash
AI代码解释
复制
mkdir -p /data/neko/ && cd /data/neko/ 

5.2 编辑docker-compose.yml文件

如果使用docker-cli直接部署,可参考以下命令。主要修改NEKO_NAT1TO1为自己服务器IP地址,其余部分可根据下面给的环境变量说明自行修改。

代码语言:bash
AI代码解释
复制
docker run -d \
   --restart always  \
   --name neko \
   --shm-size="2gb" \
   -p 9800:8080 \
   -p 52000-52100:52000-52100/udp \
   -e NEKO_PASSWORD='neko' \
   -e NEKO_PASSWORD_ADMIN='admin' \
   -e NEKO_NAT1TO1=192.168.3.166 \
   -e NEKO_SCREEN=1920x1080@30 \
   -e NEKO_ICELITE=1 \
   -e NEKO_EPR=52000-52100 \
   m1k1o/neko:latest

编辑docker-compose.yml文件

代码语言:yaml
AI代码解释
复制
version: "3.8"

services:
  neko:
    image: "m1k1o/neko:firefox"
    container_name: "neko"
    restart: "always"
    shm_size: "2gb"
    ports:
      - "9800:8080"
      - "52000-52100:52000-52100/udp"
    environment:
      NEKO_SCREEN: 1920x1080@30
      NEKO_PASSWORD: neko
      NEKO_PASSWORD_ADMIN: admin
      NEKO_NAT1TO1: 192.168.3.166
      NEKO_EPR: 52000-52100
      NEKO_ICELITE: 1



| 参数名称             | 描述                                                         | 示例值/说明                                                     |
|----------------------|--------------------------------------------------------------|-----------------------------------------------------------------|
| `--shm-size=2gb`      | 设置共享内存大小为 2GB,此设置为必须。                          |                                                                 |
| `--cap-add SYS_ADMIN` | 使用 Chromium 内核时需添加,以获取必要的系统管理权限。         |                                                                 |
| `NEKO_PASSWORD`      | 普通用户的登录密码。                                           | `mySecurePass123`                                                |
| `NEKO_PASSWORD_ADMIN` | 管理员(admin)用户的登录密码。                                 | `AdminSecurePass456`                                             |
| `NEKO_NAT1TO1`        | 局域网使用时设置为服务器本地 IP,公网则自动获取公网 IP,可选。   | `192.168.3.166` 或留空自动获取                                   |
| `NEKO_SCREEN`        | 自定义浏览器窗口分辨率。                                       | `1920x1080`                                                      |
| `NEKO_ICELITE`        | 启用 Ice Lite 协议以优化连接性能,可选。                         | `true` 或留空默认值                                               |
| `NEKO_EPR`           | 设置 WebRTC 的 UDP 端口范围,用于P2P连接。                      | `52000-52100`                                                    |
| `NEKO_FILE_TRANSFER_ENABLED` | 启用文件传输功能,需要设置为 `true`。 | `true` 或默认 `false` 如果不需要启用文件传输功能 |

5.3 创建neko容器

  • 使用docker-compose.yaml文件创建neko容器
代码语言:bash
AI代码解释
复制
docker compose up -d

5.4 检查neko容器状态

检查neko容器状态,确保neko容器正常启动。

代码语言:bash
AI代码解释
复制
[root@jeven neko]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
neko                "/usr/bin/supervisor…"   neko                running (healthy)   0.0.0.0:9800->8080/tcp, 0.0.0.0:52000-52100->52000-52100/udp, :::9800->8080/tcp, :::52000-52100->52000-52100/udp

六、访问neko首页

6.1 进入neko初始页

访问地址:http://192.168.3.166:9800,将IP替换为自己服务器IP地址,进入到neko初始页初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

6.2 登录neko

输入我们设置的登录账号密码admin/admin,如果使用其他普通用户则账号密码为xxx/neko

6.3 访问测试

  • 开启键盘鼠标操作

我们在浏览器,输入网址,这里输入本人CSDN博客地址进行测试。

6.4 其他用户访问

我们在另外浏览器或者电脑打开:http://192.168.3.166:9800,输入账户名密码:jeven/neko。

我们在聊天区域,发送信息。

我们再返回到admin用户下,可以成功看到jeven用户发送的信息。

七、总结

Neko 是一款创新的虚拟浏览器解决方案,巧妙地结合了Docker容器技术和WebRTC通信协议,为用户提供了一个强大、灵活且安全的在线浏览平台。它的核心价值在于创造了一个与本机系统隔离的沙盒环境,让用户能够在任何地点安全私密地访问网络资源,而不用担心数据泄露或隐私侵犯。Neko不仅适用于开发者进行Web应用测试,也非常适合注重隐私的普通用户、远程协作团队,以及需要高性能、低延迟在线交互的各类应用场景,如观看派对、在线教学和企业演示等。其便捷的多用户访问控制和丰富的定制化选项,进一步提升了用户体验和工作效率。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【docker】属于你的远程浏览器 可多人协作| Neko安装与基本使用
本文发布于115天前,最后更新于115天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。
夜梦星尘
2024/08/20
7140
【docker】属于你的远程浏览器 可多人协作| Neko安装与基本使用
本地Docker部署Neko虚拟浏览器并实现远程与好友共享网页协同办公
本文主要介绍如何在本地 Linux 系统使用 Docker 部署 Neko 虚拟浏览器,并结合 cpolar 内网穿透工具轻松实现与好友异地共享浏览器页面,一起在线观看视频或是协同办公,无需公网 IP 也不用域名与云服务器。
kwan的解忧杂货铺
2024/11/26
2300
云原生之使用Docker部署Firefox浏览器
江湖有缘
2023/11/17
2.4K0
云原生之使用Docker部署Firefox浏览器
【Docker项目实战】使用Docker部署linkding书签管理器
江湖有缘
2024/05/02
1K0
【Docker项目实战】使用Docker部署linkding书签管理器
【Docker项目实战】使用Docker部署RSS阅读器Miniflux
江湖有缘
2023/12/23
1.6K0
【Docker项目实战】使用Docker部署RSS阅读器Miniflux
【Docker项目实战】使用Docker部署tabler后台模版
Tabler 作为一款基于 Bootstrap 构建的免费开源 HTML 仪表板 UI 套件,它的设计初衷是为了加速Web应用程序后台管理界面的开发过程,尤其是对于需要复杂数据展示和操作的后台管理系统。以下是 Tabler 的一些典型使用场景:
江湖有缘
2024/08/06
2270
【Docker项目实战】使用Docker部署tabler后台模版
【Docker项目实战】使用Docker部署blog轻量级博客系统
江湖有缘
2023/12/10
3.8K1
【Docker项目实战】使用Docker部署blog轻量级博客系统
【Docker项目实战】在Docker环境下部署go-file文件分享工具
江湖有缘
2023/12/09
1.5K1
【Docker项目实战】在Docker环境下部署go-file文件分享工具
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
Radicale 作为一个轻量级但功能全面的 CalDAV 和 CardDAV 服务器,适用于多种个人与团队协作场景,具体包括:
江湖有缘
2024/07/30
6160
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
【Docker项目实战】使用Docker部署Mikochi文件管理工具
江湖有缘
2023/12/22
1.1K0
【Docker项目实战】使用Docker部署Mikochi文件管理工具
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
江湖有缘
2024/04/22
6980
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
【Docker项目实战】使用Docker部署pinry堆叠图像公告系统
江湖有缘
2024/01/28
4341
【Docker项目实战】使用Docker部署pinry堆叠图像公告系统
【Docker项目实战】使用Docker部署Xnote轻量级笔记系统
江湖有缘
2024/05/06
1.9K0
【Docker项目实战】使用Docker部署Xnote轻量级笔记系统
【Docker项目实战】使用Docker部署PicoShare共享文件平台
江湖有缘
2024/01/22
1.4K1
【Docker项目实战】使用Docker部署PicoShare共享文件平台
【Docker项目实战】使用Docker部署JmalCloud个人网盘
江湖有缘
2024/01/30
3.4K0
【Docker项目实战】使用Docker部署JmalCloud个人网盘
【Docker项目实战】使用Docker部署FileGator文件管理器
江湖有缘
2024/02/03
2.9K0
【Docker项目实战】使用Docker部署FileGator文件管理器
【Docker项目实战】使用Docker部署our-shopping-list购物清单工具
江湖有缘
2024/04/25
3180
【Docker项目实战】使用Docker部署our-shopping-list购物清单工具
【Docker项目实战】使用Docker部署Filestash文件管理器
江湖有缘
2024/09/18
8700
【Docker项目实战】使用Docker部署Filestash文件管理器
【Docker项目实战】使用Docker部署Easy Countdown计时器
江湖有缘
2024/09/29
2620
【Docker项目实战】使用Docker部署Easy Countdown计时器
【Docker项目实战】使用Docker部署CodeX Docs文档工具
江湖有缘
2024/01/26
1K1
【Docker项目实战】使用Docker部署CodeX Docs文档工具
推荐阅读
相关推荐
【docker】属于你的远程浏览器 可多人协作| Neko安装与基本使用
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文