sjg-openwrt-builder
Herramienta Node.js para generar scripts de compilación de firmware OpenWrt e ImmortalWrt. Permite configurar dispositivos, versiones y plugins sin compilar directamente en Windows/Mac, delegando la compilación a entornos Linux o GitHub Actions.
Ficha actualizada 26 sept 2026, 9:48 · upstream 26 sept 2026, 9:44 · release sin release detectada
Qué es sjg-openwrt-builder
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este repositorio actúa como un generador de firmware para OpenWrt e ImmortalWrt, funcionando principalmente en entornos Windows o macOS mediante Node.js. Su objetivo principal es crear scripts de compilación (build.sh) y flujos de trabajo de GitHub Actions listos para ejecutarse en servidores Linux, ya que la compilación nativa de OpenWrt no está oficialmente soportada en sistemas operativos basados en Windows o macOS.
La herramienta ofrece dos rutas principales: ImageBuilder (rápido, <2GB) y compilación desde cero (completa, ~50GB). Permite seleccionar entre múltiples distribuciones, versiones y arquitecturas de hardware, actualizando automáticamente los metadatos desde los servidores oficiales de OpenWrt e ImmortalWrt. Incluye un panel web para previsualizar configuraciones y gestionar el proceso de construcción sin dependencias externas más allá del entorno Node.js estándar.
Las capacidades incluyen la gestión de plugins específicos por versión, detección automática de archivos de imagen disponibles y generación de scripts de configuración personalizados (host, red, usuarios). Además, facilita el despliegue mediante GitHub Actions, gestionando tokens y ramas automáticamente para recuperar los artefactos compilados sin intervención manual en la línea de comandos del servidor de compilación.
- Crear firmware personalizado con plugins específicos para dispositivos IoT o routers domésticos
- Automatizar la generación de scripts de compilación para despliegue masivo en servidores Linux
- Utilizar GitHub Actions para compilar y descargar firmwares personalizados sin necesidad de mantener un servidor Linux local
- Gestionar múltiples versiones de OpenWrt e ImmortalWrt con sus respectivos repositorios de paquetes
- Validar la integridad de los metadatos y scripts generados mediante pruebas automáticas incluidas
- Cero dependencias externas (solo módulos nativos de Node.js)
- Soporte dual para OpenWrt e ImmortalWrt con actualizaciones en tiempo real
- Detección automática de archivos de imagen y soporte para múltiples formatos (.tar.zst, .tar.xz)
- Generación de scripts de compilación listos para ImageBuilder o compilación completa desde cero
- Integración nativa con GitHub Actions para compilar en la nube y recuperar artefactos
- No ejecuta la compilación directamente en Windows/Mac; requiere entorno Linux para el proceso final
- Almacenamiento de tokens de GitHub en texto plano en archivos de configuración (riesgo de seguridad)
- La compilación desde cero consume aproximadamente 50GB de espacio en disco
- Los plugins no incluidos en los repositorios oficiales del firmware seleccionado requerirán fuentes externas configuradas manualmente
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Ejecutar node server.js en el puerto 8730 (o personalizado). La primera visita requiere conexión a internet para cachear metadatos de OpenWrt/ImmortalWrt. Para compilación en la nube, configurar un token de GitHub en config/gh.json. Eliminar ramas build/* tras finalizar tareas para mantener el repositorio limpio. Asegurar que el servidor Linux destino tenga las dependencias necesarias (qemu-utils, gnu-coreutils).
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.