Chawan, navegador web TUI
(chawan.net)- Chawan es un nuevo navegador web TUI que funciona en una terminal basada en texto
- Esta versión 0.2.0 incluye todas las funciones esenciales de la etapa MVP y no presenta errores críticos conocidos
- Solo requiere como dependencias obligatorias las bibliotecas libssh2, libbrotli y OpenSSL/LibreSSL, y se eliminaron varias dependencias presentes en versiones anteriores
- También se ofrece como binario estático y paquete .deb para Linux amd64, lo que facilita su distribución e instalación
- La próxima versión tendrá como objetivo mejorar el rendimiento del módulo de layout y ofrecer una mejor experiencia de UI
Presentación de Chawan 0.2.0
Chawan es un navegador web ligero basado en una interfaz de usuario de terminal (TUI), diseñado como un proyecto de código abierto para facilitar la navegación web en entornos de texto. Esta versión 0.2.0 es la primera versión estabilizada que incorpora todas las funciones principales de la etapa de producto mínimo viable (MVP), y hasta ahora no se han reportado errores críticos importantes.
Distribución e instalación
- Se ofrece un tarball del árbol de código fuente, y si se desea compilar manualmente, basta con seguir las instrucciones del README
- Se ofrece una distribución en binario estático para Linux amd64, que puede instalarse fácilmente después de descomprimir el archivo con el comando
make install- La desinstalación puede hacerse con
make uninstall
- La desinstalación puede hacerse con
- La misma distribución también se ofrece en formato de paquete .deb, por lo que puede instalarse directamente en sistemas basados en Debian
Información para mantenedores de paquetes
- Las dependencias obligatorias en tiempo de ejecución de Chawan son las siguientes:
- libssh2
- libbrotli (incluye libbrotlicommon y libbrotlidec)
- OpenSSL (3.0 o superior) o LibreSSL (probado en OpenBSD 7.7)
- zlib, libseccomp, termcap/ncurses y libcurl, entre otras, que se usaban en versiones de desarrollo anteriores, ya no son necesarias y por eso fueron eliminadas de las dependencias
- Si surge algún problema durante el empaquetado, se recomienda contactar primero al desarrollador antes de aplicar parches, ya que es muy probable que el problema pueda resolverse directamente aguas arriba
Planes a futuro
- Aunque esta versión 0.2.0 tardó más de lo esperado, se decidió publicarla oficialmente porque ya cuenta con todas las funciones del MVP
- La rama v0.2 en adelante recibirá solo correcciones de errores, mientras que la incorporación de nuevas funciones continuará en la rama master
- La próxima versión se centrará en mejorar el rendimiento y la precisión del módulo de layout, además de hacer la UI más amigable para el usuario
Importancia y ventajas del proyecto
- Chawan es un navegador web optimizado para entornos de terminal, lo que permite acceder a contenido web en servidores y entornos con recursos limitados
- A diferencia de los navegadores web de texto tradicionales, se distingue por su soporte para protocolos modernos de cifrado y compresión, así como por su enfoque en minimizar dependencias
- Al ser de código abierto, facilita la expansión y personalización adicionales
1 comentarios
Comentarios en Hacker News
Me da gusto cada vez que veo un proyecto escrito en Nim. Me da la impresión de que Nim es uno de los lenguajes más interesantes, en algún punto entre C/C++ y Python. En comparación con el tamaño de la comunidad de Nim, la productividad de sus usuarios parece alta, y aunque no lo conozco tan bien, siento cierta confianza en que mi impresión sobre Nim es correcta. Me da pena que Nim no haya logrado crecer de forma más masiva.
shiomiru, me pregunto cuál sería el mejor recurso para aprender conceptos relacionados con TTY. Agradezco recomendaciones, ya sean gratis o de pago. Sobre TTY conozco la introducción de linusakesson.net, pero reconozco la limitación de que no cubre termcap/terminfo/curses. En otro comentario se menciona el libro O'Reilly's Termcap & Terminfo (también se puede ver en línea aquí).
Siempre se agradece una forma nueva que pueda usarse por un rato para experimentar, sin recurrir a otro motor más basado en Chrome. Lo que se presentó hoy me da muchas ganas de probarlo yo mismo después de clases. Como una alternativa muy buena, especialmente en entornos sin sixel, recomiendo carbonyl, el port de terminal de chromium. Su autor original ya no puede desarrollarlo activamente, así que sus funciones son muy limitadas y todavía faltan varias, como atajos de teclado y guardado de archivos. Aun así, su compatibilidad con la Web y lo novedoso que se siente me parecen muy impresionantes. Ojalá alguien con experiencia en Rust retome el proyecto. Cuando lo revisé hace unos meses, no había ningún fork popular.
Me encantan este tipo de proyectos. Ojalá hubiera una lista de sitios basados en texto. Personalmente, mis dos favoritos son plaintextsports.com y lite.cnn.com.
Está muy bien hecho. Probé compilarlo yo mismo con termux en una Lenovo M8 de 4.ª generación, y solo hace falta instalar Nim. Me impresionó lo limpio que quedó instalado, incluso sin usuario root.
Es una implementación realmente hermosa. Tengo ganas de usarla en trabajo real para comprobar hasta dónde se puede llevar. El sitio de HN se ve muy bien.
Siempre me he esforzado por hacer que mi sitio web también se vea bien en Links, y ahora siento que apareció un nuevo candidato. Con algo de soporte de CSS, también aumentan las cosas de las que hay que preocuparse, como el espaciado entre elementos. En Links ignoraba por completo margin/padding, así que podía acomodar limpiamente cosas como menús en una sola línea, pero ahora la situación se volvió más complicada.
Es un proyecto realmente genial, y además está hecho en Nim, lo cual merece elogio. Al escribir
cha example.com, me confundí porque no entendía para nada cómo usar los comandos básicos (hjkl, etc.). Si presiono números, aparecen en la esquina inferior izquierda, pero fuera de eso no pasa nada. Lo compilé yo mismo en MacOS Sequoia 15.5 Apple Silicon con Nim 2.24. La página web carga bien, pero los comandos no funcionan. Me pregunto si se me está escapando algo o si esto es un bug.Me llamó la atención que ya no use termcap/ncurses. Me da curiosidad si eso significa que maneja el terminal directamente.
Me impresionó que en macOS se pueda compilar fácilmente con un solo comando
make. Qué bueno que apareció un reemplazo moderno para elinks.