GoLive: compartilhe sua tela de graça, sem cadastro ou conta
O GoLive permite compartilhar tela, câmera ou voz com um grupo direto do navegador, sem cadastro. É brasileiro, de código aberto e pode ser auto-hospedado no seu próprio servidor.
Pensa nessa situação: você quer mostrar algo para um grupo de pessoas. Pode ser uma partida de jogo, uma apresentação, um bug que está depurando, um filme. Você abre o Discord para compartilhar a tela, mas metade do grupo não está no servidor certo. Então alguém sugere o Zoom, mas tem limite de tempo no plano gratuito. Outra pessoa menciona o Google Meet, mas isso exige conta Google de todo mundo. Você termina criando uma conta em mais um serviço que vai mandar e-mail de marketing para sempre.
O GoLive foi feito para resolver exatamente esse problema. É um projeto brasileiro de código aberto que permite transmitir tela, câmera ou voz para várias pessoas ao mesmo tempo, direto do navegador, sem criar conta, sem instalar nada e sem pagar nada.
A instância pública está disponível em golive.nemtudo.me, e o código-fonte completo está no GitHub da organização NemTudo, o que significa que você pode hospedar sua própria instância no seu servidor se quiser.
O que o GoLive faz
A proposta é a mais simples possível: você acessa o site, cria ou entra em uma sala, escolhe o que quer transmitir (tela, câmera ou microfone) e compartilha o link com quem quiser assistir. Pronto.
Não tem cadastro obrigatório. Não tem instalação de aplicativo. Não tem reunião agendada ou link de convite que expira em 24 horas. É a mesma lógica de abrir uma sala no Hamachi para jogar em rede com os amigos nos anos 2000, mas para compartilhamento de tela e sem precisar de instalação.
As salas podem ser públicas (visíveis na listagem do site) ou privadas, onde você compartilha o link diretamente com quem vai participar. Também existe um mapa global de salas abertas, que é uma das funcionalidades mais curiosas do projeto.
Além do navegador, existe um app para PC para quem prefere ter o GoLive fora do contexto de uma aba do browser.
Por que isso é diferente do Discord ou do Meet
O Discord resolve o problema para grupos que já têm um servidor em comum. Se você quer mostrar algo para um amigo que não está no seu servidor, precisa criar um servidor temporário, convidá-lo, esperar ele aceitar e navegar até o canal de voz. São cinco etapas para fazer o que deveria ser uma.
O Google Meet e o Zoom funcionam com link direto, mas exigem conta para o anfitrião e têm limitações no plano gratuito. O Zoom corta a chamada após 40 minutos para grupos acima de dois participantes na versão gratuita. O Meet funciona melhor, mas você está mandando o vídeo da sua tela para os servidores do Google antes de ela chegar para quem está assistindo.
O GoLive usa WebRTC, que é a tecnologia por trás das videochamadas no browser. A conexão de vídeo acontece diretamente entre os participantes, o servidor entra em cena apenas para coordenar a conexão inicial. Para grupos maiores, o servidor serve como relay quando a conexão direta não é possível, mas a ideia é que o dado circule o mínimo possível por infraestrutura de terceiros.
O ângulo de self-host: por que hospedar a sua própria instância
A instância pública funciona e está disponível para qualquer pessoa sem custo. Mas o código-fonte aberto abre uma possibilidade que vai além do uso casual.
Se você já mantém um servidor em casa, seja para Homelab, para jogos, para armazenar arquivos ou para qualquer outra coisa, subir uma instância privada do GoLive significa ter um sistema de compartilhamento de tela que:
Fica dentro da sua rede. Para grupos que usam redes privadas como o Tailscale para jogar em LAN remota (algo que explicamos em detalhes no post sobre o que é o Tailscale e como usar), ter o GoLive rodando dentro da mesma rede virtual significa que o vídeo não sai para a internet pública em nenhum momento. A latência cai, a privacidade sobe.
Não tem limitação de terceiros. Você controla o servidor, então não existe um limite de participantes por sala imposto por uma empresa que precisa monetizar o serviço de alguma forma.
Não depende da disponibilidade da instância pública. Se o servidor público tiver instabilidade, a sua instância continua funcionando normalmente.
O projeto é composto por dois repositórios: o front-end (interface que o usuário vê) em Nem-Tudo/group-sharescreen e a API do servidor em Nem-Tudo/group-sharescreen-api. O back-end é escrito em Node.js com TypeScript, usa WebSockets para sinalização em tempo real e MongoDB para persistência.
Como a tecnologia funciona por baixo
Para quem tem curiosidade sobre a parte técnica, o GoLive usa WebRTC para o transporte de vídeo e áudio entre os participantes. WebRTC é um conjunto de protocolos abertos que os navegadores modernos implementam nativamente para comunicação em tempo real entre peers, sem precisar de um servidor de mídia centralizador.
O servidor do GoLive atua como um servidor de sinalização: ele ajuda os clientes a se encontrarem e a negociarem os parâmetros da conexão, mas o fluxo de vídeo em si passa diretamente entre quem está transmitindo e quem está assistindo, quando a topologia de rede permite.
A API foi construída para escalar horizontalmente usando a capacidade de cluster do Node.js, onde múltiplos processos workers rodando em paralelo atendem as conexões enquanto compartilham o estado da aplicação entre si. Isso significa que ela aproveita todos os núcleos disponíveis no servidor, o que é relevante para quem for subir em hardware com múltiplos cores.
O projeto também usa Cloudflare Turnstile como camada de captcha para proteger as rotas de criação de sala e registro, substituindo o reCAPTCHA do Google por uma alternativa que não depende de scripts do Google e que funciona melhor para quem usa VPN ou modos de privacidade no navegador.
Casos de uso práticos
Jogar com amigos e mostrar a partida. Se você e um grupo de amigos jogam online regularmente, ter uma sala de compartilhamento de tela aberta durante a sessão é uma alternativa ao Stream do Discord sem precisar de conta em servidor.
Revisão de código em grupo. Para times que querem fazer pair programming ou revisão de código sem o overhead de configurar uma ferramenta corporativa, uma sala no GoLive com compartilhamento de tela resolve em segundos.
Apresentações informais. Mostrar um projeto, um design ou qualquer conteúdo visual para um grupo pequeno sem o processo de agendar uma reunião formal.
Suporte técnico remoto. Para quem ajuda familiares ou amigos com problemas de computador, pedir que a pessoa acesse golive.nemtudo.me e compartilhe a tela é muito mais direto do que explicar como instalar um software de acesso remoto.
Como acessar e começar
Para usar a instância pública, acesse golive.nemtudo.me em qualquer navegador moderno. O site detecta automaticamente o que o seu dispositivo suporta e oferece as opções de transmissão disponíveis.
Crie uma sala, defina se ela vai ser pública ou privada, escolha se quer transmitir tela, câmera ou microfone, e compartilhe o link com quem vai participar. A outra pessoa acessa o link no navegador e já está na sala.
Para quem quer explorar o código ou considerar uma instância própria, os repositórios estão em:
O projeto é mantido pela organização NemTudo, que também tem um bot para Discord com integração com o GoLive e uma comunidade ativa no Discord em discord.gg/nemtudo.
O que o self-host resolve que a instância pública não resolve
Se você está acostumado com o mundo do self-host, já sabe a resposta. Se está chegando agora nesse universo, a lógica é simples: quando você usa um serviço gratuito, a disponibilidade, os limites e as decisões sobre o futuro do serviço estão nas mãos de quem opera o servidor.
Projetos de código aberto como o GoLive resolvem isso de uma forma elegante: a instância pública existe para quem quer conveniência, e o código aberto existe para quem quer controle. Você pode usar os dois da forma que fizer mais sentido para o seu caso.
Se você ainda está começando a explorar self-host e quer entender os conceitos básicos antes de mergulhar na parte técnica, o post sobre o que é self-host e por que você deveria se importar explica tudo do zero, sem jargão.
Fontes
- GoLive, site oficial
- Repositório front-end: Nem-Tudo/group-sharescreen
- Repositório API: Nem-Tudo/group-sharescreen-api
Quer mais ferramentas de código aberto para o seu servidor?
Assine a newsletter do Flateek e receba guias práticos de self-host, homelab e ferramentas open source diretamente no seu e-mail.