
Um navegador virtual auto-hospedado que executa em docker e usa WebRTC.
<div align="center">
<a href="https://github.com/m1k1o/neko" title="Repositório do Neko no 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
Bem-vindo ao Neko, um navegador virtual auto-hospedado que roda em Docker e utiliza tecnologia WebRTC. O Neko é uma ferramenta poderosa que permite **executar um navegador totalmente funcional em um ambiente virtual**, dando a você a capacidade de **acessar a internet de forma segura e privada de qualquer lugar**. Com o Neko, você pode navegar na web, **executar aplicativos** e realizar outras tarefas exatamente como faria em um navegador comum, tudo dentro de um **ambiente seguro e isolado**. Seja você um desenvolvedor testando aplicações web, um **usuário preocupado com a privacidade em busca de uma experiência de navegação segura**, ou simplesmente alguém que deseja aproveitar a **conveniência e flexibilidade de um navegador virtual**, o Neko é a solução perfeita.
Além de seus recursos de segurança e privacidade, o Neko oferece a **capacidade de múltiplos usuários acessá-lo simultaneamente**. Isso o torna uma solução ideal para equipes ou organizações que precisam compartilhar o acesso a um navegador, bem como para indivíduos que desejam usar **vários dispositivos para acessar o mesmo ambiente virtual**. Com o Neko, você pode **compartilhar o acesso a um navegador com outras pessoas de forma fácil e segura**, sem se preocupar em manter configurações separadas. Seja para **colaborar em um projeto**, acessar recursos compartilhados, ou simplesmente **compartilhar o acesso a um navegador com amigos ou familiares**, o Neko torna isso simples.
O Neko também é uma ótima ferramenta para **organizar watch parties (festas de exibição) e apresentações interativas**. Com suas capacidades de navegador virtual, o Neko permite que você realize watch parties e apresentações que são **acessíveis de qualquer lugar**, sem a necessidade de encontros presenciais. Isso facilita **manter-se conectado com amigos e colegas**, mesmo quando não é possível encontrar-se pessoalmente. Com o Neko, você pode facilmente organizar uma watch party ou fazer uma **apresentação interativa**, seja para lazer ou trabalho. Basta convidar seus convidados para o ambiente virtual, e você pode compartilhar a tela e **interagir com eles em tempo real**.
## Sobre
Este aplicativo usa WebRTC para transmitir uma área de trabalho dentro de um contêiner Docker. O autor original criou isso porque o [rabb.it](https://en.wikipedia.org/wiki/Rabb.it) fechou e sua internet não conseguia lidar com streaming, e o Discord continuava travando quando seu amigo tentava. Ele só queria assistir anime com seus amigos ლ(ಠ益ಠლ), então começou a vasculhar a internet e encontrou alguns *meio que* clones, mas nenhum deles tinha o navegador virtual. Então ele encontrou o [Turtus](https://github.com/Khauri/Turtus) e conseguiu descobrir o resto.
Depois encontrei [este](https://github.com/nurdism/neko) projeto e comecei a explorá-lo. Eu realmente gostei da ideia de navegação colaborativa com várias pessoas, então criei um fork. Inicialmente, queria mesclar minhas alterações no repositório original, mas o autor original não tinha mais tempo para este projeto e ele acabou sendo arquivado.
## Casos de uso e comparação
O Neko começou como um navegador virtual transmitido via WebRTC para vários usuários.
- **Não se limita apenas a um navegador**; pode executar qualquer coisa que rode no Linux (ex.: VLC). O navegador é apenas o caso de uso mais popular e amplamente utilizado.
- Na verdade, também não se limita a um único programa; você pode instalar um ambiente de desktop completo (ex.: XFCE, KDE).
- Falando em limites, não precisa rodar em um contêiner; você pode instalar o neko no seu host, conectar-se ao seu servidor X e controlar toda a sua VM.
- Teoricamente, não se limita apenas ao servidor X; qualquer coisa que possa ser controlada e capturada periodicamente para imagens poderia ser usada.
- Como implementar o protocolo RDP ou VNC, onde o neko atuaria apenas como servidor de retransmissão WebRTC. Isso é apenas futuro no momento.
O caso de uso principal é conectar várias pessoas, aproveitando a sincronização em tempo real e interatividade:
- **Watch party** - assistir conteúdo de vídeo juntos com várias pessoas e reagir a ele (chat, emotes) - alternativa de código aberto ao [giggl.app](https://giggl.app/) ou [hyperbeam](https://watch.hyperbeam.com).
- **Apresentação interativa** - não apenas compartilhamento de tela, mas outros podem controlar a tela.
- **Ferramenta colaborativa** - brainstorming de ideias, navegação conjunta, depuração de código juntos.
- **Suporte/Ensino** - guiar pessoas interativamente em um ambiente controlado.
- **Incorporar qualquer coisa** - incorporar o navegador virtual em seu aplicativo web - alternativa de código aberto à [API do Hyperbeam](https://hyperbeam.com/).
- abrir qualquer site ou aplicativo de terceiros, sincronizar áudio e vídeo perfeitamente entre vários participantes.
- solicitar salas usando API com [neko-rooms](https://github.com/m1k1o/neko-rooms).
- [**Neko dentro do VR Chat**](https://github.com/jameskitt616/vrchat_streaming) - assistir navegador remoto com amigos na RV.
Outros casos de uso que se beneficiam de um único usuário:
- **Espaço de trabalho pessoal** - transmitir aplicativos e áreas de trabalho containerizados para usuários finais - semelhante ao [kasm](https://www.kasmweb.com/).
- **Navegador persistente** - navegador próprio com cookies persistentes acessível de qualquer lugar - semelhante ao [mightyapp](https://www.mightyapp.com/).
- nenhum estado é deixado no navegador do host após encerrar a conexão.
- dados sensíveis como cookies não são transferidos - apenas o vídeo é compartilhado.
- **Navegador descartável** - uma solução melhor para planejar festas secretas e comprar presentes de aniversário na internet.
- use o Tor Browser e [VPN](https://github.com/m1k1o/neko-vpn) para anonimato adicional.
- mitiga o risco de identificação do sistema operacional e vulnerabilidades do navegador ao rodar em contêiner.
- **Transmissão de sessão** - transmitir conteúdo da sala usando RTMP (ex.: para twitch ou youtube...).
- **Gravação de sessão** - o RTMP de transmissão pode ser salvo em um arquivo usando, ex.: [nginx-rtmp](https://www.nginx.com/products/nginx/modules/rtmp-media-streaming/).
- tenha um ambiente limpo ao gravar tutoriais.
- não há necessidade de esconder favoritos ou usar modo anônimo.
- **Host de salto** - acessar seus aplicativos internos de forma segura sem a necessidade de VPN.
- **Navegador automatizado** - você pode instalar o [playwright](https://playwright.dev/) ou [puppeteer](https://pptr.dev/) e automatizar tarefas enquanto pode interceptá-las ativamente.
Comparado a um gateway remoto de desktop sem cliente (ex.: [Apache Guacamole](https://guacamole.apache.org/) ou [websockify](https://github.com/novnc/websockify) com [noVNC](https://novnc.com/)), instalado com servidor de desktop remoto junto com o programa desejado (ex.: [linuxserver/firefox](https://docs.linuxserver.io/images/docker-firefox)), o neko fornece adicionalmente:
- **Vídeo suave** porque usa WebRTC e não imagens enviadas via WebSockets.
- **Suporte de áudio embutido**, o que não faz parte do Apache Guacamole ou noVNC.
- **Controle com múltiplos participantes**, o que não é suportado nativamente pelo Apache Guacamole ou noVNC.
### Navegadores suportados
<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>
... veja [todas as imagens disponíveis](https://neko.m1k1o.net/docs/v3/installation/docker-images)
</div>
### Outros aplicativos
<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>
... outros em <a href="https://github.com/m1k1o/neko-apps">m1k1o/neko-apps</a>
</div>
### Por que neko?
Gosto de gatos 🐱 (`Neko` é a palavra japonesa para gato), sou um weeb/nerd.
***Mas por que o bumbum de gato?*** Porque gatos são *babacas*, mas você os ama de qualquer forma.
## Múltiplas salas
Para software de gerenciamento de salas do neko, visite [neko-rooms](https://github.com/m1k1o/neko-rooms).
Também oferece [Instalação com zero conhecimento (com HTTPS)](https://github.com/m1k1o/neko-rooms/?tab=readme-ov-file#zero-knowledge-installation-with-https).
## Documentação
A documentação completa está disponível em [neko.m1k1o.net](https://neko.m1k1o.net/). Seções principais incluem:
- [Migração da V2](https://neko.m1k1o.net/docs/v3/migration-from-v2)
- [Começando](https://neko.m1k1o.net/docs/v3/quick-start)
- [Instalação](https://neko.m1k1o.net/docs/v3/installation)
- [Exemplos](https://neko.m1k1o.net/docs/v3/installation/examples)
- [Configuração](https://neko.m1k1o.net/docs/v3/configuration)
- [Perguntas Frequentes](https://neko.m1k1o.net/docs/v3/faq)
- [Solução de Problemas](https://neko.m1k1o.net/docs/v3/troubleshooting)
## Como Contribuir
Contribuições são bem-vindas! Confira o [Guia de Contribuição](https://neko.m1k1o.net/contributing) para detalhes.
## Apoio
Se você achar o Neko útil, considere apoiar o projeto via [GitHub Sponsors](https://github.com/sponsors/m1k1o).