BookinglyTech News
Software

Lucius, un panel web móvil para lanzar comandos bash sin abrir una terminal SSH

El proyecto, escrito en Python sobre FastAPI y publicado como código abierto, se instala con un solo script y dispara comandos desde el móvil a partir de una lista blanca en JSON.

2 min de lecturar/selfhosted0 vistas

Lucius es una aplicación web pensada para el móvil que ejecuta scripts de bash con un toque, sin abrir un cliente SSH. La firma un administrador que se cansó de entrar por SSH a su Raspberry Pi solo para reiniciar un contenedor o mirar el espacio en disco. Está publicada como código abierto en el repositorio de GitHub y se instala con un único script de bash que se encarga de systemd y de las dependencias.

El backend va en Python sobre FastAPI y el frontend es una PWA que se puede añadir a la pantalla de inicio de iOS y Android, con botones grandes para el pulgar. Cada comando dado de alta aparece como una acción y su salida se emite en vivo: stdout y stderr llegan por WebSockets y se ven como en una terminal, según se producen.

Gestión desde la interfaz

Los comandos se administran desde el propio panel. Se añaden, se editan y se reordenan ahí mismo, sin tocar ficheros de configuración a mano. Ese es el punto que más lo separa de las herramientas clásicas de administración web: su autor probó Cockpit y Webmin y los descartó por pesados para lo que necesitaba, que era un puñado de tareas repetitivas.

En seguridad hay dos capas. El acceso pide un PIN y la ejecución pasa por una lista blanca en JSON. El autor sostiene que con ese diseño la inyección de shell arbitraria es imposible, una afirmación suya que no viene acompañada de auditoría independiente. El código está a la vista, así que quien lo vaya a desplegar puede comprobarlo antes.

Lo que el texto de presentación no detalla es el resto del modelo de confianza: no dice cómo se almacena el PIN, si queda algún registro de auditoría de lo ejecutado, ni si contempla varios usuarios con distintos permisos. Tampoco hay demo pública ni capturas más allá de lo que se vea en el repositorio.

Para quien mantiene un homelab con media docena de servicios, la idea cubre un hueco real. Reiniciar un contenedor desde el sofá no necesita un panel de control completo ni un cliente SSH con teclado en pantalla, y montar eso sobre una PWA es más razonable que instalar Cockpit en una máquina con dos núcleos. El riesgo está en la naturaleza del invento: es una interfaz que ejecuta comandos con permisos del proceso que la sirve, protegida por un PIN y por una lista blanca. Dentro de la red local eso es aceptable; expuesto a internet, es otra conversación. El proyecto es joven y lo lleva una sola persona, así que conviene leer el código antes de darle el mando de nada que importe.