>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Kotlin

Cómo dejé de luchar con la configuración de DNS en Android

Situación conocida: decides configurar un servidor DNS personal para eliminar los anuncios en apps y navegador. Vas a los ajustes de Android, te abres paso por las profundidades del menú de conexiones, buscas la opción "DNS privado", introduces la dirección del host... Y esto cada vez que necesitas comprobar si algún sitio o app "se rompió" por el DNS. En Android este ajuste está tan oculto, como si Google protegiera intencionalmente los ingresos por publicidad.

Hace poco encontré una pequeña utilidad llamada adns del desarrollador eyalm2000. Es una herramienta de código abierto que hace una cosa simple: coloca el toggle de DNS del sistema directamente en la pantalla de inicio o en la sombra de notificaciones.

¿Cuál es el beneficio

El problema con la mayoría de los bloqueadores de anuncios en Android es que funcionan como un servicio VPN local o como un servicio en segundo plano. Esto inevitablemente "drena" la batería, ocupa espacio en las notificaciones, y a veces entra en conflicto con clientes VPN reales.

adns funciona de manera diferente. No ejecuta ningún proceso en segundo plano. Esencialmente, es una GUI ligera para el ajuste de DNS privado del sistema que apareció en Android 9. La app simplemente alterna una variable global del sistema.

Para quién es útil:

  • Usuarios de NextDNS (para ellos es básicamente el paraíso con integración directa)
  • Quienes usan AdGuard DNS, Cloudflare, o sus propios servidores Pi-hole/AdGuard Home
  • Desarrolladores que necesitan cambiar rápidamente el DNS para probar sitios

Unos clics e internet limpio

Lo más conveniente de la app es la integración con NextDNS. Si tienes una cuenta, puedes iniciar sesión directamente en la app, seleccionar el perfil que necesites, y cambiar su configuración sobre la marcha. Si usas un servicio diferente, simplemente especificas el nombre del host (por ejemplo, dns.adguard.com).

Características que me gustaron:

  • Tile de Ajustes Rápidos. Ahora puedes desactivar el filtrado en un segundo sin minimizar la app actual.
  • Sin consumo de batería. La app "duerme" el 99% del tiempo y solo se activa cuando presionas el botón.
  • Diseño Material 3. Se ve como una parte nativa del sistema, no como un hack de la era Android Gingerbread.

ADNS main screen ADNS settings screen ADNS settings screen

Cómo ponerlo en marcha

Dado que Android guarda sus ajustes como la niña de sus ojos, ninguna app puede cambiar el DNS del sistema así como así. Para que adns funcione, necesitas otorgarle el permiso WRITE_SECURE_SETTINGS.

Hay dos caminos. El más fácil para quienes no quieren complicarse con la consola es usar Shizuku. Esta app hace de puente entre los permisos ADB y otros programas. Si Shizuku ya está configurado, solo presionas un botón en la interfaz de adns.

La segunda opción es el ADB clásico. Conecta tu teléfono a tu computadora y ejecuta el comando:

adb shell pm grant com.eyalm.adns android.permission.WRITE_SECURE_SETTINGS

Después de esto, la magia comienza a funcionar.

Lado técnico

El proyecto está escrito en Kotlin usando Jetpack Compose. El código es sorprendentemente limpio y compacto. Si haces desarrollo móvil, te recomiendo revisar el repositorio — es un gran ejemplo de trabajo con los ajustes del sistema Android usando métodos modernos. La app es ligera y no requiere permisos innecesarios (excepto los necesarios para DNS).

¿Vale la pena probar

Si usas activamente DNS personalizados y estás cansado de navegar por los menús de ajustes — definitivamente sí. Este es uno de esos casos donde una pequeña utilidad resuelve un "punto de dolor" específico y lo hace elegantemente.

El único inconveniente que encontré: la instalación requiere una configuración única con ADB o Shizuku. Pero esa es la política de seguridad de Android, el desarrollador no puede hacer nada al respecto. Pero una vez que lo configuras — te olvidas de los anuncios para siempre.

Puedes conseguir el APK en la sección de Releases en GitHub o en el catálogo de IzzyOnDroid.

Proyectos relacionados