Commit graph

8 commits

Author SHA1 Message Date
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