一个开源的自托管虚拟浏览器项目,支持在安全、私密的环境中使用浏览器

大家好,今天给大家分享一个开源的自托管虚拟浏览器项目Neko,旨在利用 WebRTC 技术在 Docker 容器中运行虚拟浏览器,为用户提供安全、私密且多功能的浏览体验。

项目介绍

Neko利用 WebRTC 技术在 Docker 容器中运行虚拟浏览器,提供安全、私密且多功能的浏览体验,支持多人同时访问,适用于多种场景,如团队协作、隐私保护、娱乐互动等。

核心功能

1.多用户协作

支持多个用户同时连接到同一个虚拟浏览器实例,实现实时的协作与交互。用户可以一起浏览网页、操作应用程序,进行诸如观看派对、交互式演示、头脑风暴等多种协作活动。

2.丰富的交互功能

  • 文本聊天:内置文本聊天功能,支持基本的 Markdown 格式,让用户在协作过程中能够方便地进行文字交流,类似于 Discord 的聊天风格。

  • 管理员功能:提供了强大的管理员功能,如踢人、封禁、强制控制权限、锁定房间等,方便对虚拟浏览器的使用环境进行管理和控制。

  • 剪贴板同步:在支持的浏览器上实现剪贴板同步,用户可以方便地在本地和虚拟浏览器之间复制粘贴文本和文件,提高工作效率。

  • 表情覆盖:允许用户发送和显示表情,增加了互动的趣味性和表达力。

  • 忽略用户:用户可以选择忽略其他用户的聊天消息和表情,以便更好地专注于自己的操作。

  • 文件传输:如果启用,支持双向文件传输。

3.安全与隐私保护

  • 数据隔离:由于采用了容器化技术,虚拟浏览器中的数据与用户本地设备的数据相互隔离,确保了用户数据的安全性。

  • 隐私浏览:连接终止后,主机浏览器无状态残留,敏感数据如 Cookie 等不会传输到用户本地设备,仅共享视频流,有效保护了用户的隐私。用户还可以结合使用 Tor Browser 和 VPN 等工具进一步增强匿名性。

4.灵活的配置与扩展

  • 持久化设置:支持持久化设置,用户可以保存自己的配置信息,下次连接时自动恢复之前的设置,方便快捷。

  • 自动登录:通过自定义 URL 参数实现自动登录,提高了使用的便利性。

  • 应用扩展:不仅可以运行常见的浏览器,还可以在虚拟环境中安装和运行其他 Linux 应用程序,如 VLC 媒体播放器等,满足了不同用户的多样化需求。

核心技术与架构

Docker 容器化技术:采用 Docker 容器来运行虚拟浏览器及相关应用程序,实现了环境的隔离与封装。这使得每个虚拟浏览器实例都能在独立的、预配置的环境中运行,确保了系统的稳定性和安全性,同时也方便了部署与管理。

WebRTC 数据传输:利用 WebRTC(Web Real-Time Communication)技术实现桌面流的高效传输。WebRTC 允许浏览器之间进行实时的音频、视频和数据传输,无需额外的插件或软件。在 n.eko 中,通过 WebRTC 将虚拟浏览器的桌面画面实时传输到用户的终端设备,为用户提供流畅的浏览体验。

应用场景

团队协作与教育教学:团队成员可以在虚拟浏览器中共同浏览和讨论项目相关的网页、文档,进行代码调试等协作工作。教师可以利用 n.eko 创建一个受控的教学环境,引导学生进行在线学习和实践操作,实时互动和解答问题,提高教学效果。

娱乐互动:用户可以举办观看派对,多人同时观看视频并通过聊天和表情进行互动,增加娱乐性和社交性。

个人隐私浏览与自动化任务:对于注重隐私的用户,n.eko 提供了一个安全的浏览环境,可用于进行一些隐私敏感的操作,如网购、浏览个人信息等。此外,用户还可以在虚拟浏览器中安装自动化测试工具,如 Playwright 或 Puppeteer,实现自动化任务的执行和监控。

安装使用

安装

环境要求

1280x720@30 分辨率下,推荐使用6 核 4GB 配置。

安装Docker环境


# 安装Docker
curl -sSL https://get.docker.com/ | CHANNEL=stable bash# 安装Docker Composesudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

安装应用

wget https://raw.githubusercontent.com/m1k1o/neko/master/docker-compose.yaml
sudo docker-compose up -d

修改docker-compose.yml内容:

version: "3.4"
services:neko:image: "m1k1o/neko:firefox"restart: "unless-stopped"shm_size: "2gb"ports:- "8081:8080"- "52000-52100:52000-52100/udp"environment:NEKO_SCREEN: 1920x1080@30NEKO_PASSWORD: nekoNEKO_PASSWORD_ADMIN: adminNEKO_EPR: 52000-52100NEKO_ICELITE: 1NEKO_NAT1TO1: <本机IP>
~

使用chrome浏览器

修改docker-compose.yml内容:

version: "3.4"
services:neko:image: "m1k1o/neko:chromium"restart: "unless-stopped"shm_size: "2gb"ports:- "8081:8080"- "52000-52100:52000-52100/udp"cap_add:- SYS_ADMINenvironment:NEKO_SCREEN: 1920x1080@30NEKO_PASSWORD: nekoNEKO_PASSWORD_ADMIN: adminNEKO_EPR: 52000-52100NEKO_ICELITE: 1NEKO_NAT1TO1: <本机IP>
~

注意需要添加这句:

cap_add:- SYS_ADMIN

否则,登录后会看不到浏览器。

服务启动后在浏览器中访问服务器 IP 地址,默认密码为neko

使用

输入昵称和密码,进入应用。

基本使用。

总结

Neko是一个功能强大的自托管虚拟浏览器,基于Docker和WebRTC技术,提供安全私密的互联网访问方式。它支持多个用户同时访问,适用于项目协作、社交活动和实时互动等多种场景。此外,Neko还具备丰富的功能特性,如文本聊天、管理员功能、剪贴板同步等,并以其独特的命名由来和猫屁股图标增添了趣味性。

项目地址

https://github.com/m1k1o/neko

一个开源的自托管虚拟浏览器项目,支持在安全、私密的环境中使用浏览器 - BTool博客 - 在线工具软件,为开发者提供方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA没有搞头了吗?

前言 今年的Java程序员群体似乎承受着前所未有的焦虑。投递简历无人问津&#xff0c;难得的面试机会也难以把握&#xff0c;即便成功入职&#xff0c;也往往难以长久。于是&#xff0c;不少程序员感叹&#xff1a;互联网的寒冬似乎又一次卷土重来&#xff0c;环境如此恶劣&…

asp.net repeater嵌套

OnItemCreated方式 <%-- 一级Repeater绑定班级信息 --%><asp:Repeater ID"rptClassInfo" runat"server" OnItemCreated"rptClassInfo_ItemCreated"><ItemTemplate><div class"classInfo"><h3><%# Ev…

SpringBoot 开启热部署 项目热启动 一键调试无需 无需重启

依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope> <!-- 只在开发环境下使用 --> </dependency>Idea设置 设置完后&#xff0c;修…

小程序快速实现大模型聊天机器人

需求分析&#xff1a; 基于大模型&#xff0c;打造一个聊天机器人&#xff1b;使用开放API快速搭建&#xff0c;例如&#xff1a;讯飞星火&#xff1b;先实现UI展示&#xff0c;在接入API。 最终实现效果如下&#xff1a; 一.聊天机器人UI部分 1. 创建微信小程序&#xff0c…

MySQL笔记--多表查询

1--多表关系 多表关系基本上分为三种&#xff1a; 一对多&#xff08;多对一&#xff09;&#xff1b; 多对多&#xff1b; 一对一&#xff1b; 1-1--多对一 在多的一方建立外键&#xff0c;指向一的一方的主键&#xff1b; 1-2--多对多 建立第三张中间表&#xff0c;中间表至少…

【多模态】MiniCPM-V多模态大模型使用学习

MiniCPM-V模型使用 前言1. 模型文件下载和选择2. 环境安装配置3. 模型微调3.1 qlora微调minicpm-v-int43.2 lora微调minicpm-v3.3 merge_lora3.4 lora微调后量化int4 4. 模型推理4.1 huggingface API4.2 swift API(A) swift&#xff08;不支持batch inference&#xff09;(B) s…

C#多线程系列章节五

线程创建的几种写法 thread类 threadpool 线程池 task类 Thread t = new Thread(func); t.Start();//线程开始执行threadPool.QueueUserWorkItem(test)创建var t1 = new Task(() => test(“Task 1”));t.start();Task.Run(() => test(“Task 2”));Task.Factory.StartNew…

clickhouse-介绍、安装、数据类型、sql

1、介绍 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP&#xff08;On-Line A…

Audition 2025 for Mac Au音频编辑软件

Mac分享吧 文章目录 Audition 2025 for Mac Au音频编辑软件 效果图展示一、Audition 2025 Au音频编辑软件 Mac电脑版——v25.0⚠️注意事项&#xff1a;1️⃣&#xff1a;下载软件2️⃣&#xff1a;安装软件2.1 安装AntiCC_5.9_简化版&#xff0c;操作步骤如下&#xff1a;2.2…

JAVA题目笔记(二十五)网络编程综合小练qa!3EF TG6U8.L;

一、多发多收 客户端&#xff1a; import java.io.*; import java.net.Socket; import java.util.Scanner;public class Test1_2 {public static void main(String[] args) throws IOException {//TCP发送端Scanner scnew Scanner(System.in);String b;//创建Socket对象Socket…

决策树的生成与剪枝

决策树的生成与剪枝 决策树的生成生成决策树的过程决策树的生成算法 决策树的剪枝决策树的损失函数决策树的剪枝算法 代码 决策树的生成 生成决策树的过程 为了方便分析描述&#xff0c;我们对上节课中的训练样本进行编号&#xff0c;每个样本加一个ID值&#xff0c;如图所示…

基于SpringBoot的疫苗在线预约功能实现十二

一、前言介绍&#xff1a; 1.1 项目摘要 随着全球公共卫生事件的频发&#xff0c;如新冠疫情的爆发&#xff0c;疫苗成为了预防和控制传染病的重要手段。传统的疫苗预约方式&#xff0c;如人工挂号或电话预约&#xff0c;存在效率低、易出错、手续繁琐等问题&#xff0c;无法…

MySQL基础 -----MySQL数据类型

目录 INT类型 tinyint类型 类型大小范围 测试tinyint类型数据 float类型 测试&#xff1a; 测试正常数据范围的数据 测试插入范围超过临界值的数据&#xff1a; 测试float类型的四舍五入 ​编辑 decimal类型 同样测试&#xff1a; 字符串类型 char类型 测试&…

代码开发相关操作

使用Vue项目管理器创建项目&#xff1a;&#xff08;vue脚手架安装一次就可以全局使用&#xff09; windowR打开命令窗口&#xff0c;输入vue ui&#xff0c;进入GUI页面&#xff0c;点击创建-> 设置项目名称&#xff0c;在初始化git下面输入&#xff1a;init project&…

如何在 Ubuntu 22.04 上安装和使用 Rust 编程语言环境

简介 Rust 是一门由 Mozilla 开发的系统编程语言&#xff0c;专注于性能、可靠性和内存安全。它在没有垃圾收集的情况下实现了内存安全&#xff0c;这使其成为构建对性能要求苛刻的应用程序&#xff08;如操作系统、游戏引擎和嵌入式系统&#xff09;的理想选择。 接下来&…

MybatisPlus-配置加密

配置加密 目前配置文件中的很多参数都是明文&#xff0c;如果开发人员发生流动&#xff0c;很容易导致敏感信息的泄露。所以MybatisPlus支持配置文件的加密和解密功能。 我们以数据库的用户名和密码为例。 生成秘钥 首先&#xff0c;我们利用AES工具生成一个随机秘钥&#…

记录:virt-manager配置Ubuntu arm虚拟机

virt-manager&#xff08;Virtual Machine Manager&#xff09;是一个图形用户界面应用程序&#xff0c;通过libvirt管理虚拟机&#xff08;即作为libvirt的图形前端&#xff09; 因为要在Linux arm环境做测试&#xff0c;记录下virt-manager配置arm虚拟机的过程 先在VMWare中…

ChatGPT客户端安装教程(附下载链接)

用惯了各类AI的我们发现每天打开网页还挺不习惯和麻烦&#xff0c;突然发现客户端上架了&#xff0c;懂摸鱼的人都知道这里面的道行有多深&#xff0c;话不多说&#xff0c;开整&#xff01; 以下是ChatGPT客户端的详细安装教程&#xff0c;适用于Windows和Mac系统&#xff1a…

Element@2.15.14-tree checkStrictly 状态实现父项联动子项,实现节点自定义编辑、新增、删除功能

背景&#xff1a;现在有一个新需求&#xff0c;需要借助树结构来实现词库的分类管理&#xff0c;树的节点是不同的分类&#xff0c;不同的分类可以有自己的词库&#xff0c;所以父子节点是互不影响的&#xff1b;同样为了选择的方便性&#xff0c;提出了新需求&#xff0c;选择…

概率论得学习和整理27:关于离散的数组 随机变量数组的均值,方差的求法3种公式,思考和细节。

目录 1 例子1&#xff1a;最典型的&#xff0c;最简单的数组的均值&#xff0c;方差的求法 2 例子1的问题&#xff1a;例子1只是1个特例&#xff0c;而不是普遍情况。 2.1 例子1各种默认假设&#xff0c;导致了求均值和方差的特殊性&#xff0c;特别简单。 2.2 我觉得 加权…