Skip to main content

the avatar of openSUSE Heroes

Tackling performance issues caused by load from bots

In recent months, I observed an increase in performance issues with partial short outages, particularly of web applications performing expensive operations such as database or shell queries. The origin was always easy to map to an amount of requests larger than what some backend applications are able to handle. Whilst part of the requests do originate from legitimate users, a large amount is found to originate from obscure sources - particularly AI related crawlers seem to dominate. Whereas traditional search engine crawlers, which we do encourage to scan our websites to allow for more users to find them, scan with few requests spread over a long time frame, these new crawlers tend to issue thousands of requests, sometimes in less than a day. With multiple companies pursuing the same practices, this quickly adds up to requests and subsequently load which is not sensible to scale for, particularly given the lack of obvious benefit for the general public.
Over time I implemented various measures to reduce the amount of undesired requests based on the observed patterns, whilst aiming to maintain a stable experience for legitimate requests. These measures include rate limiting (with more fine grained limits for particularly "expensive" sites and paths), wide blocking of source networks from cloud providers and AI related companies, blocking of user agent patterns and blocking of "dumb" requests (for example, we stopped routing requests targeting various script file types to backends which do not speak the matching language). Monitoring did show these measures to help with reducing the immediate request load, however new patterns quickly emerged. A new phenomena are large amounts of requests spread over a large amount of different source networks. Especially with source networks identifying as serving residential traffic, blocking is not possible without risking the lockout of legitimate users. A new method needed to be found.

Of course, we are not the only organization affected by this. The recent influx of AI related crawlers impacting web services caused various operators to implement additional protections, and the most visible one to users are challenge websites, making the user land on an intermediate page before being redirected to the desired location. Whilst these come in various forms, I mostly observe ones asking for a captcha and ones computing a proof-of-work task in the client. The latter came particular popular with the release of Anubis [0], an open source software making it easy for operators to equip their website with a proof-of-work challenge protection. Anubis reached a certain level of fame by big websites deploying it and tech related news outlets talking about it. Most naturally, I looked into Anubis as a solution for our situation as well. The proof-of-work concept was particularly interesting, as automated challenges are less annoying to users and have less accessibility concerns than manual captcha based ones.

As for Anbuis, it acts as a reverse proxy and serves a pre-defined challenge website. It also ships with excludes for known-good search engine crawlers.
In our setup, which consists of internet-facing HAProxy servers routing traffic to backend application/web servers, this would introduce another proxy traffic would flow through. Upon discussion with @darix, we figured it would be beneficial to instead utilize SPOE, the HAProxy Stream Process Ofloading Engine, to "ask" Anubis to challenge problematic clients, but then to pass the result back to HAProxy to directly route the traffic as before. Following the upstream discussion we initiated, I prepared a patch for this [1] - as I was idling for a while before opening a PR, someone else picked up the work and improved upon it, bringing the implementation to a usable shape [2] - however, it has not yet been completed and merged by the time of writing. More importantly, also as part of the upstream discussion, a user suggested to swap out the Go library I used for the SPOP implementation in Anubis with a more performant one [3] - haproxy-go [4]. The same comment [3] lead me to discover the same user having developed a software similar to Anubis, which already implements the suggested library and specifically targets HAProxy native deployments: Berghain [5]. Whilst the user experience is similar to Anubis - one gets served a challenge website to complete an automated proof-of-work computation before being redirected to the desired location, the background implementation is different. It operates tightly integrated with HAProxy by utilizing the SPOE - first to construct a challenge for clients (that is, if a client is intended to be challenged, which is decided using standard HAProxy ACLs), then to verify the challenge response, which is stored in a cookie on the client. The challenge page (which is a combination of HTML, CSS, JS) itself is served directly by HAProxy from memory.

This seemed like what we were looking for:

  • no additional reverse proxy, preservance of existing HAProxy based routing
  • decision which clients to challenge using HAProxy ACLs, which we already use in our setup and can easily extend upon
  • can be configured to not impact web service availability if the challenge service is offline
  • easy branding using HTML + SCSS (Anubis in its default build does not allow for any branding - however they seem to have a version for paying customers and open source projects which allows to swap the imagery)

The project seemed to be in an early stage, with not much activity as compared to Anubis, however initial testing seemed promising. After opening an issue with a minor flaw, the upstream maintainer messaged me - as it turns out, they have similar ideas and are very nice to chat with. Over the last days, various improvements landed in Berghain - I contributed some patches [6], which were pleasantly reviewed and integrated, and the upstream maintainer helped as well, with answering questions in chat and solving bugs [7].

For branding, I made a fork [8] in which the sources of the web page are modified. An upstream discussion to decouple this, allowing theming to reside separately, was started [9], but ideas on achieving this are still pending. As the web sources are deemed to not change as often, the maintenance effort should not be too bad for the time being - I rebase our branch with the upstream one when there are changes, and add the customizations as a patch in our package [10].

With this, all seems to be set for deployment. However, there were some challenges (pun intended) which had to be considered:

  • users should not be unnecessarily "annoyed"
    => cover websites and paths only selectively when there is need for additional protection due to excess application load
  • the challenge requires JavaScript, don't unnecessarily harm users which do not have JavaScript enabled, and, most importantly, don't break legitimate command line tooling and scripts
    => cover only websites and paths which would require JavaScript anyways (i.e. no API paths)
  • if the configured validity period expires while the user is filling out a form, accidental form resubmission might be triggered
    => cover only GET requests
  • legitimate search engine crawlers should not be inhibited
    => adapt lists of user agent + source network combinations from Anubis

These points were easily solved using HAProxy ACLs. Of course, the exemptions also leave more room for malicious actors to work around the protection. Whilst this is a concern, most bots are found to be "dumb", hence the enablement can be expected to significantly help with the current situation even with the constraints at hand. Over time, solutions allowing for tighter limitations might be investigated and developed. Particularly interesting was a discussion with the maintainer of Berghain which brought up some ideas to challenge clients without JavaScript, however there is no concrete plan for this yet.

With all that being said, the protection has now been deployed and enabled for two services [11] - including progress.opensuse.org, where you are reading this article right now. Enablement for more services will follow over time as needed, when needed.

With all the considerations which went into this implementation, I hope for the impact on legitimate users to be minimal. If you notice any undesired breakage as a result of this nonetheless, please do open an issue in our tracker [12] explaining the circumstances, and I will try to work out a solution.

[0] https://anubis.techaro.lol
[1] https://github.com/TecharoHQ/anubis/issues/236#issuecomment-2784919382
[2] https://github.com/TecharoHQ/anubis/pull/460
[3] https://github.com/TecharoHQ/anubis/issues/236#issuecomment-2801861198
[4] https://github.com/DropMorePackets/haproxy-go
[5] https://github.com/DropMorePackets/berghain
[6] https://github.com/DropMorePackets/berghain/issues?q=author%3Atacerus
[7] https://github.com/DropMorePackets/berghain/commit/6080b227008a759c267a973202cf2b4edff38e31, https://github.com/DropMorePackets/haproxy-go/commit/c1707895ddabaa9c11d4e0b99e2cba040a0a3330
[8] https://github.com/openSUSE/berghain
[9] https://github.com/DropMorePackets/berghain/issues/26
[10] https://build.opensuse.org/package/show/openSUSE:infrastructure/berghain
[11] https://progress.opensuse.org/projects/opensuse-admin/repository/salt/revisions/3257c222f1c92c96c1d3caaeb7c14604fefad54a
[12] https://progress.opensuse.org/projects/opensuse-admin/issues (in case of issues with using the tracker directly, create a ticket via )

Edit after 1 day:

it was suggested to attach some graphs showing how the load went down after this deployment - here are the graphs behind progress.o.o as an example (times in the graphs are in CEST):

CPU and network load on progress.o.o backend

HAProxy recorded sessions for progress.o.o

a silhouette of a person's head and shoulders, used as a default avatar

Recopilación del boletín de noticias de la Free Software Foundation – junio de 2025

Recopilación y traducción del boletín mensual de noticias relacionadas con el software libre publicado por la Free Software Foundation.

¡El boletín de noticias de la FSF está aquí!

La Free Software Foundation (FSF) es una organización creada en Octubre de 1985 por Richard Stallman y otros entusiastas del software libre con el propósito de difundir esta filosofía, frente a las restricciones y abusos a los usuarios por parte del software privativo.

La Fundación para el software libre (FSF) se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras. Con este objeto, promociona el desarrollo y uso del software libre en todas las áreas de la computación, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU.

Mensualmente publican un boletín (supporter) con noticias relacionadas con el software libre, sus campañas, o eventos. Una forma de difundir los proyectos, para que la gente conozca los hechos, se haga su propia opinión, y tomen partido si creen que la reivindicación es justa!!

Puedes ver todos los números publicados en este enlace: http://www.fsf.org/free-software-supporter/free-software-supporter

¿Te gustaría aportar tu ayuda en la traducción y colaborar con la FSF? Lee el siguiente enlace:

Por aquí te traigo un extracto de algunas de las noticias que ha destacado la FSF este mes de junio de 2025.

No más licencias impuestas: ¡recupere el costo de su licencia de Windows!

Del 29 de mayo por la Free Software foundation

La mayoría de las computadoras portátiles que se venden en este momento vienen con un sistema operativo Microsoft Windows preinstalado que lo controla, y no es fácil para que los usuarios opten por no participar. Esto no solo es una violación de la libertad del usuario, sino que también le cuesta económicamente al usuario que se queda atascado pagando por una licencia de Windows que no desea.

La nueva iniciativa Refund4Freedom tiene como objetivo ayudar a los usuarios a recuperar el costo de una licencia de Windows al comprar un nuevo dispositivo y presionar para que se ponga fin a esta práctica que limita la libertad. Siga leyendo para saber qué puede hacer la próxima vez que usted o alguien que conozca compre una computadora nueva.

Por qué los fabricantes de consolas pueden bloquear legalmente su consola de juegos

Del 22 de mayo por Kyle Orland

Nintendo es uno de los mayores perpetradores de bloqueos de consolas (hacer que una consola quede permanentemente inutilizable en su totalidad o en parte), y actualmente tienen la capacidad legal para hacerlo (y Sony y Microsoft no son mucho mejores). Cuando un propietario bloquea su dispositivo y/o el software que lo hace funcionar, está intentando controlarlo y limitar sus derechos de usuario.

Los usuarios como usted deberían tener derecho a hacer lo que deseen con su dispositivo personal, incluso modificarlo para que funcione para usted. Dígale a sus representantes estatales y nacionales que debería tener el poder legal para modificar su dispositivo sin ser castigado por su fabricante.

«End of 10» para los usuarios de Windows 10: El entorno quiere que uses GNU/Linux

Del 15 de mayo por Christine Hall

Instalar un sistema operativo libre en un dispositivo que no es libre es un paso muy importante hacia la libertad, pero rara vez permite al usuario ejercer su libertad al máximo. Si alguien trae un dispositivo que no fue desarrollado pensando en la libertad e intenta instalar un sistema operativo libre, a menudo habrá al menos un par de cosas que no funcionarán correctamente.

Esto se debe a que la mayoría de los dispositivos contienen componentes que no funcionarán a menos que el sistema operativo instalado contenga algunos controladores o firmware que no son libres.

Aunque hay formas de sortear estas limitaciones, como el uso de un adaptador USB para el componente que no funciona, es algo que hay que planificar al hacer el cambio de un sistema operativo no libre a uno gratuito.

Si planea participar en un festival de instalación en su área, haga todo lo posible por mantenerse informado y compartir su conocimiento con otros sobre las opciones y limitaciones que conlleva instalar un sistema operativo libre en un dispositivo que no es libre.

apoyo_fsf

Estas son solo algunas de las noticias recogidas este mes, ¡¡pero hay muchas más muy interesantes!! si quieres leerlas todas (cuando estén traducidas) visita este enlace:

Y todos los números del «supporter» o boletín de noticias de 2025 en español, francés, portugués e inglés aquí:

Support freedom

a silhouette of a person's head and shoulders, used as a default avatar

Episodio 46 de KDE Express: Noticias y calor pre Akademy-es Málaga

Me congratula presentaros el episodio 46 de KDE Express, titulado » Noticias y calor pre Akademy-es Málaga» donde David Marzal sigue llevando en solitario estas más que interesantes píldoras. Un hurra por él.

Episodio 46 de KDE Express: Noticias y calor pre Akademy-es Málaga

Comenté hace ya bastante tiempo que había nacido KDE Express, un audio con noticias y la actualidad de la Comunidad KDE y del Software Libre con un formato breve (menos de 30 minutos) que complementan los que ya generaba la Comunidad de KDE España, aunque ahora estamos tomándonos un tiempo de respiro por diversos motivos, con sus ya veteranos Vídeo-Podcast que todavía podéis encontrar en Archive.org, Youtube, Ivoox, Spotify y Apple Podcast.

De esta forma, a lo largo de estos 45 episodios, promovidos principalmente por David Marzal, nos han contado un poco de todo: noticias, proyectos, eventos, etc., convirtiéndose (al menos para mi) uno de los podcast favoritos que me suelo encontrar en mi reproductor audio.

En palabras de David el nuevo episodio de KDE Express,esta vez con noticias cortas pero jugosas

Episodio 46 de KDE Express: Noticias y calor pre Akademy-es Málaga

Episodio 46 recopilatorio de las noticias de estas semanas.

Artículo original en https://kdeexpress.gitlab.io/46/

  • Plasma 6.4 deja de incorporar novedades y se centra en pulirse para un lanzamiento estable
    • El plasmoide de volumen mostrará la app y el audio que está sonando.
    • El icono de Lector de Pantalla en la configuración de accesibilidad ha cambiado a uno más representativo.
    • Asistente de calibración HDR y posibilidad de simular HDR en pantallas que lo soporten
    • Fondos de escritorios dinámicos según la hora del día
    • Discover ya no muestra por defecto los fondos de escritorios y las extensiones al buscar a no ser que busques desde el aparatado de add-on
  • Plasma 6.5
    • Mejorada la accesibilidad de la navegación con teclado del widget de volumen, la página de Flatpat en la configuración del sistema y en Discover.
  • KDE frameworks 6.15:
    • Los diálogos de nuevo fichero o carpeta han sido retocados estéticamente. Y el de carpeta ahora te deja elegir un icono directamente.
    • Transferir ficheros ahora se asegura de inhibir la suspensión del equipo para evitar problemas en la copia.
    • Se muestran mejor los thumbnails/miniaturas en unidades de red.
    • Mejorada la accesibilidad de la navegación con teclado en la configuración del sistema.
  • Distros
    • FreeBSD 14.3 Beta 3 incorpora los paquetes de Plasma 6 a sus imágenes de DVD
    • Rhino, una Rolling Release basada en Ubunutu que usa XFCE por defecto, empieza a probar una sesión con Plasma
    • La SteamOS que es el sistema operativo que viene con la SteamDeck, comparado en otros dispositivos que iban con Windows, parece que los supera con creces.
      • Y GefoceNOW, la plataforma de juego en streaming de NVIDIA ya está dispnible en la Deck instalandolo a traves de la sesión de escritorio Plasma.
  • Techpaladin es un nuevo patron de KDE e.V
  • Qt empieza a dar soporte a otros lenguajes de programación como Rust, Kotlin/Java y Swift
  • Firefox 136 trajo las pestañas verticales, 137 la agrupación de pestañas y 138 el selector de profiles. Ahora llega Firefox 139 con fondos de pantalla configurables.
    • Recomiendo el podcast de 24H24L con una interesante reflexión sobre apoyar a Firefox Mozilla a pesar de su imperfección.

Y, como siempre, os dejo aquí el listado de los episodios. ¡Disfrutad!

Por cierto, también podéis encontrarlos en Telegram: https://t.me/KDEexpress

La entrada Episodio 46 de KDE Express: Noticias y calor pre Akademy-es Málaga se publicó primero en KDE Blog.

the avatar of Open Build Service

Improvements To RPM Lint Results and Reviewing Submit Requests

In this update, we’re introducing two improvements that make reviewing RPM lint results and Submit Requests easier: a dedicated view for RPM lint results, and a clearer, more helpful display of build statuses in Submit Requests. We started the redesign of the request workflow in August 2022. Then, in September 2022, we focused on the support of multi-action submit requests. We continued in October 2022 with improvements regarding the Build Results tab and superseded conversations,...

a silhouette of a person's head and shoulders, used as a default avatar

Script en Bash para escuchar somafm en la terminal

Otro script en Bash para escuchar la emisora que queramos de Somafm desde la terminal de nuestro sistema GNU/Linux

fotografía de una radio de estilo antiguo con unas manos en los diales del aparato sintonizando
Imagen: Ron Lach

Este script en Bash utiliza curl, jq, fzf y mpv para mostrar, buscar y reproducir cualquiera de las emisoras de distinta temática que ofrece soma.fm.

Ya hace unos años compartí en el blog otro script en Bash para poder buscar y escuchar música de somafm en nuestra terminal:

Hoy quiero traer otro script en Bash con la misma funcionalidad y que muestra los datos de una manera más elegante, aunque la funcionalidad es la misma. Eso sí, requiere que tengas instalado curl, jq, fzf y mpv para que funcione el script.

El script lo tienes disponible en un repositorio en Codeberg, del usuario scy que fue quien lo compartió en Mastodon y donde lo descubrí.

El script no puede ser más sencillo, comparto por aquí el código:

#!/bin/sh
set -e


reformat() {
	jq -r '.channels[] | "\u001b[36m\(.id)\u001b[0m\t\u001b[1m\(.title)\u001b[0m\t\u001b[33m\(.genre)\u001b[0m\t\(.listeners)\t\(.playlists[] | select((.format == "aac" or .format == "aacp") and .quality == "highest") | .url)\t\(.description)"'
}


choose() {
	fzf --delimiter '\t' --ansi --tabstop=23 --with-nth 2,1,3 \
		--preview 'echo {2} "  " "("{1}")"; echo Genre: {3}; echo; echo {6}; echo; echo {5}; echo Currently {4} listeners.' \
		--bind 'enter:become(mpv {5})'
}


curl -s https://somafm.com/channels.json | reformat | choose

Guarda el script en un archivo, por ejemplo somafm.sh y dale atributos de ejecución (ya sabes chmod +x somafm.sh) y ejecútalo en tu terminal mediante ./somafm.sh

Te mostrará una lista de todas las emisoras disponibles e información, mediante fzf filtra la que quieres, pulsas enter y a disfrutar de la música.

Script en funcionamiento en mi equipo
the avatar of openSUSE News

Speakers Set Course for openSUSE Conference

The openSUSE Conference 2025 in Nuremberg from June 26 - 28 is shaping up to be a great gathering for the open source software community.

There are three packed days of presentations, workshops and discussion along with three keynotes.

This year’s conference features SUSE CEO Dirk-Peter van Leeuwen who will recognize the openSUSE community’s 20-year journey. Peer Heinlein, who founded the Heinlein Group, which includes companies like Heinlein Support, mailbox.org, OpenTalk, and OpenCloud, will provide another keynote on the same day and his talk will focus on the risks users face when using proprietary software. Another keynote from Tropic Square’s CEO Jan Pleskač will spotlight the growing need to extend open source hardware.

The conference is offering a broad look at where openSUSE is heading and what challenges are emerging for the project’s development and how the open-source communities can resolve them.

There are several sessions drawing attention like “Public Money? Public Code!” and a series of presentations addressing Cyber Resilience Act (CRA) and Network and Information Security 2 Directive (NIS2) readiness. These sessions explored how European cybersecurity regulations are impacting small to medium open-source vendors and what steps are needed to align with the evolving legal landscape.

On the technical side, integration and automation sessions continue. One talk demonstrated how Uyuni can be tightly woven into existing infrastructure management tools like Ansible and Terraform. Another session unveiled a tool called container-snap, a prototype designed to bring atomic OS updates through OCI images, which helps eliminate the risk of broken upgrades.

The Leap 16.0 Beta will have a dedicated session, and the future of SUSE Linux Enterprise will be discussed in a talk titled “From ALP to SLES16”.

Workshops on LLMs will show how to run large language models locally and turn them into functional agents and a popular penguin AI project called Kowalski should capture some attention at the conference.

Underlying many talks is a shared urgency around user empowerment. The “End of 10 Install Workshop” sessions are aimed at encouraging users to install openSUSE on aging or repurposed hardware based on Microsoft’s end-of-life date for Windows 10.

The full schedule of the openSUSE Conference 2025 is available at events.opensuse.org.

a silhouette of a person's head and shoulders, used as a default avatar

Deprecating Java-based drivers from syslog-ng: Is HDFS next?

While most Java-based drivers have been deprecated in syslog-ng years ago, we have recently removed all of them in preparation to syslog-ng 4.9.0. Right now, the only Java-based driver remaining is HDFS, so we want to ask the syslog-ng community if the HDFS destination is still needed for them.

Read more at https://www.syslog-ng.com/community/b/blog/posts/deprecating-java-based-drivers-from-syslog-ng-is-hdfs-next

syslog-ng logo

a silhouette of a person's head and shoulders, used as a default avatar

Tardeo-cena en OpenSouthCode 2025 de Málaga

Ya queda menos para que celebremos Akademy-es 2025, un evento que se celebrará dentro de uno mayor, lo cual nos lleva a tener muchos eventos sociales. Este año, igual que ocurrió hace un par de años, se ha organizado un tardeo-cena en OpenSouthCode 2025 de Málaga que, con tintes solidarios, tiene un pequeño requisito, asumible por casi cualquier persona. ¿Quieres saber más? Sigue leyendo.

Tardeo-cena en OpenSouthCode 2025 de Málaga

Como ya sabrán los lectores del blog, el próximo 20 y 21 junio , en la activa ciudad de Málaga se celebra la OpenSouthCode 2025 un evento para promocionar y dar a conocer las tecnologías abiertas: software/hardware libre y opensource.

Dos días de charlas que tienen un alto componente educativo, formativo y técnico, pero que no olvida quizás lo más importante de todo: la parte social.

Y para que todavía sea más importante esta parte social, los organizadores ha decidido potenciarla promoviendo una donación a la asociación GNU Solidario promotora del software GNUHealth, la cual te da acceso a:

  • La camiseta oficial de OpenSouthCode 2025
  • Entrada para el tardeo-cena

Y os puedo asegurar es de lo más completo que te puedes encontrar para ese día, tal y como os comenté en esta entrada del blog del 2023.

Así que, no lo dejéis escapar y…

comprad vuestra entrada en: https://www.eventbrite.es/e/opensouthcode-2025-donacion-a-gnuhealth-donate-to-gnuhealth-tickets-1383994598099

¿Qué es Opensouthcode 2025 de Málaga?

OpenSouthCode 2025 de Málaga

En palabras de sus organizadores:

Open South Code es un evento gratuito y no comercial organizado por voluntarios para la comunidad para promover el uso generalizado de software libre y de código/hardware abierto, que tiene lugar en la hermosa ciudad de Málaga (España) en la Costa del Sol. OpenSouthCode está entre los eventos de software más relevantes de Europa.

El evento se celebra en La Térmica (Avda. Los Guindos, ) y se suele dividir en dos tiempos muy diferenciados: el viernes se dedica a reuniones de grupos de desarrolladores centradas en temáticas específicas (java, Linux, Python o WordPress) y el sábado se dedica a la celebración de ponencias.

Está abierto el periodo de registro, un trámite que se hace para poder tener contabilizados los espacios y poder organizar el evento de la forma más eficiente posible.

En anteriores ediciones, la Comunidad KDE estuvo presente presentando un stand para mostrar las bondades del entorno de trabajo más eficiente del momento, y en el 2023 realizamos allí Akademy-es que nos dejó tan buen recuerdo que hemos querido repetir, esperemos que este año se repita y con mayor éxiro.

Solo me resta animarte a asistir al evento y a compartirlo por las redes sociales para que llegue a todo el mundo.

Más información: Opensouthcode 2025 de Málaga

La entrada Tardeo-cena en OpenSouthCode 2025 de Málaga se publicó primero en KDE Blog.

a silhouette of a person's head and shoulders, used as a default avatar

Mostrar el tiempo de wttr.in en tu escritorio con Conky

Veamos cómo hacer que Conky nos muestre el pronóstico del tiempo que ofrece wttr.in en nuestro escritorio

Parte de una captura de pantalla de un sistema GNU/Linux. Se muestra una parte del escritorio con un Conky que muestra la previsión del tiempo proporcionada por wttr.in

Conky es un viejo conocido de los diferentes escritorios dentro del mundo GNU/Linux. Es un monitor del sistema gráfico que podemos configurar de múltiples formas para que nos muestre diferente información de nuestro sistema.

En esta ocasión no haremos que nos muestre información de nuestro equipo, si no el pronóstico metereológico que ofrece wttr.in y que lo mostraremos en nuestro escritorio.

¿Escribiendo sobre conky en 2025? ¿No está ya muy desfasado eso de utilizar Conky en el escritorio en GNU/Linux? Bueno, como el blog es mío, escribo sobre lo que quiero y esto es algo con lo que he estado jugando unos días y quise compartirlo, quizás encuentras alguna cosa interesante, nunca se sabe…

El desarrollo de Conky sigue estando activo, así que será porque bastante gente lo utiliza en sus sistemas. En este caso no monitorizaremos datos de nuestro equipo para que nos los muestre en el escritorio, en este caso quiero mostrar cómo hacer que Conky muestre la previsión metereológica que ofrece la web wttr.in.

Esta web también es una conocida para los usuarios de GNU/Linux, ya que podemos ejecutar un comando que nos haga que la previsión metereológica se muestre en nuestro terminal. Simplemente escribe en una terminal el siguiente comando:

curl es.wttr.in/Madrid

Sustituyendo Madrid por la localidad que quieras saber en tu caso y obtendrás un pronóstico del día actual, de las próximas horas y los próximos días ¿no es genial?

Vale, en este caso, no mostraremos tanta información, si no solo la información del día actual y mostrando menos texto que no nos interesa. Así que si echas un vistazo a la ayuda de su web, verás que lo que yo quiero es algo así:

curl es.wttr.in/Madrid?0FQ

Añadimos las opciones detrás del símbolo ? de 0FQ para que muestre solo el día actual y no muestre información que no nos interesa. Ahora esto es lo que queremos que nos muestre Conky.

Pero haremos que en vez de formato texto nos lo ofrezca en una imagen .png la guardaremos en /tmp y con Imagemagick convertiremos el fondo negro que nos da la imagen en uno transparente.

Para ello en Conky deberemos hacerlo de la siguiente manera:

conky.text = [[
${texeci 300 curl es.wttr.in/Madrid_0FQ_lang=es.png -so /tmp/img.png && magick /tmp/img.png -transparent black /tmp/transparent.png
}
${image /tmp/transparent.png -p 0,0 -n}
]];

Todo esto integrado en un archivo llamado .conkyrc en tu /home. Te dejo el archivo completo:

conky.config = {
    background = true,
    update_interval = 60,
    double_buffer = true,
    no_buffers = true,
    text_buffer_size = 2048,
    override_utf8_locale = true,
    use_xft = true,
    font = 'NotoSansMNerdFontMono_Light:size=10',
    xftalpha = 0.8,
    alignment = 'bottom_left',
    gap_x = 30,
    gap_y = 40,
    minimum_width = 850,
    maximum_width = 850,
    minimum_height = 150,

    own_window = true,
    own_window_type = 'normal',
    own_window_transparent = true,
    own_window_argb_visual = true,
    own_window_argb_value = 0,
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

    draw_shades = false,
    draw_outline = false,
    draw_borders = false,
    draw_graph_borders = true,
    default_color = 'FFFFFF',
    color1 = 'FF815a',
    color2 = '8c81ff',
    use_xft = true,
    xftalpha = 0.2,
};

conky.text = [[
${texeci 300 curl es.wttr.in/Madrid_0FQ_lang=es.png -so /tmp/img.png && magick /tmp/img.png -transparent black /tmp/transparent.png
}
${image /tmp/transparent.png -p 0,0 -n}
]];

Esto lo mostrará en la esquina inferior izquierda, tal como se muestra en la captura que abre este artículo. Jugando con las opciones de alignment a top o right podrás hacer que se muestre en otras zonas de tu escritorio.

En la opción de font pon alguna que tengas instalada en tu equipo, aunque realmente en este caso no es necesario, porque vamos a mostrar una imagen.

Espero que te haya resultado útil de alguna forma este artículo, no olvides compartir tus comentarios en el blog, eso siempre se agradece! 🙂

Enlaces de interés

a silhouette of a person's head and shoulders, used as a default avatar

Patrocinadores plata de Akademy-es 2025 de Málaga OpenSouthCode Edition II #akademyes

Todo evento supone siempre unos gastos, y una presencial también. El 20 y 21 de junio, es decir, en menos de un mes se va a celebrar en Málaga la esperada Akademy-es 2025, el encuentro organizado por KDE España para todos los simpatizantes del proyecto. Es hora de hablar de patrocinadores de Akademy-es 2025 de Málaga OpenSouthCode Edition II, la demostración de que las empresas tienen un papel importante en el desarrollo del Sofware Libre.

Patrocinadores plata de Akademy-es 2025 de Málaga OpenSouthCode Edition II #akademyes

Como sabrán los lector del blog en apenas un mes se va a celebrar Akademy-es 2025 de Málaga como una track de OpenSouthCode de forma presencial, el evento más importante para los desarrolladores y simpatizantes de KDE, organizado por KDE España.

Desde KDE Blog quiero animar a patrocinar este evento ya que cualquier organización que lo haga recibirá visibilidad no solo en España, sino a nivel mundial en el campo del Software Libre, ya que muchos de los integrantes de la Comunidad tienen fuertes vínculos con países de todo el mundo. Recordemos que muchos de los integrantes de KDE España son miembros de KDE e.V., la fundación internacional que auspicia el proyecto.

Patrocinadores plata de Akademy-es 2025 de Málaga OpenSouthCode Edition II #akademyes
Foto de grupo de la última Akademy-es de Valencia 2024 esLibre Edition

El evento tiene presentaciones de primer nivel de temas relativos a las nuevas tecnologías, incluyendo aplicaciones de escritorio, aplicaciones móviles, desarrollo de software y multimedia. La comunidad KDE ha presentado innovaciones en todos estos campos a lo largo de su historia. Como patrocinador, su organización tendrá la oportunidad de participar en este entorno creativo y ser conocida por los asistentes.

Además, las discusiones técnicas no son el único objetivo de Akademy-es. El evento es también una oportunidad de networking y de conocer gente. Los eventos sociales son también muy importantes, ya que fomentan la creación del ambiente de cordialidad dentro de la comunidad KDE que permite la aparición de nuevas ideas; así que si lo desea puede también patrocinar un evento social.

De momento ya tenemos algunos patrocinadores de Akademy-es 2025 confirmados, se trata de openSUSE y la Universidad de La Laguna.

Esto, evidentemente, se merece una pequeña reseña en el blog.

Patrocinador: Slimbook

Una vez más, Slimbook se une a la comunidad KDE en Akademy-es, reafirmando su compromiso con la tecnología libre y abierta. Como Patron del proyecto KDE, participa activamente en este punto de encuentro anual para compartir conocimientos, fortalecer lazos con desarrolladores y usuarios, y descubrir nuevas ideas dentro del ecosistema del software libre.
La marca española diseña, ensambla y comercializa equipos informáticos (portátiles, sobremesa y estaciones de trabajo) optimizados para sistemas GNU/Linux. Con el objetivo de ofrecer soluciones potentes, elegantes y personalizables que respondan a las necesidades reales de quienes apuestan por el Software Libre.
Desde el inicio, colabora estrechamente con comunidades como KDE, Fedora o Manjaro, trabajando para que los equipos estén alineados con los últimos avances. En Akademy-es estaremos presentes para seguir apoyando la divulgación de estas tecnologías, conectar con la comunidad, tanto con caras conocidas como con nuevas incorporaciones, y continuar aprendiendo e innovando junto a quienes comparten nuestra visión.

Patrocinador: Vant

En VANT apostamos por GNU/Linux y por el software libre, porque es la base de nuestro proyecto.
Nuestro denominador común es el uso de Linux en nuestros ordenadores.
No somos desarrolladores. No somos sysadmins. Estamos especializados en hardware de PC y por eso fabricamos ordenadores. Y somos usuarios de Linux. Convencidos.
Desde 2011, ensamblamos la gama más completa de ordenadores portátiles y sobremesa linuxeros en España.

La entrada Patrocinadores plata de Akademy-es 2025 de Málaga OpenSouthCode Edition II #akademyes se publicó primero en KDE Blog.