Neko:运行在云上的虚拟浏览器


## 简介

Neko是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko 是一款功能强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,让您能够从任何地方安全、私密地访问互联网

除了安全和隐私功能外,Neko 还允许多个用户同时访问它。这使其成为需要共享浏览器访问权限的团队或组织以及想要使用多个设备访问同一虚拟环境的个人的理想解决方案。使用 Neko,您可以轻松安全地与他人共享对浏览器的访问权限,而不必担心维护单独的配置或设置。无论您是需要在项目上进行协作、访问共享资源,还是只是想与朋友或家人共享对浏览器的访问权限,Neko 都能让您轻松实现。

也可以配置在公用服务器中,实现高度匿名的网页访问。

GitHub地址:GitHub - m1k1o/neko: A self hosted virtual browser that runs in docker and uses WebRTC.
demo:

准备材料

  • 一台性能较高的服务器

    推荐配置:

    分辨率CPU核心数内存推荐吗?
    1024×576@3022gb能用就行
    1280x720@3043gb能跑
    1280x720@3064gb比较推荐
    1280x720@3084gb+sped++

为什么对服务器要求这么高?:这玩意是在Docker容器里跑一个完整桌面环境 + 完整的浏览器 + 远程链接,所以那些1C1G的小鸡可以直接放弃了。

安装

本教程使用一台4C10G的服务器安装Debian系统进行演示

1.安装 DockerDocker Compose

如果已有Docker环境请略过这一步

1
2
apt update && apt install wget -y
wget -O docker.sh https://get.docker.com/ && bash docker.sh

2.下载Neko配置文件

运行以下命令:

1
2
3
4
apt install -y vim
mkdir neko
cd neko
wget https://raw.githubusercontent.com/m1k1o/neko/master/docker-compose.yaml

3.修改配置文件

1
vim docker-compose.yaml

默认配置文件应该是这样的,我们要对他进行一些修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "3.4"
services:
neko:
image: "m1k1o/neko:firefox"
restart: "unless-stopped"
shm_size: "2gb"
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_SCREEN: 1920x1080@30
NEKO_PASSWORD: neko
NEKO_PASSWORD_ADMIN: admin
NEKO_EPR: 52000-52100
NEKO_ICELITE: 1
  • image: "m1k1o/neko:firefox" 这里可以更改使用的浏览器,默认为Firefox,其他支持的浏览器我会放在文末附录

  • - "8080:8080" 这里是浏览器访问端口,如果被占用则需要修改成没有占用的端口,例如 - "8082:8080"

  • NEKO_SCREEN: 分辨率,请自行修改为适合自己服务器配置的分辨率,格式为宽x高@帧率 例如 1280x720@30

  • NEKO_PASSWORD: 用户访问密码,默认为 neko 请务必修改为自己的密码

  • NEKO_PASSWORD_ADMIN: 管理员密码,默认为 admin 请务必修改为自己的密码

  • NEKO_CONTROL_PROTECTION: 控制保护,要求房间内至少有一名管理员时用户才能获得控制权,建议启用

  • NEKO_LOCKS: 启动时将被锁定的资源,以空格分隔,目前支持 control login file_transfer,例如 control file_transfer

  • NEKO_VIDEO_BITRATE: 视频码率,直接填写数字,默认为3500,单位kb/s

  • NEKO_FILE_TRANSFER_ENABLED: 是否启用文件传输功能

  • NEKO_FILE_TRANSFER_PATH: 文件保存路径,这里是容器内的路径,默认为/home/neko/Downloads

  • NEKO_PROXY: 反向代理设置,如果需要使用则启用,启用后Neko会信任X-Forwarded-For标头

我的示例配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3.4"
services:
neko:
image: "m1k1o/neko:firefox"
restart: "unless-stopped"
shm_size: "2gb"
ports:
- "8082:8080"
- "52000-52100:52000-52100/udp"
environment:
NEKO_SCREEN: 1280x720@30
NEKO_PASSWORD:
NEKO_PASSWORD_ADMIN:
NEKO_EPR: 52000-52100
NEKO_ICELITE: 1
NEKO_LOCKS: control file_transfer
NEKO_VIDEO_BITRATE: 3000
NEKO_FILE_TRANSFER_ENABLED: true
NEKO_FILE_TRANSFER_PATH: /home/neko/Downloads

4.启动Neko

1
docker compose up -d

启动成功后,即可访问

1
http://<服务器IP地址>:8002

连接成功

我的4C10G的服务器,跑测速CPU基本占满

甚至还能无限套娃(

能看YT 720P视频,不是很卡,体验不错

简单的使用教程

登陆上之后右上角分别为:允许用户控制,允许用户加入房间,允许用户上传文件

下面是全屏和修改分辨率的选项,左侧可以更改语言

屏幕最下方显示了当前登录的用户,下面小键盘图标是获取控制权限,点击锁可以锁定控制

点右上角三个横线可以打开菜单,里面分三栏:聊天,文件和设置

  • 聊天:可以看操作记录和聊天

  • 文件:支持文件传输

  • 设置:可以调一些小的选项

附录

其他支持的浏览器

镜像名浏览器备注
m1k1o/neko:latestFirefox默认
m1k1o/neko:firefoxFirefox默认
m1k1o/neko:chromiumChromium需要以系统管理员运行
m1k1o/neko:google-chromeGoogle Chrome需要以系统管理员运行
m1k1o/neko:ungoogled-chromiumUngoogled Chromium需要以系统管理员运行
m1k1o/neko:microsoft-edgeMicrosoft Edge需要以系统管理员运行
m1k1o/neko:vlcVLC Video Player需要以系统管理员运行
m1k1o/neko:operaOpera Browser需要以系统管理员运行

在使用 需要以系统管理员运行 的浏览器时,需要在配置文件中添加如下两行

原:

1
2
3
4
version: "3.4"
services:
neko:
image: "m1k1o/neko:firefox

例如Chrome:

1
2
3
4
5
6
version: "3.4"
services:
neko:
image: "m1k1o/neko:chrome
    cap_add:
- SYS_ADMIN