blogtato: el lector RSS sin cuentas ni servidores que sincroniza con Git

Share

Si usas RSS para seguir blogs y noticias y te cansas de depender de Feedly, Inoreader o cualquier otro servicio que requiere cuenta, suscripción y acceso a tus datos, blogtato puede ser lo que buscas. Es un lector de feeds RSS y Atom para la terminal, escrito en Rust, que usa Git como motor de sincronización. Sin servidores propios, sin cuentas adicionales, sin suscripciones mensuales.

El proyecto está disponible como código abierto en GitHub (kantord/blogtato) y en crates.io, el registro de paquetes de Rust. Si ya tienes Rust instalado, empezar toma un solo comando.

¿Qué hace blogtato exactamente?

La propuesta es simple: un lector de feeds que vive en tu terminal y sincroniza tu estado de lectura entre dispositivos usando un repositorio Git privado. Ese repositorio puede estar en GitHub, GitLab, Forgejo auto-hospedado, o donde tú quieras. blogtato almacena los feeds y artículos como archivos JSONL simples —texto plano estructurado— dentro del repositorio, y sincroniza con un solo comando: blog sync.

Lo que ese comando hace en segundo plano: descarga posts nuevos de tus feeds suscritos, hace un pull desde el repositorio remoto resolviendo divergencias por timestamps, y luego hace push de los cambios. Sin conflictos manuales. Sin autenticación en un servicio de terceros.

El lenguaje de consulta: filtros expresivos al estilo Taskwarrior

La inspiración en Taskwarrior —la herramienta de gestión de tareas en terminal— se nota especialmente en cómo se navegan los feeds. En lugar de una interfaz visual interactiva (TUI), blogtato usa comandos componibles:

  • blog — muestra posts no leídos de los últimos 3 meses, agrupados por semana.
  • blog /d — agrupa por día. /w por semana, /f por feed.
  • blog @hn — filtra solo el feed de Hacker News usando su shorthand.
  • blog since:1w — posts de la última semana.
  • blog since:3m until:1m — rango de fechas personalizado.
  • blog @hn .unread /d since:2w — combinaciones completas.

Esto permite construir briefings automáticos con un solo comando. Por ejemplo: blog sync && blog show /d since:1d genera un resumen de todo lo publicado ayer en tus fuentes, sin abrir el navegador.

¿En qué se diferencia de Newsboat u otros lectores CLI?

El ecosistema de lectores RSS en terminal ya tenía nombres establecidos, principalmente Newsboat. La diferencia clave está en la sincronización:

  • Newsboat tiene una interfaz TUI más rica (soporta podcasts, render HTML, macros), pero la sincronización entre dispositivos requiere scripts manuales o servicios externos como Miniflux.
  • blogtato resuelve la sincronización de forma nativa con Git: inicializar en un nuevo dispositivo es blog clone usuario/repositorio y listo. Sin configuración adicional.

Para quienes trabajan desde múltiples máquinas —laptop en casa, servidor remoto, PC de trabajo— o con conectividad intermitente, esa diferencia importa. No hay un servidor intermediario que pueda caerse o cambiar sus condiciones de servicio.

Instalación en 3 pasos

El proceso es directo si tienes Rust instalado:

  1. Instalar Rust (si no lo tienes): curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Instalar blogtato: cargo install blogtato
  3. Clonar o inicializar tu repositorio de feeds: blog clone usuario/mi-feeds-repo

La sincronización Git es completamente opcional: blogtato funciona sin ella en un solo dispositivo. Si después quieres agregar sync, el comando blog clone usuario/repo integra tus feeds existentes con el remoto automáticamente.

Por qué importa

El RSS tuvo un momento de muerte anunciada cuando Google Reader cerró en 2013. En la práctica nunca murió: siguió siendo la infraestructura de distribución de blogs técnicos, changelogs de software y newsletters que prefieren no depender de plataformas. Hoy, con el auge de los newsletters, Substack y la descentralización via ActivityPub, el RSS vuelve a tener relevancia como capa de suscripción universal.

El problema es que los lectores modernos de RSS funcionan como SaaS: tienes una cuenta, el servicio guarda tu historial, y si el servicio cierra o cambia de precio, pierdes tus suscripciones. blogtato apuesta por una filosofía distinta: tus feeds son archivos de texto en un repositorio que controlas tú. Es la misma filosofía de Kula para el monitoreo de servidores — binario único, sin dependencias, datos propios — aplicada a la lectura de información.

Para equipos técnicos, la integración en pipelines de automatización es un caso de uso adicional interesante. blog show since:1w | grep -i "lanzamiento" > digest-semanal.txt puede alimentar directamente una newsletter interna o un resumen automatizado. En un mundo donde la sobreabundancia de información es el problema real, tener control total sobre qué lees, cuándo y cómo filtras no es un capricho técnico — es una ventaja competitiva.


Fuentes

Leer más

Otras noticias