
Самостоятельно размещенный виртуальный браузер, работающий в Docker и использующий WebRTC.
<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 вы можете просматривать веб-страницы, **запускать приложения** и выполнять другие задачи точно так же, как в обычном браузере, но в **безопасном и изолированном окружении**. Будь вы разработчик, тестирующий веб-приложения, **пользователь, заботящийся о конфиденциальности и ищущий безопасный просмотр**, или просто тот, кто хочет воспользоваться **удобством и гибкостью виртуального браузера**, 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/).
- открывайте любые сторонние сайты или приложения, синхронизируйте аудио и видео без искажений среди нескольких участников.
- запрашивайте комнаты через API с помощью [neko-rooms](https://github.com/m1k1o/neko-rooms).
- [**Neko внутри VR Chat**](https://github.com/jameskitt616/vrchat_streaming) — совместный просмотр удалённого браузера с друзьями в виртуальной реальности.
Другие варианты использования для одного пользователя:
- **Личное рабочее пространство** — стриминг контейнеризированных приложений и рабочих столов конечным пользователям — похоже на [kasm](https://www.kasmweb.com/).
- **Постоянный браузер** — собственный браузер с постоянными куки, доступный откуда угодно — похоже на [mightyapp](https://www.mightyapp.com/).
- после завершения соединения на хост-браузере не остаётся никаких данных.
- конфиденциальные данные, такие как куки, не передаются — передаётся только видео.
- **Одноразовый браузер** — лучшее решение для планирования секретных вечеринок и покупки подарков в интернете.
- используйте Tor Browser и [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 Sponsors](https://github.com/sponsors/m1k1o).