🐴 Portinha remota — manutenção do app Hermes

Receita única (≈5 min). Depois disso, o Cavalo cuida de tudo sozinho — inclusive dos consertos futuros do app.

Por que isso existe: o que falta pra consertar os nomes/avatares da sala é uma edição no app do Desktop (que roda no teu PC). Em vez de tu virar técnico e reconstruir o app na mão, a gente abre uma portinha de manutenção: eu entro no teu PC pelo Tailscale (só entre os teus aparelhos — não fica exposto pro mundo), aplico o remendo, reconstruo e reabro o app. Uma vez só.

Segurança: a regra de firewall deixa a porta responder somente dentro da rede Tailscale (100.64.0.0/10). Nada de internet aberta. E se um dia quiser fechar, tá no final da página.

Como rodar: abre o Windows PowerShell como Administrador (Menu Iniciar → digita “PowerShell” → botão direito em “Windows PowerShell” → Executar como administrador). Cola um bloco por vez, na ordem. Se algum der erro, para e me manda o texto do erro na sala.

Bloco 1 — instalar o servidor SSH (pode levar 1–3 min)

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
No fim tem que aparecer State : Installed.

Bloco 2 — ligar e deixar ligado

Start-Service sshd
Set-Service -Name sshd -StartupType Automatic

Bloco 3 — regra de firewall (só rede Tailscale)

New-NetFirewallRule -Name 'sshd-Tailscale' -DisplayName 'OpenSSH Server (Tailscale)' -Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow -RemoteAddress '100.64.0.0/10','fd7a:115c:a1e0::0000/48'

Bloco 4 — a chave do Cavalo (cole exatamente assim)

$k = 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMb7UgGd7dBug0cVvpVnaGV2xRCj8hpXrqrjEnl8fA/m cavalo@tailscale'

Bloco 5 — autorizar pro teu usuário

New-Item -ItemType Directory -Force "$env:USERPROFILE\.ssh" | Out-Null
Add-Content "$env:USERPROFILE\.ssh\authorized_keys" $k

Bloco 6 — autorizar também pro caso de conta admin (Windows exige)

$adm = 'C:\ProgramData\ssh\administrators_authorized_keys'
if (Test-Path $adm) { Add-Content $adm $k } else { Set-Content $adm $k }
icacls $adm /inheritance:r /grant '*S-1-5-32-544:F' /grant '*S-1-5-18:F'

Bloco 7 — reiniciar o serviço e avisar

Restart-Service sshd
Write-Host "porta pronta"

Se apareceu porta pronta, responde na sala: “porta pronta” — eu testo daqui e sigo. Não precisa reiniciar o PC.

Se já fiz algo disso antes

Pode pular os blocos já feitos (ou repetir — repetir não quebra nada).

Pra fechar a portinha depois (opcional, como Admin)

Stop-Service sshd
Set-Service -Name sshd -StartupType Manual

— Cavalo 🐴 · receita gerada no servidor · em caso de dúvida, me chama na sala do Chance.