n.eko - проект для запуска различных браузеров в Docker контейнере с доступом к нему по протоколу WebRTC. Вы можете запустить его в любом месте, подключиться к нему и использовать.
Сценарии использования
Сценарии практического использования может выглядеть так, например вы арендовали VPS, установили Docker и запустили необходимый вам браузер из готового образа neko. Примеры docker-compose.yaml
можно посмотреть на официальном сайте Затем на своем рабочем месте в браузере открываете этот браузер. Благодаря возможностям WebRTC всё работает относительно быстро, поддерживается передача звука и видео. Можно например смотреть YouTube, а так же просто заниматься серфингом.
В дополнение к такому сценарию использования, к вашему виртуальному браузеру могут подключиться зрители и наблюдать что вы делаете. В таком режиме можно например устроить совместный просмотр фильмов, видео, презентаций. Имеется так же отдельный образ с VLC плеером.
Рекомендованне системные требования:
Разрешение | Ядра | ОЗУ | Рекомендации |
---|---|---|---|
1024×576@30 | 2 | 2 ГБ | Не рекомендуется |
1280x720@30 | 4 | 3 ГБ | Хорошая производительность |
1280x720@30 | 6 | 4 ГБ | Рекомендованне |
1280x720@30 | 8 | 4 ГБ+ | Лучшая производительность |
Установка
Работает это максимально просто и быстро. Создаём docker-compose.yaml
с нужным браузером:
version: "3.4"
services:
neko:
image: "m1k1o/neko:firefox"
container_name: "neko"
restart: "unless-stopped"
shm_size: "3gb"
ports:
- "3000:8080"
- "52000-52100:52000-52100/udp"
#cap_add:
#- SYS_ADMIN #needs for Chromium browsers
environment:
NEKO_SCREEN: '1920x1080@30'
NEKO_PASSWORD: nekouserpas$
NEKO_PASSWORD_ADMIN: nekoadminpas$
NEKO_EPR: 52000-52100
#NEKO_NAT1TO1: <your-IP> # Internal ipx
Небольшое пояснение переменных
NEKO_SCREEN
- указывают разрешение и фреймрейт в котором будкт работать браузерNEKO_PASSWORD
- пароль для зрителейNEKO_PASSWORD_ADMIN
- пароль для пользователя admin. То есть заходить админом вам надо будет с учёткой admin / nekoadminpas$.NEKO_NAT1TO1
- внутренний IP адрес. Если это будет VPS с внешним ip адресом, ничего указывать не надо, адрес будет определён автоматически.
Вы так же можете использовать дополнительные параметры конфигурации
Запускаем:
docker compose up -d
После того, как загрузится и запустится образ, можно перейти по ip адресу сервера http://YOUR-IP:3000
и логиниться в neko.
Когда залогинитесь, снизу будет иконка клавиатуры и ползунок. Иконку надо нажать чтобы заработало управление внутри контейнера. Справа вверху будут настройки разрешения экрана и некоторые другие. В общем и целом все, можно пользоваться.
Neko можно запустить по HTTPS или через обратный прокси. В документации есть примеры настроек для этого.
Список готовых образов с браузерами и не только представлен в документации. Можно и обычную систему запустить с xfce
или kde
или собрать собственный образ. Есть образы под arm, отдельно с поддержкой видеокарт.
Образы регулярно автоматически обновляются, так что браузеры там свежих версий. Получается хорошее решение для гарантированной изоляции, если хочется запустить в браузере что-то сомнительное. Или просто использовать отдельный браузер с необходимыми настройками и локацией.
Подключаться к такому браузеру можно с мобильных клиентов. Интерфейс адаптирован под разрешения экранов смартфонов.
Отдельно есть проект по управлению виртуальными комнатами с запущенными браузерами neko - neko-rooms.