Commit graph

13 commits

Author SHA1 Message Date
81521c5e17 CLAUDE.md: jj + NORMAS_ESENCIALES 2025-12-25 19:24:25 +01:00
R.Eugenio
1124b7c740 Añadir /init optimizado (lee NORMAS_ESENCIALES + teamdocs)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:28:54 +01:00
36d6d3a699 docs: Añadir disclaimer seguridad TLS
Documentado que la implementación TLS 1.3 es específica para el
protocolo BEP, no es un stack TLS de propósito general, y no ha
sido auditada profesionalmente.

Las primitivas criptográficas (X25519, ChaCha20-Poly1305) sí
provienen de std.crypto de Zig.

Recomendación auditoría Gemini 2025-12-19.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 13:55:49 +01:00
4ee8f43287 docs: actualizar estado CLAUDE.md con funcionalidades completadas
- Identity persistence
- Conexión via relay
- TLS handshake completo

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 12:29:32 +01:00
69ca8fb403 feat: completar implementación P2P - identity persistence, TLS handshake, relay
- identity.zig: añadido Identity struct con persistencia a archivo
  - generate(), fromPrivateKey(), save(), load(), loadOrGenerate()
  - Device ID derivado de SHA256(public_key)
  - Tests de identidad completos

- connection.zig: actualizado P2P.init para usar Identity.loadOrGenerate()
  - Implementado connectViaRelay() para NAT symmetric
  - Parseo de URL relay://host:port/device_id

- tls.zig: completado TLS 1.3 handshake
  - processEncryptedExtensions(), processCertificate()
  - processCertificateVerify(), processServerFinished()
  - generateClientFinished(), deriveApplicationKeys()
  - processRecord() dispatch method
  - Modelo TOFU para certificados (como Syncthing/SSH)

- relay.zig: implementado completeTlsHandshake()
  - Procesa respuesta TLS del servidor relay
  - Recibe y procesa múltiples TLS records
  - Envía Client Finished cifrado

Tests: 44 (todos pasando)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 11:43:02 +01:00
414de51120 feat: integración completa de red P2P
- connection.zig: Reescrito con integración completa
  - NAT traversal (STUN + NAT-PMP/UPnP)
  - Discovery (local UDP + global HTTPS)
  - TCP listener para conexiones entrantes
  - Flujo completo de conexión: resolving -> connecting -> handshaking -> connected
  - Envío/recepción de mensajes con protocol framing
  - Gestión de direcciones (local, pública, relay)
  - Port mapping automático

- discovery.zig: Añadidos métodos de DiscoveryManager
  - startLocalDiscovery, stopLocalDiscovery
  - addGlobalServer, announceGlobal
  - addKnownPeer

- crypto.zig: Fix u128 cast para shifts > 64 bits
- http.zig: Fix ArrayListUnmanaged API para Zig 0.15.2

Tests: 44 (todos pasando)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 11:04:11 +01:00
256cb53073 docs: actualizar contador de tests a 41 2025-12-15 10:53:23 +01:00
f5663644ea feat: implementar UPnP IGD y NAT-PMP port mapping
Nuevo módulo nat.zig con:
- NatPmpClient: cliente NAT-PMP (RFC 6886) con detección de gateway,
  obtención de IP externa y mapeo de puertos UDP/TCP
- UpnpClient: cliente UPnP IGD con SSDP discovery, SOAP control,
  AddPortMapping y DeletePortMapping
- NatManager: interfaz unificada que intenta ambos protocolos

Tests incluidos para inicialización y tipos básicos.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 10:52:52 +01:00
1dba570368 docs: Actualizar CLAUDE.md con Global Discovery HTTPS 2025-12-15 08:39:40 +01:00
40a1688f3b Implementar Global Discovery HTTPS
- Añadir src/http.zig: cliente HTTP/1.1 con soporte TLS
  - Parseo de URLs
  - GET/POST requests
  - Parseo de respuestas HTTP
  - Integración con módulo TLS

- Actualizar src/discovery.zig: GlobalDiscovery completo
  - lookup() consulta servidores HTTPS
  - announce() publica direcciones
  - Cache con TTL de 5 minutos
  - Rate limiting de anuncios (30s)
  - Parser JSON para respuestas
  - Servidores por defecto (Syncthing)

- Tests: 36 tests pasan

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 08:39:19 +01:00
873934e442 docs: Actualizar estado del proyecto en CLAUDE.md 2025-12-15 01:17:40 +01:00
b4e4e946eb Añadir módulos TLS, STUN y Relay
- src/tls.zig: TLS 1.3 con X25519 (std.crypto), HKDF, handshake
- src/stun.zig: Cliente STUN para NAT traversal
- src/relay.zig: Cliente relay para NAT simétricos
- Actualizar main.zig con exports de nuevos módulos
- Todos los tests pasan

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 01:17:16 +01:00
7e5b16ee15 Inicial: biblioteca zcatp2p para comunicación P2P segura
- Especificación completa del protocolo (PROTOCOL.md)
- Referencia de API (API.md)
- Implementación crypto: SHA256, ChaCha20-Poly1305
- Device ID con Base32 y verificación Luhn32
- Framing de mensajes (HELLO, PING, DATA, etc.)
- Discovery local UDP broadcast
- Estructura de conexiones y estados
- Build system para Zig 0.15.2

Pendiente: TLS 1.3, STUN, Global Discovery HTTPS, Relay

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 01:06:30 +01:00