- 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>
50 lines
1.8 KiB
Zig
50 lines
1.8 KiB
Zig
//! zcatp2p - Protocolo P2P para comunicación directa entre empresas
|
|
//!
|
|
//! Librería Zig para comunicación P2P segura entre instancias de Simifactu.
|
|
//! Permite intercambio directo de documentos (facturas, certificados) entre empresas
|
|
//! sin necesidad de email ni servicios cloud.
|
|
|
|
const std = @import("std");
|
|
|
|
// Módulos públicos
|
|
pub const identity = @import("identity.zig");
|
|
pub const crypto = @import("crypto.zig");
|
|
pub const protocol = @import("protocol.zig");
|
|
pub const discovery = @import("discovery.zig");
|
|
pub const connection = @import("connection.zig");
|
|
pub const tls = @import("tls.zig");
|
|
pub const stun = @import("stun.zig");
|
|
pub const relay = @import("relay.zig");
|
|
|
|
// Re-exports principales
|
|
pub const DeviceId = identity.DeviceId;
|
|
pub const ShortId = identity.ShortId;
|
|
pub const Config = connection.Config;
|
|
pub const P2P = connection.P2P;
|
|
pub const Connection = connection.Connection;
|
|
pub const Message = protocol.Message;
|
|
pub const ConnectionState = connection.ConnectionState;
|
|
pub const NatType = connection.NatType;
|
|
pub const Error = connection.Error;
|
|
|
|
// Content types para Simifactu
|
|
pub const ContentTypes = struct {
|
|
pub const invoice = "application/x-simifactu-invoice";
|
|
pub const invoice_ack = "application/x-simifactu-invoice-ack";
|
|
pub const certificate = "application/x-simifactu-certificate";
|
|
pub const verifactu = "application/x-simifactu-verifactu";
|
|
pub const query = "application/x-simifactu-query";
|
|
pub const response = "application/x-simifactu-response";
|
|
};
|
|
|
|
// Utilidades
|
|
pub const utils = struct {
|
|
pub const deviceIdToString = identity.deviceIdToString;
|
|
pub const stringToDeviceId = identity.stringToDeviceId;
|
|
pub const verifyDeviceIdString = identity.verifyDeviceIdString;
|
|
pub const luhn32 = identity.luhn32;
|
|
};
|
|
|
|
test {
|
|
std.testing.refAllDecls(@This());
|
|
}
|