Skip to content

Plan 2: compartir por internet, empaquetado y sitio de descarga - #1

Merged
KonixDev merged 12 commits into
mainfrom
plan-02
Sep 22, 2026
Merged

KonixDev merged 12 commits into
mainfrom
plan-02

Conversation

@KonixDev

Copy link
Copy Markdown
Owner

Qué trae

  • Compartir por internet (quick tunnel de Cloudflare): botón en el emisor, clave de 4 números que ya va dentro del QR, modo estricto (con el túnel prendido, todos necesitan la clave, también en la LAN), cookie HMAC con clave que rota, 5 intentos → 60 s de bloqueo.
  • cloudflared 2026.9.1 con SHA-256 fijado por asset (verificados contra la API de GitHub), HOME aislado, apagado ordenado; en Windows sin ventana de consola.
  • pasame.local por mDNS, solo con -tags mdns.
  • Pasame.app como droplet: soltar archivos sobre el ícono los comparte. Íconos para las tres plataformas, metadatos del .exe y .desktop.
  • Releases con GoReleaser (.exe, .tar.gz, .deb, checksums firmados con cosign) + .dmg firmado y notarizado cuando estén los secrets MACOS_*. Reemplaza scripts/release.sh.
  • Sitio de descarga en español e inglés (GitHub Pages, sin dominio por ahora): el botón elige el archivo según el sistema.
  • READMEs, test/manual/tunel.md y test/manual/matriz.md.

Desvíos del plan, encontrados al probar

  • La verificación del túnel resuelve con DNS públicos: con el DNS de la red, la primera consulta (la dirección todavía no existe) quedaba en caché y la verificación fallaba los 30 s.
  • En modo estricto la dirección que se muestra lleva /s/<token>: "/" no deja entrar, así que tipear solo el nombre no servía.
  • Terminar de compartir también apaga el túnel; apagar mientras conecta cancela sin dejar cloudflared andando.
  • Pasame.app se re-firma ad hoc (la firma de osacompile quedaba rota al cambiar el plist).

Probado

  • go test -race ./... con y sin -tags mdns, goreleaser check y snapshot, .dmg montado y verificado.
  • Túnel real contra Cloudflare: URL en 11–15 s; clave por QR y tipeada; bloqueo; descarga íntegra; volver a solo WiFi; corte de cloudflared; cerrar Pasame sin procesos huérfanos.
  • Falta (necesita dispositivos reales): celular en datos móviles, Windows ARM, Raspberry Pi, capturas de SmartScreen/Gatekeeper. Ver test/manual/tunel.md.

🤖 Generated with Claude Code

KonixDev and others added 12 commits September 22, 2026 00:09
… intentos

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…apagado ordenado

La verificación resuelve con DNS públicos: con el DNS de la red, la primera
consulta (la dirección todavía no existe) quedaba en caché y la verificación
fallaba los 30 s, algo que también habría sufrido un celular en esa red.
En Windows, cloudflared y taskkill corren sin abrir ventana de consola.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…tricto

- Terminar de compartir también corta internet; apagar mientras conecta
  cancela sin dejar cloudflared andando.
- En modo estricto la dirección visible lleva la ruta de la sesión: "/"
  no deja entrar, así que tipear solo el nombre no servía.
- La dirección larga se achica hasta entrar y solo se parte antes de /s/.
- Textos del túnel en español e inglés.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Soltar archivos sobre el ícono los comparte (o se los pasa a la instancia
abierta). La app se re-firma ad hoc: osacompile la firma y al cambiar el
plist esa firma queda rota, que en Apple Silicon es "la app está dañada".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… certificado

Reemplaza scripts/release.sh. Sin los secrets MACOS_* la release sale como
pre-release con el .dmg firmado ad hoc. El CI arma un snapshot en cada push
y valida el .desktop.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…n español e inglés

Sale en konixdev.github.io/pasame (links relativos); para pasame.com.ar
alcanza con agregar site/CNAME. Las capturas de SmartScreen y Gatekeeper
quedan pendientes: se sacan en máquinas reales con la próxima release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… de instalación

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
taskkill sin /F manda WM_CLOSE y un programa de consola sin ventana no lo
recibe: cada apagado del túnel (y cerrar Pasame) esperaba el plazo entero.
El test de descarga ya no pide bit de ejecución en Windows.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@KonixDev
KonixDev merged commit afd7c87 into main Sep 22, 2026
11 checks passed
@KonixDev
KonixDev deleted the plan-02 branch September 22, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant