Commit graph

10 commits

Author SHA1 Message Date
dfc75be016 Actualizar CLAUDE.md - proyecto completado v1.2
- Estado actualizado a COMPLETO v1.2
- Estructura real del proyecto (8 archivos src/)
- Comandos con path completo a Zig 0.15.2
- Ecosistema Zig documentado (zcatui, zsqlite, zpdf)
- Notas tecnicas: migracion Zig 0.15, SMTP STARTTLS
- Historial de desarrollo con commits clave
- Mejoras futuras pendientes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 17:48:43 +01:00
dbcf8c696b Documentación final proyecto completado
- docs/PROYECTO_COMPLETO.md: v1.2, SMTP STARTTLS documentado
- docs/DIARIO_DESARROLLO.md: Sesión 3 con migración Zig 0.15 y SMTP

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 01:24:15 +01:00
4a9d0e62e0 SMTP con STARTTLS via curl
- Reimplementación de smtp.zig usando curl subprocess
- Curl maneja TLS/STARTTLS transparentemente
- Configuración SMTP añadida a services.conf (Mailbox.org)
- Más simple y fiable que implementación nativa TLS

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 01:18:43 +01:00
f31ce95afe Migración a Zig 0.15.2
Cambios principales:
- build.zig: root_source_file → root_module con b.createModule()
- stdout: std.io.getStdOut() → std.fs.File.stdout().deprecatedWriter()
- ArrayList: std.ArrayList → std.array_list.Managed
- file.reader(): deprecatedReader() para compatibilidad
- HTTP Client: client.open/send/wait → client.fetch()
- sleep: std.time.sleep → std.Thread.sleep

Código funciona correctamente con Zig 0.15.2.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 01:03:43 +01:00
a011d9e552 SMTP y Telegram: notificaciones por email y móvil
- Nuevo módulo smtp.zig: protocolo SMTP con AUTH LOGIN
- Nuevo módulo telegram.zig: Bot API via curl
- Integración en main.zig: envío automático cuando hay errores
- services.conf: configuración real con Telegram activo
- Email soporta múltiples destinatarios
- Telegram probado y funcionando

Nota: SMTP requiere servidor sin TLS (STARTTLS pendiente)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 00:48:56 +01:00
655dcb81e9 Daemon mode + configuración externa
- Nuevo módulo daemon.zig: fork() + setsid() + /dev/null
- Opción --daemon/-d para ejecutar en background
- Archivo PID en service-monitor.pid
- Config externo desde archivo (--config/-c)
- Formato CSV simple: http,nombre,url / tcp,nombre,host,puerto
- Soporte para email y telegram en config (preparado)
- services.conf.example con documentación
- Ayuda actualizada con todas las opciones

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 23:45:07 +01:00
5a17d74680 Fase 3: Notificaciones desktop (notify-send)
- Nuevo módulo notify.zig con funciones send(), sendError(), sendRecovery()
- Opción --notify/-n para activar notificaciones
- Solo notifica cuando hay errores (evita spam)
- Notificación crítica con lista de servicios caídos
- Usa notify-send (libnotify) disponible en Linux

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 21:15:17 +01:00
dfcfd31ec3 Añadir log a archivo
- Opción --log/-l para guardar a archivo (default: service-monitor.log)
- Ruta custom opcional: --log archivo.log
- Timestamp completo ISO: [YYYY-MM-DD HH:MM:SS]
- Log sin colores ANSI (limpio para archivo)
- Modo append (no sobreescribe logs anteriores)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 21:01:13 +01:00
3946f83920 Fase 2: Modo watch + argumentos CLI + timestamps
- Argumentos: --watch/-w, --interval/-i, --help/-h
- Modo watch: loop infinito con intervalo configurable (default 60s)
- Timestamps UTC en cada check [HH:MM:SS]
- Binario ahora se genera en raíz del proyecto (no zig-out/)
- Mensaje de ayuda con ejemplos de uso

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 20:55:40 +01:00
e2e19da32f Fase 1: Monitor básico HTTP/TCP funcionando
- Verificación HTTP/HTTPS con std.http.Client
- Verificación TCP con resolución DNS (tcpConnectToHost)
- 5 servicios configurados: Forgejo (HTTP+SSH), Simifactu, Mundisofa, Menzuri
- Output terminal con colores y tiempos de respuesta
- Doc comments en todas las funciones públicas (estándar open source)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 20:43:34 +01:00