neko自建远程浏览器

一、前言

本文以远程浏览器程序 neko 演示

作者的话:neko是一个在Docker中运行并使用WebRTC技术的自托管虚拟浏览器。使用 Neko,您可以像在常规浏览器上一样浏览 Web、运行应用程序以及执行其他任务,所有这些都在安全且隔离的环境中完成。无论您是希望测试 Web 应用程序的开发人员、寻求安全浏览体验的注重隐私的用户,还是只是想要利用虚拟浏览器的便利性和灵活性的人,Neko 都是完美的解决方案。

我个人感觉是一款非常棒的远程浏览器程序,画质很高,支持全系统全平台使用,资源占用不会太高[hidecontent type=”payshow”]

本文以一台1H1G Debian系统的VPS演示安装单个远程浏览器,以一台4H4G演示搭建neko room批量管理多个远程浏览器

你的用途取决于你的vps配置

仅仅用来浏览网页CPU和内存占用不会太高 1H1G加上虚拟内存足够

如果是看流媒体这种需要编解码占用CPU GPU的服务 vps配置自然需要高,看1080p流媒体至少需要2核2G(CPU总跑分1500+)

客户端浏览器需要支持webRTC,常见的chrome edge safari 都支持

二、安装docker

① 更新源

1
2
yum update -y && yum upgrade -y #Centos执行这条命令
apt update -y && apt upgrade -y #Ubuntu/Debian执行这条命令

② 安装docker及docker compose

1 curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh

③ 检查docker是否安装成功

1
2
3
4
5
#以下即为安装成功
root@debian-4gb-fsn1-2:~# docker compose version
Docker Compose version v2.17.2
root@debian-4gb-fsn1-2:~# docker -v
Docker version 23.0.2, build 569dd73
neko自建远程浏览器

三、添加虚拟内存

我用的jcnf大佬的聚合脚本,添加了 2048MB的虚拟内存

1 wget -O jcnfbox.sh https://raw.githubusercontent.com/Netflixxp/jcnf-box/main/jcnfbox.sh && chmod +x jcnfbox.sh && clear && ./jcnfbox.sh
neko自建远程浏览器

centos添加虚拟内存我之前写过你可以在我博客搜索框查找

neko自建远程浏览器
neko自建远程浏览器

三、docker compose安装neko

可以参考官网教程:n.eko

1、下载neko docker compose文件

1 wget https://raw.githubusercontent.com/m1k1o/neko/master/docker-compose.yaml

可以选择性编辑docker compose文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#vim docker-compose.yaml

version: “3.4”
services:
neko:
image: “m1k1o/neko:firefox” #远程浏览器程序,可以选择firefox chromium等
restart: “unless-stopped”
shm_size: “2gb”
ports:
– “8080:8080”
– “52000-52100:52000-52100/udp”
environment:
NEKO_SCREEN: 1920×1080@30 #默认画质,管理员可以在网页端随时更改
NEKO_PASSWORD: neko #普通用户访问密码,自己更改
NEKO_PASSWORD_ADMIN: admin #管理员访问密码,自己更改
NEKO_EPR: 52000-52100
NEKO_ICELITE: 1
#环境变量还可以根据官方文档自定义修改


2、启动docker程序

1 sudo docker-compose up -d
neko自建远程浏览器

3、通过ip:port访问

用户名随便,密码可以是普通用户密码,也可以是管理员密码

neko自建远程浏览器

四、neko room

neko room是另外的一个工具,可以批量添加多个不同浏览器

选择一个域名解析到vps的IP

下载neko room安装脚本

1 wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install

执行脚本

1 sudo bash neko-rooms.sh
neko自建远程浏览器

脚本会自动申请证书,通过填入的域名访问

expert setting 可以添加环境变量、对CPU和内存设置资源限制、启用GPU

neko自建远程浏览器

五、一般玩法

neko自建远程浏览器

2、所有人都有控制权,可以同时控制屏幕,无需请求

  • neko room:开启 NEKO_IMPLICIT_CONTROL
  • docker compose运行的neko:在compose文件的环境变量加上 NEKO_IMPLICIT_CONTROL: true

3、neko反代设置

可以参考官方给出的配置:Reverse Proxy (m1k1o.net)

neko自建远程浏览器
neko自建远程浏览器

4、复制粘贴

neko或neko-room添加环境变量 NEKO_FILE_TRANSFER_ENABLED: true

5、安装浏览器扩展或下载文件

参考: Chrome policies

作者为了安全默认禁止下载文件 禁止安装扩展(https://github.com/m1k1o/neko/issues/114#issuecomment-988309991)

For security, if the browser would be compromised, installing any extension could potentially allow anyone to access filesystem or steal all cookies, inject malware to any page…

但我们一般不在乎那些,可以根据官方教程手动修改 chrome polices

我以 Chromium 为例

1、在vps新建一个 policies.json 文件,可以填入如下政策

我这里文件添加在在 /root/policies.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{
“AutofillAddressEnabled”: false,
“AutofillCreditCardEnabled”: false,
“BrowserSignin”: 0,
“DefaultNotificationsSetting”: 2,
“DeveloperToolsAvailability”: 2,
“EditBookmarksEnabled”: false,
“FullscreenAllowed”: true,
“IncognitoModeAvailability”: 1,
“SyncDisabled”: true,
“AutoplayAllowed”: true,
“BrowserAddPersonEnabled”: false,
“BrowserGuestModeEnabled”: false,
“DefaultPopupsSetting”: 2,
“DownloadRestrictions”: 0,
“VideoCaptureAllowed”: true,
“AllowFileSelectionDialogs”: false,
“PromptForDownloadLocation”: false,
“BookmarkBarEnabled”: false,
“PasswordManagerEnabled”: false,
“BrowserLabsEnabled”: false,
“URLAllowlist”: [
“file:///home/neko/Downloads”,
“file://*”,
“chrome://policy”
],

“ExtensionInstallForcelist”: [
“cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx”,
“mnjggcdmjocbbbhaepdhchncahnbgone;https://clients2.google.com/service/update2/crx”
],
“ExtensionInstallAllowlist”: [
“cjpalhdlnbpafiamejdnhcphjbkeiagm”,
“mnjggcdmjocbbbhaepdhchncahnbgone”,
“padekgcemlokbadohgkifijomclgjgif”
]
}

然后替换 Chromium 原本严格的政策

1
2
3
#容器ID’13f53eaa2252′ 记得替换为你自己的
#/root/policies.json 也是替换问你文件路径
docker cp /root/policies.json 13f53eaa2252:/etc/chromium/policies/managed/policies.json

然后就可以下载安装扩展了

neko自建远程浏览器

6、浏览器使用代理

可能有小伙伴需要观看netflix 使用chatgpt等,常规vps数据中心IP一般不符合要求

可以安装 Proxy SwitchyOmega 不过它只支持http和socks协议

暂时不知道支持其他协议的插件 欢迎反馈

7、更多玩法

可以参考官方: 常见问题解答

[/hidecontent]

给TA打赏
共{{data.count}}人
人已打赏
网络技巧网络随笔

OVHDD方法(自用ovhDD)

2023-4-14 22:25:19

网络技巧网络随笔

自建在线云浏览器

2023-4-16 18:34:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索