Por qué continúo manteniendo ctop como Fork
El proyecto original fue abandonado en 2022. Utilizo esta herramienta diariamente y la he asumido en lugar de abandonarla.
Cuatro años sin lanzamiento
El último lanzamiento de bcicen/ctop lleva la versión 0.7.7 y data del 22 de marzo de 2022. El último commit en el repositorio es del 1 de agosto de 2022. Desde entonces: nada.
Esto no es una acusación. Quien lleva un proyecto de código abierto durante años por su cuenta puede decidir dejarlo. Sin embargo, eso no cambia el hecho de que el software sigue funcionando en mis servidores y entornos de desarrollo, todos los días.
He utilizado ctop durante años sin revisar nunca el código. En algún momento,govulncheckdetectó la primera vulnerabilidad en una dependencia, y quedó claro que nadie la corregiría.
Lo que encontré al asumir el proyecto
El código estaba bien escrito, pero correspondía al año 2022.io/ioutil en lugar de os, un paquete de registro que no se ha mantenido durante años, una biblioteca UUID de una cuenta eliminada.
Tres hallazgos de la primera ronda fueron graves.container.Exec() permitía introducir datos de usuario a través de sh -c , lo que permitía una inyección de shell. El archivo de configuración se creó con permisos de lectura para todos. Y el servidor de depuración se vinculó a 0.0.0.0, por lo que era accesible en toda la red en cuanto alguien CTOP_DEBUG=1 lo establecía.
Más tarde, en el conector runC, se añadió un cuarto: un canal que nunca se inicializó. Los envíos y recibos en él bloquean en Go para siempre. El código funcionaba solo porque en la práctica este camino rara vez se alcanzaba.
Por lo que respondo
No prometo nuevas funciones cada mes. Lo que prometo es más estrecho y, por tanto, más robusto.
Las dependencias se mantienen actualizadas. Dependabot revisa semanalmente los módulos Go, GitHub Actions y la imagen base de Docker, y govulncheck se ejecuta en la pipeline de compilación y se detiene si una vulnerabilidad conocida se filtra.
Los problemas de seguridad se parchean, no se documentan y se dejan pendientes. Cuando runc informó de tres escapes de contenedor en otoño de 2025, hubo una versión de lanzamiento al respecto, y en noviembre, tras revisar, otra versión más.
Las compilaciones están disponibles para cinco plataformas. Cada versión de lanzamiento incluye binarios para Linux, macOS y Windows junto con sus sumas SHA256, una imagen multiarquitectura en GHCR y una fórmula de Homebrew actualizada. Esto se activa mediante una etiqueta Git; el resto lo gestionan GitHub Actions.
Lo que el fork no será
Sin Rewrite. Sin carrera de características con lazydocker o k9s. ctop sigue siendo una herramienta que hace una cosa.
Aún así, se avecina un cambio mayor. Las dos bibliotecas en las que se basa la interfaz de terminal, gizak/termui y nsf/termbox-go, ya no se mantienen. El plan para la migración al Charm-Stack está disponible como un documento de seis fases en el repositorio. Todavía no he comenzado.
Lo que puede hacer la herramienta hoy y cómo instalarla se encuentra en la descripción del proyecto. Si utiliza ctop y algo falta o falla: hay Issues abiertos y Pull Requests también.