AdGuard v4.5.8 para iOS: actualizaciones de filtros hasta 30 veces más rápidas
¡Estamos felices de traerles buenas noticias al borde de 2025!
La actualización v4.5.8 es como un amigo relajado que hace que la app sea hasta 30 veces más rápida. Sí, leíste bien: hicimos algunas mejoras en el Safari Converter, y ahora las reglas de filtrado de AdGuard se convierten en reglas de Safari en solo 0.5–2 segundos, en lugar de 10–30. Notarás la diferencia especialmente al actualizar, activar o desactivar filtros y al activar la protección.
Durante el proceso, encontramos y reportamos un problema del lado de Apple — si lo corrigen en el futuro, el proceso será aún más rápido.
Ahora, veamos cómo funciona todo y qué mejoramos exactamente.
Cómo funciona la actualización de filtros
1. Se descargan nuevas versiones de los filtros
Todo comienza con la descarga de las nuevas versiones de los filtros en la app de AdGuard. Esta parte no presenta problemas.
2. Las reglas se convierten
A continuación, las reglas de filtrado de los filtros de AdGuard se convierten en reglas de Safari. Aquí aplicamos nuestro conocimiento en optimización al Safari Converter, logrando que el proceso sea hasta 30 veces más rápido.
Mira la diferencia en la práctica:
Antes:
Después:
3. Las reglas se cargan en Safari
Finalmente, llegamos a la etapa que presenta un problema del lado de Apple.
Para que Safari pueda aplicar las reglas de filtrado, estas se compilan en un DFA, tarea realizada por un proceso en segundo plano llamado com.apple.Safari.ContentBlockerLoader
. AdGuard carga las nuevas reglas en Safari, llama a la función reloadContentBlocker y espera el resultado. Durante este proceso, los usuarios ven el estado “Los bloqueadores de contenido se están actualizando…” en la app.
El problema es que, por alguna razón, el rendimiento de este proceso en iOS y iPadOS está artificialmente limitado. Esto hace que la compilación de un bloqueador de contenido relativamente pequeño (28 mil reglas) tarde entre 6–15 segundos (mientras que en macOS el proceso se completa en fracciones de segundo). Para bloqueadores más grandes, el tiempo puede superar los 30 segundos.
Esto no solo afecta la experiencia del usuario, sino que también compromete la frecuencia y rapidez de las actualizaciones de filtros, que son cruciales para correcciones rápidas y un rendimiento eficiente de los bloqueadores de anuncios.
Hemos reportado este problema a Apple, y el ID del ticket en Feedback Assistant es FB16130983. Esperamos sinceramente que Apple traiga una solución en 2025.
¡Eso es todo para esta versión! No olvides actualizar tu app, sentir la diferencia y compartir tu opinión en nuestras redes sociales o en la sección de Issues de GitHub.
¡Que tengas un excelente fin de año y mantente seguro en línea y fuera de línea! 💚