43ab3a6c04
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
1.4 KiB
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.