Screen share P2P para macOS

Divide a tela.
Não os dados

Dois Macs, uma rede, nenhum servidor no meio. O Host captura. O Viewer assiste. A mídia viaja direto — sem nuvem, sem STUN público, sem a sua tela passando por um datacenter em Virginia.

P2P criptografado Sem login, sem conta macOS only (por enquanto)

Não é Go. Não é bar. Não é Discord.

É sim

  • Screen share P2P entre um Host e um ou mais Viewers.
  • Código de 6 caracteres para entrar na Session.
  • Captura nativa do macOS com ScreenCaptureKit + VideoToolbox.
  • Áudio de sistema opcional, com exclude list para apps sensíveis.
  • Quality presets: Low 720p30, Medium 1080p30, High 1080p60.
  • Controle de Admission e Roster para quem entra.

É não

  • Não é escrito em Go. O nome é uma piada que fugiu do controle.
  • Não é tracker de shots, receitas de drink ou app de bar.
  • Não é Discord: não há servidor processando a sua tela.
  • Não é "sobe um TURN e resolve". Fora de âmbito.
  • Não funciona no Windows. Ainda é um comentário sarcástico no futuro.
  • Não é Open Source OSI. Licença PolyForm Noncommercial.

Três passos. Nenhuma nuvem.

O Host inicia uma Session, escolhe o que compartilhar e recebe um Room code. O Viewer usa o código, o Host aceita se Admission estiver ligada, e a mídia liga direto entre os dois.

Host clica em Share

Escolhe tela inteira ou janela, define a qualidade e decide se inclui áudio de sistema. Aí dá Start.

Copia o Room code

Um código de 6 caracteres aparece. Manda no WhatsApp da família. Ou grita pela casa. Funciona dos dois jeitos.

Viewer cola e entra

Com o Room code, o Viewer pede acesso. Se Admission estiver ligada, o Host aceita. A conexão P2P liga sozinha.

Host ScreenCaptureKit · H.264
Signaling (offer/answer)
Viewer WKWebView · WebRTC

A mídia nunca passa pelo Rendezvous. Ele só apresenta os lados. Depois disso, os pacotes viajam direto entre Host e Viewer.

Três jeitos de encontrar o Host.

Dependendo de onde você está, escolhe como o Viewer encontra a Session: LAN, Direct ou Stunar. A terminologia importa — leia com atenção.

LAN

LAN

Viewer usa o Room code e descobre o Host por broadcast na rede local. É o modo clássico: funciona na mesma Wi-Fi, sem internet.

Quando usar: mesma rede, roteador não é um tijolo.
DIR

Direct

Viewer liga direto ao endereço IP:porta que o Host mostra. Sem broadcast, sem Rendezvous. Só o endereço e, se houver, a Password.

Quando usar: você sabe o IP e o firewall deixa passar.
STN

Stunar

Host e Viewer falam com o Rendezvous por HTTPS usando Room code (e Password, se houver). O Rendezvous só apresenta os lados. Não é STUN.

Quando usar: redes diferentes, com um Rendezvous próprio.

Features que não são marketing.

Quality presets

Low / Medium / High

720p30, 1080p30 e 1080p60. Encode H.264 Baseline no VideoToolbox. Você escolhe se quer economizar banda ou mostrar cada pixel.

System audio

Áudio com exclude list

Compartilha o som do sistema, mas tira Discord, Spotify ou aquele Zoom do seu pai do mix. Se o Core Audio acordar do lado certo da cama.

Admission

Roster e controle de entrada

Com Admission ligada, o Host aceita cada Viewer antes da sinalização. O Roster mostra quem pediu e quem já está dentro.

Ignore list

Resfriamento automático

IPs que falham repetidamente vão para a Ignore list por um tempo. Não é banimento, é uma pausa para pensar na vida.

Heartbeat

Sala viva enquanto durar

No Stunar, o Host manda um Heartbeat para o Rendezvous. Sem sinal por 5 minutos, a sala some. Como deve ser.

Token

Password substituída na conversa

Depois que o Viewer é aceito, o Rendezvous entrega um Token opaco. A Password fica para trás. A conversa continua segura.

Por que sem servidor?

Porque "gratuito" na internet geralmente significa "a gente vende seus metadados". O goDrinking não coleta, não processa e não enxerga a sua tela. A mídia sai do seu Mac e entra no de quem você escolheu.

Privacidade real

A tela não passa por Virginia, por Frankfurt ou por lugar nenhum. Ela passa pelo ar da sua casa.

Sem conta

Não precisa de e-mail, telefone, nickname único ou senha eterna. Só um Nickname qualquer para o Roster.

Código aberto, uso honesto

Código visível sob PolyForm Noncommercial. Pessoal, hobby e organizações não-comerciais: ok. Empresa querendo lucrar: fala com a gente.

Rage against the machineA luta continuaSous les pavés, la plage

Instala no seu Mac. Não no servidor de ninguém.

Baixar para macOS
macOS 14.2+ Permissão de Screen Recording Licença PolyForm Noncommercial

Código no GitHub · build local com npm install && npm run macos:app

Perguntas que a gente já ouviu.

Preciso de internet para usar?
No modo LAN, não. Basta que Host e Viewer estejam na mesma rede local. No modo Stunar, os dois precisam alcançar o Rendezvous por HTTPS — mas a mídia ainda viaja direto entre eles.
Funciona no Windows? E no Linux?
Não. A captura usa ScreenCaptureKit e VideoToolbox, que são específicos do macOS. Windows é, no momento, um comentário sarcástico no futuro.
Por que o nome é goDrinking?
Em português a gente fala "vai tomando". Alguém traduziu para o inglês, ficou goDrinking, e agora o GitHub acha que somos um clube da cachaça escrito em Go. Somos nenhuma das duas coisas.
O Rendezvous vê a minha tela?
Não. O Rendezvous só guarda salas vivas e troca recados de sinalização. Ele não vê, não guarda e não reencaminha mídia. A mídia é WebRTC P2P entre Host e Viewer.
Posso usar no trabalho?
Depende. A licença PolyForm Noncommercial permite uso pessoal, hobby e organizações não-comerciais. Uso comercial exige autorização explícita. Não é Open Source OSI.
Quantos Viewers cabem numa Session?
Dois ou mais, se a LAN aguentar o drama. No limite, é WebRTC mesh host-only: o Host manda para quem está no Roster.