Files
alexandrev-tibco 43ab3a6c04 Publicar la web en kotej.alexandre-vazquez.cloud
Arquitectura de siempre: estatico en el LXC 142 (nginx, puerto 8083) con NPM
delante para el TLS del wildcard, y CNAME kotej -> dyn en Namecheap. No hay
backend porque no hace falta: los ficheros no salen del navegador.

El CNAME se anadio releyendo la zona entera y reenviandola con el registro
nuevo — setHosts reemplaza toda la zona, y perder el MX o el DKIM por no
reenviarlos romperia el correo. Verificado que los 39 registros siguen ahi.

deploy.sh deja el despliegue repetible; borra el destino antes de extraer para
que los assets viejos no se acumulen.

Closes #8

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hEAYuHRKMYz9sSa9zmbzz
2026-07-31 20:59:08 +02:00

1.4 KiB

Kotej web

La misma comparación que la app de macOS, pero en el navegador — y sin subir nada. Los ficheros se leen en el propio dispositivo con las APIs del navegador; no hay backend al que mandarlos.

https://kotej.alexandre-vazquez.cloud

Qué hace igual que el escritorio

  • Carpetas, ficheros y archivos (ZIP, JAR, EAR, y ZIPs con cualquier extensión), navegables como carpetas, incluso anidados
  • Comparación binaria, de texto (con tolerancias) y semántica: JSON por estructura y XML canónico, con los hermanos repetidos tratados como conjunto
  • Diff lado a lado con los caracteres exactos que cambian, y distinguiendo espacios / comentarios / contenido
  • Pestañas, filtros, búsqueda, navegación entre diferencias y texto pegado
  • Inglés y español, según el idioma del navegador

De un EAR sólo se lee la cola del fichero para listarlo, y las entradas se descomprimen bajo demanda; comparar dos idénticas no llega a leerlas, porque el CRC32 del directorio central ya lo resuelve.

Desarrollo

npm install
npm run dev      # servidor de desarrollo
npm test         # tests del motor (los mismos casos que el motor Swift)
npm run build    # bundle de producción

La prueba de navegador corre contra un build servido:

npm run build && npx vite preview --port 4173 &
npm run smoke

Despliegue

./deploy.sh — build, empaquetado y copia al LXC 142; NPM pone el TLS delante.