Unuko ToolKit
El lab eSIM 5G que siempre quise tener.
Trabajé durante años en telecomunicaciones con JavaScript y sé lo difícil que es probar en entornos reales y lidiar con configuraciones complejas. Creé Unuko para que cualquier desarrollador JS/TS pueda levantar un entorno completo de eSIM 5G en segundos.
¿Por qué construirlo en TypeScript/JavaScript?
En telecomunicaciones es común enfrentarse a código cerrado en C++ y entornos imposibles de depurar. Elegí el ecosistema JS/TS moderno para crear un entorno de pruebas accesible, predecible y abierto.
Diseñado para evitar configuraciones manuales tediosas. Con comandos sencillos como 'unuko core5g start' levanto todo el laboratorio al instante.
Creé este ToolKit de forma modular. Puedes modificar los flujos lógicos, añadir estados personalizados o integrar tus propios componentes sin restricciones de código propietario.
Decidí dejar atrás el código legacy en C/C++. Orquesté todo con TypeScript y Fastify para mayor velocidad, validaciones con Zod y máquinas de estado con XState.
Implementé compatibilidad nativa con perfiles de eSIM de Consumo (SGP.22) y el nuevo estándar IoT (SGP.32) para probar aprovisionamientos reales sin hardware físico.
Integré un auditor con Gemini para traducir a lenguaje natural los crípticos códigos APDU hexadecimales de la tarjeta eUICC y las tramas del SM-DP+.
Configuré SoftHSM y PKCS#11 para emular el almacenamiento seguro del chip real, permitiendo generar y firmar claves elípticas secp256r1 en tu propia máquina.
Depuración visual y control total
Se acabó depurar a ciegas con registros y trazas indescifrables. Unuko ToolKit incluye un panel web interactivo para monitorear cada capa de la simulación 5G.

Explorador de Sesiones
Monitorea la actividad del core 5G y de la base de datos de suscriptores en tiempo real. Observa el estado de tus nodos de simulación y el feed de telemetría de un vistazo.
Por qué decidí construir
este entorno en primera persona.
¡Hola! Soy el creador de Unuko. He pasado gran parte de mi carrera profesional inmerso en el complejo mundo de las telecomunicaciones, mientras que mi ecosistema de programación principal siempre ha sido JavaScript y TypeScript.
Durante años, me enfrenté constantemente al mismo obstáculo: lo increíblemente difícil, costoso y frustrante que es probar desarrollos de red en entornos reales. En las telecos tradicionales, el software es propietario, los estándares se implementan a puerta cerrada y desplegar un laboratorio mínimo de eSIM requiere configurar decenas de máquinas virtuales complejas, interfaces de red virtual oscuras y depender de hardware privativo.
Me cansé de lidiar con scripts legacy indescifrables, fallos de segmentación silenciosos y configuraciones propietarias que solo funcionan en entornos corporativos cerrados.
Mi misión con Unuko es democratizar las telecomunicaciones. Quiero que cualquier desarrollador, especialmente si viene del ecosistema JS/TS, pueda levantar un núcleo 5G virtualizado y simular aprovisionamiento remoto de eSIM en segundos en su propia máquina.
El Diagnóstico del Problema
Resumen de mi experiencia
El Problema de Configuración
Montar Open5GS y Osmocom requiere entender protocolos crípticos y escribir cientos de líneas de configuraciones YAML y JSON propensas a errores.
El Hardware Inalcanzable
Probar eSIMs físicas y chips eUICC solía requerir lectores de tarjetas inteligentes, redes de antenas físicas y hardware comercial restrictivo.
Mi Solución: Unuko ToolKit
Orquestación de infraestructura mediante máquinas virtuales (Lima/VM) controladas en TS. Simulamos las tarjetas SIM por software (SoftHSM) conectándolas a antenas y cores 5G emulados.
Soportado por estándares y software libre
Unuko ToolKit orquesta las herramientas libres de telecomunicaciones más potentes del sector y expone sus capacidades mediante un CLI y panel web unificados.
Open5GS
5G Core Network
Integración nativa con Open5GS. Despliega Network Functions (AMF, SMF, UPF) configuradas dinámicamente y expón sus interfaces en tu entorno de desarrollo local sin fricciones.
- Aprovisionamiento dinámico vía API/MongoDB
- Configuración automática de PLMN y Slices
UERANSIM
RAN & UE Simulator
Simula antenas gNodeB y terminales móviles 5G. Unuko emula el socket eUICC del dispositivo móvil para recibir e instalar perfiles eSIM mediante comandos APDU.
- Mapeo de UEs a interfaces TUN locales
- Comandos APDU enrutados por TCP/IP
osmo-smdpp & Mock Server
Subscription Manager
Servidor de pruebas SM-DP+ de Osmocom integrado. Genera perfiles de eSIM encriptados y responde a las llamadas REST ES9+/ESips conformes a la GSMA.
- Fases ES9+ de Autenticación y Descarga
- Generación y firmas de BoundProfilePackage
SoftHSM & PKCS#11
Criptografía de Tarjeta
Gestión de claves y firmas usando tokens criptográficos por software. Emula el almacenamiento seguro y los algoritmos elípticos de un chip físico eUICC.
- Par de claves ECDSA secp256r1
- Firmas criptográficas conformes al estándar
Diseñado para resolver
mis necesidades diarias
Diseñé Unuko ToolKit pensando en resolver los cuellos de botella que más tiempo me hacían perder al programar flujos de red y eSIM en el ecosistema 5G.
Integración Continua (CI)
Diseñé el CLI para que pudiera ejecutarse de forma desatendida en GitHub Actions. Esto me permite correr flujos automatizados de eSIM y validaciones de red en cada commit sin intervención manual.
Sandbox de Desarrollo Local
Quería evitar a toda costa ensuciar mi máquina principal. Con 'unuko core5g start' y 'stop' aíslo la base de datos, los simuladores de radio y las interfaces de red de forma efímera y limpia.
I+D Extensible y Protocolos
Creé este ToolKit 100% modular en TypeScript para que, igual que yo añado nuevas lógicas de red o estados de APDU con XState, tú puedas clonar el repo y adaptarlo a tus propios experimentos de radio y chip.