<div align="center">
<a href="https://github.com/m1k1o/neko" title="Neko的GitHub仓库">
<img src="https://assets.kitploit.com/production/public/readmes/12372/d615c7dc035ac347a0b04287c4f689d36878442142b42156e3781c3c96186a4c.png" width="400" height="auto"/>
</a>
<p align="center">
<a href="https://github.com/m1k1o/neko/releases">
<img src="https://img.shields.io/github/v/release/m1k1o/neko" alt="release">
</a>
<a href="https://github.com/m1k1o/neko/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/m1k1o/neko" alt="license">
</a>
<a href="https://hub.docker.com/r/m1k1o/neko">
<img src="https://img.shields.io/docker/pulls/m1k1o/neko" alt="pulls">
</a>
<a href="https://github.com/m1k1o/neko/issues">
<img src="https://img.shields.io/github/issues/m1k1o/neko" alt="issues">
</a>
<a href="https://github.com/sponsors/m1k1o">
<img src="https://img.shields.io/badge/-sponsor-red" alt="issues">
</a>
<a href="https://discord.gg/HXQJmqNJMz">
<img src="https://assets.kitploit.com/production/public/readmes/12372/f6cb90bffba6aa52dffaaae26d46a18d1fb514e8d1411a80dce96df2fa46a6ec.png" alt="Chat on discord">
</a>
<a href="https://hellogithub.com/repository/4536d4546af24196af3f08a023dfa007" target="_blank">
<img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=4536d4546af24196af3f08a023dfa007&claim_uid=0x19e4dJwD83aW2&theme=small" alt="Featured|HelloGitHub" />
</a>
<a href="https://github.com/m1k1o/neko/actions">
<img src="https://github.com/m1k1o/neko/actions/workflows/ghcr.yml/badge.svg" alt="build">
</a>
</p>
<img src="https://assets.kitploit.com/production/public/readmes/12372/c85b494a39869005a0d9f5c65ffcaf1fa002defafe4c0e01f339b9f51e4e4caf.gif" width="650" height="auto"/>
</div>
# n.eko
欢迎使用Neko,一个运行在Docker中并使用WebRTC技术的自托管虚拟浏览器。Neko是一个强大的工具,允许您在虚拟环境中**运行完整功能的浏览器**,让您能够**从任何地方安全且私密地访问互联网**。使用Neko,您可以像在常规浏览器上一样浏览网页、**运行应用程序**和执行其他任务,所有操作都在一个**安全且隔离的环境**中。无论您是希望测试Web应用程序的开发者,是寻求安全浏览体验的**注重隐私的用户**,还是只是想利用虚拟浏览器的**便利性和灵活性**的人,Neko都是完美的解决方案。
除了安全和隐私功能外,Neko还提供了**多个用户同时访问**的能力。这使其成为需要共享浏览器访问权限的团队或组织,以及希望使用**多台设备访问同一虚拟环境**的个人的理想解决方案。通过Neko,您可以**轻松且安全地与其他人共享浏览器访问权限**,而无需担心维护独立的配置或设置。无论您是需要**协作项目**、访问共享资源,还是只想**与朋友或家人共享浏览器访问权限**,Neko都能轻松实现。
Neko也是一个**举办观影派对**和互动演示的绝佳工具。凭借其虚拟浏览器功能,Neko允许您举办**可从任何地方访问**的观影派对和演示,无需线下聚集。这使您即使在无法亲自会面时也能轻松**与朋友和同事保持联系**。无论是休闲还是工作,Neko都能让您轻松举办观影派对或进行**互动演示**。只需邀请客人加入虚拟环境,即可共享屏幕并**实时与他们互动**。
## 关于
该应用使用WebRTC在Docker容器内流式传输桌面。原作者制作此应用是因为[rabb.it](https://en.wikipedia.org/wiki/Rabb.it)倒闭了,而且他的网络无法处理流媒体,当他的朋友尝试时Discord不断崩溃。他只是想和朋友一起看动漫 ლ(ಠ益ಠლ),于是开始在网上搜索,找到了一些*类似*的克隆,但没有一个具备虚拟浏览器。后来他找到了[Turtus](https://github.com/Khauri/Turtus),从而得以解决其余部分。
然后我发现了[这个](https://github.com/nurdism/neko)项目并开始深入了解。我非常喜欢多人协同浏览器的想法,于是创建了一个分支。最初,我想将我的更改合并到上游仓库,但原作者已经没有时间维护此项目,最终它被归档了。
## 使用场景与比较
Neko最初是一个通过WebRTC流式传输给多个用户的虚拟浏览器。
- 它**不仅限于浏览器**;它可以运行任何在Linux上运行的程序(例如VLC)。浏览器只是最流行和广泛使用的用例。
- 事实上,它也不限于单个程序;您可以安装完整的桌面环境(例如XFCE、KDE)。
- 说到限制,它不需要在容器中运行;您可以在主机上安装neko,连接到您的X服务器并控制整个虚拟机。
- 理论上,它不限于X服务器,任何可以被控制并定时抓取图像的程序都可以使用。
- 比如实现RDP或VNC协议,此时neko仅充当WebRTC中继服务器。目前这只是一个未来的设想。
主要使用场景是与多人连接,利用实时同步和互动性:
- **观影派对**——与多人一起观看视频内容并互动(聊天、表情)——是[giggl.app](https://giggl.app/)或[hyperbeam](https://watch.hyperbeam.com)的开源替代品。
- **互动演示**——不仅是屏幕共享,其他人还可以控制屏幕。
- **协作工具**——集思广益、协同浏览、一起调试代码。
- **支持/教学**——在受控环境中交互式指导他人。
- **嵌入任何内容**——将虚拟浏览器嵌入您的网页应用——是[hyperbeam API](https://hyperbeam.com/)的开源替代品。
- 打开任何第三方网站或应用程序,在多个参与者之间完美同步音频和视频。
- 使用[neko-rooms](https://github.com/m1k1o/neko-rooms)通过API请求房间。
- [**VR Chat中的Neko**](https://github.com/jameskitt616/vrchat_streaming)——在VR中与朋友一起观看远程浏览器。
其他受益于单用户的使用场景:
- **个人工作空间**——将容器化应用和桌面流式传输给最终用户——类似于[kasm](https://www.kasmweb.com/)。
- **持久化浏览器**——拥有可在任何地方使用的持久化Cookie的浏览器——类似于[mightyapp](https://www.mightyapp.com/)。
- 连接终止后,主机浏览器上不保留任何状态。
- 像Cookie这样的敏感数据不会传输——只共享视频。
- **一次性浏览器**——用于策划秘密派对和在互联网上购买生日礼物的更好解决方案。
- 使用Tor浏览器和[VPN](https://github.com/m1k1o/neko-vpn)以获得额外的匿名性。
- 通过在容器中运行,降低操作系统指纹识别和浏览器漏洞的风险。
- **会话广播**——使用RTMP广播房间内容(例如到Twitch或YouTube等)。
- **会话录制**——广播的RTMP可以使用例如[nginx-rtmp](https://www.nginx.com/products/nginx/modules/rtmp-media-streaming/)保存到文件。
- 录制教程时拥有干净的环境。
- 无需隐藏书签或使用隐身模式。
- **跳板主机**——无需VPN即可安全访问内部应用程序。
- **自动化浏览器**——您可以安装[playwright](https://playwright.dev/)或[puppeteer](https://pptr.dev/)并自动化任务,同时能够主动拦截它们。
与无客户端远程桌面网关(例如[Apache Guacamole](https://guacamole.apache.org/)或[websockify](https://github.com/novnc/websockify)配合[noVNC](https://novnc.com/))相比,安装了远程桌面服务器以及所需程序(例如[linuxserver/firefox](https://docs.linuxserver.io/images/docker-firefox))的Neko还额外提供:
- **流畅视频**,因为它使用WebRTC而不是通过WebSocket发送图像。
- **内置音频**支持,这是Apache Guacamole或noVNC所不具备的。
- **多参与者控制**,这是Apache Guacamole或noVNC原生不支持的。
### 支持的浏览器
<div align="center">
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#firefox">
<img src="https://neko.m1k1o.net/img/icons/firefox.svg" title="ghcr.io/m1k1o/neko/firefox" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#tor-browser">
<img src="https://neko.m1k1o.net/img/icons/tor-browser.svg" title="ghcr.io/m1k1o/neko/tor-browser" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#waterfox">
<img src="https://neko.m1k1o.net/img/icons/waterfox.svg" title="ghcr.io/m1k1o/neko/waterfox" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#chromium">
<img src="https://neko.m1k1o.net/img/icons/chromium.svg" title="ghcr.io/m1k1o/neko/chromium" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#google-chrome">
<img src="https://neko.m1k1o.net/img/icons/google-chrome.svg" title="ghcr.io/m1k1o/neko/google-chrome" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#ungoogled-chromium">
<img src="https://neko.m1k1o.net/img/icons/ungoogled-chromium.svg" title="ghcr.io/m1k1o/neko/google-chrome" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#microsoft-edge">
<img src="https://neko.m1k1o.net/img/icons/microsoft-edge.svg" title="ghcr.io/m1k1o/neko/microsoft-edge" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#brave">
<img src="https://neko.m1k1o.net/img/icons/brave.svg" title="ghcr.io/m1k1o/neko/brave" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#vivaldi">
<img src="https://neko.m1k1o.net/img/icons/vivaldi.svg" title="ghcr.io/m1k1o/neko/vivaldi" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#opera">
<img src="https://neko.m1k1o.net/img/icons/opera.svg" title="ghcr.io/m1k1o/neko/opera" width="60" height="auto"/>
</a>
... 查看[所有可用镜像](https://neko.m1k1o.net/docs/v3/installation/docker-images)
</div>
### 其他应用
<div align="center">
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#xfce">
<img src="https://neko.m1k1o.net/img/icons/xfce.svg" title="ghcr.io/m1k1o/neko/xfce" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#kde">
<img src="https://neko.m1k1o.net/img/icons/kde.svg" title="ghcr.io/m1k1o/neko/kde" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#remmina">
<img src="https://neko.m1k1o.net/img/icons/remmina.svg" title="ghcr.io/m1k1o/neko/remmina" width="60" height="auto"/>
</a>
<a href="https://neko.m1k1o.net/docs/v3/installation/docker-images#vlc">
<img src="https://neko.m1k1o.net/img/icons/vlc.svg" title="ghcr.io/m1k1o/neko/vlc" width="60" height="auto"/>
</a>
其他内容请访问<a href="https://github.com/m1k1o/neko-apps">m1k1o/neko-apps</a>
</div>
### 为什么叫neko?
我喜欢猫咪 🐱(`Neko`在日语中是猫的意思),我是个宅/极客。
***但为什么是猫屁股?*** 因为猫咪是*混蛋*,但你还是爱它们。
## 多房间
关于neko房间管理软件,请访问[neko-rooms](https://github.com/m1k1o/neko-rooms)。
它还提供了[零知识安装(含HTTPS)](https://github.com/m1k1o/neko-rooms/?tab=readme-ov-file#zero-knowledge-installation-with-https)。
## 文档
完整文档请访问[neko.m1k1o.net](https://neko.m1k1o.net/)。主要章节包括:
- [从V2迁移](https://neko.m1k1o.net/docs/v3/migration-from-v2)
- [快速开始](https://neko.m1k1o.net/docs/v3/quick-start)
- [安装](https://neko.m1k1o.net/docs/v3/installation)
- [示例](https://neko.m1k1o.net/docs/v3/installation/examples)
- [配置](https://neko.m1k1o.net/docs/v3/configuration)
- [常见问题](https://neko.m1k1o.net/docs/v3/faq)
- [故障排除](https://neko.m1k1o.net/docs/v3/troubleshooting)
## 如何贡献
欢迎贡献!详情请查看[贡献指南](https://neko.m1k1o.net/contributing)。
## 支持
如果您觉得Neko有用,请考虑通过[GitHub赞助者](https://github.com/sponsors/m1k1o)支持该项目。