Offpunk un navegador web CLI que puede trabajar sin conexion 

marzo 15, 2022 , 0 Comments

Navegando por la red me encontré un interesante proyecto que estoy seguro de que les encantara a los amantes de la terminal y es que el proyecto del que vamos habar el día de hoy se llama Offpunk.

Offpunk es un navegador web de consola (CLI) y el cual recientemente se ha liberado su primera versión. Este navegador, que además de abrir páginas web, funciona utilizando los protocolos Gemini, Gopher y Spartan, además de leer feeds de noticias en formatos RSS y Atom. 

Sobre Offpunk

La gestión se realiza a través de un sistema de comandos y atajos de teclado. Existe un sistema flexible para mantener marcadores de varios niveles, suscripciones y contenido archivado para diferentes tipos de MIME, ademas de que se puede conectar sus propios controladores. El análisis y la visualización de páginas HTML se realizan mediante las bibliotecas BeautifulSoup4 y Readability, ademas de que las imágenes se pueden convertir a gráficos ASCII utilizando la biblioteca chafa.

De las características que se destacan de Offpunk:

  • Navega por https/gemini/gopher/spartan sin moverte del teclado y sin distracciones
  • Documentación integrada: basta con teclear help para obtener la lista de comandos o una ayuda específica sobre un comando.
  • Modo sin conexión para navegar por el contenido almacenado en caché sin conexión. Los elementos solicitados se recuperan automáticamente durante la próxima sincronización y se agregan a su recorrido.
  • Las páginas HTML están embellecidas para centrarse en el contenido. Lea sin ser molestado o vea la página completa con view full.
  • Los feeds RSS/Atom son descubiertos subscribey procesados ​​automáticamente como gemlogs. Se pueden explorar con view feedy view feeds.
  • Admite «suscripciones» a una página. El nuevo contenido que se ve en las páginas suscritas se agrega automáticamente a su próximo recorrido.
  • Gestión de marcadores complejos a través de múltiples listas, edición integrada, suscripción/congelación de listas y archivado de contenidos.
  • Herramientas de navegación avanzadas como toury mark(según VF-1). A diferencia de AV-98, el recorrido se guarda en el disco entre sesiones.
  • Habilidad para especificar programas controladores externos para diferentes tipos de MIME (use handler)
  • Creación de caché no interactivo con profundidad configurable a través del comando –sync. El caché puede ser utilizado fácilmente por otro software.
  • Compatibilidad con IPv6
  • Admite cualquier codificación de caracteres reconocida por Python
  • Criptografía: validación de certificado de servidor TOFU o CA
  • Criptografía: amplia compatibilidad con certificados de clientes si hay un opensslbinario disponible

Para automatizar la ejecución de acciones, se utiliza un archivo RC que define la secuencia de comandos al inicio. Por ejemplo, a través de un archivo RC, puede abrir automáticamente la página de inicio o descargar el contenido de algunos sitios para verlos más tarde sin conexión.

El contenido descargado se almacena en el directorio ~/.cache/offpunk/ como una jerarquía de archivos .gmi y .html, lo que le permite cambiar el contenido, limpiarlo manualmente o ver las páginas en otros programas si es necesario.

El proyecto continúa el desarrollo de los clientes Gemini y Gopher AV-98 y VF-1, creados por el autor del protocolo Gemini. El protocolo Gemini es mucho más simple que los protocolos usados ​​en la Web, pero más funcional que Gopher. La parte de la red de Gemini se asemeja a un HTTP sobre TLS muy simplificado (el tráfico siempre está encriptado) y el marcado de la página está más cerca de Markdown que de HTML.

El protocolo es adecuado para crear sitios de hipertexto ligeros y compactos, sin las complicaciones inherentes a la Web moderna.

Mientras que el protocolo Spartan está diseñado para transferir documentos en formato Gemini, pero difiere en la organización de la interacción de red (no utiliza TLS) y amplía las capacidades de Gemini con medios para intercambiar archivos binarios y admite el envío de datos al servidor.

Finalmente para quienes estén interesados en poder conocer más al respecto del navegador, deben saber que el programa está escrito en Python y se distribuye bajo la licencia BSD. Puedes consultar los detalles en el siguiente enlace.

Para poder probar este navegador basta con abrir una terminal y teclear:

git clone https://tildegit.org/ploum/AV-98-offline.git

cd AV-98-offline

./offpunk.py

O tambien pueden probar con:

python3 offpunk.py

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.