Hoe ik Stopte met Te Vechten tegen DNS-instellingen op Android
Bekende situatie: je besluit een persoonlijke DNS-server in te stellen om ads in apps en browsers kwijt te raken. Je gaat naar Android-instellingen, graaft door de dieptes van het verbindingsmenu, zoekt naar de "Private DNS"-optie, voert het hostadres in... En dit elke keer dat je moet controleren of een site of app "kapot" is gegaan door DNS. Op Android is deze instelling zo diep verborgen, alsof Google expres de advertentie-inkomsten beschermt.
Onlangs stuitte ik op een klein hulpprogramma genaamd adns, ontwikkeld door eyalm2000. Het is een open-source tool die één simpele ding doet: de systeem-DNS-schakelaar rechtstreeks op het startscherm of in het meldingencentrum plaatst.
Wat is het voordeel
Het probleem met de meeste ad blockers op Android is dat ze werken als een lokale VPN-service of als een achtergrondservice. Dit verbruikt onvermijdelijk batterij, neemt ruimte in beslag in meldingen, en komt soms in conflict met echte VPN-clients.
adns werkt anders. Het voert geen achtergrondprocessen uit. Essentieel is het een lichtgewicht GUI voor de systeeminstelling voor Private DNS die verscheen in Android 9. De app schakelt simpelweg een globale systeemvariabele om.
Voor wie is dit nuttig:
- NextDNS-gebruikers (voor hen is het eigenlijk paradijs met directe integratie)
- Degenen die AdGuard DNS, Cloudflare, of hun eigen Pi-hole/AdGuard Home-servers gebruiken
- Ontwikkelaars die snel DNS moeten omschakelen voor het testen van sites
Een paar klikken en schone internet
Het meest handige aan de app is de NextDNS-integratie. Als je een account hebt, kun je rechtstreeks in de app inloggen, het profiel selecteren dat je nodig hebt, en de instellingen onderweg wijzigen. Als je een andere service gebruikt, geef je gewoon de hostnaam op (bijvoorbeeld, dns.adguard.com).
Functies die ik leuk vond:
- Snelle Instellingen-tegel. Nu kun je filteren uitschakelen in een seconde zonder de huidige app te minimaliseren.
- Geen batterijverbruik. De app 'slaapt' 99% van de tijd en wordt alleen wakker wanneer je op de knop drukt.
- Material 3-ontwerp. Lijkt op een native onderdeel van het systeem, niet een hack uit het Android Gingerbread-tijdperk.
Hoe het aan de praat te krijgen
Omdat Android zijn instellingen bewaakt als de appel van zijn oog, mag geen app zomaar systeem-DNS wijzigen. Om adns te laten werken, moet je het toestemming verlenen WRITE_SECURE_SETTINGS.
Er zijn twee paden. De gemakkelijkste voor degenen die niet met de console willen rommelen is Shizuku te gebruiken. Deze app overbrugt ADB-machtigingen naar andere programma's. Als Shizuku al is geconfigureerd, druk je gewoon op één knop in de adns-interface.
De tweede optie is klassieke ADB. Verbind je telefoon met je computer en voer de opdracht uit:
adb shell pm grant com.eyalm.adns android.permission.WRITE_SECURE_SETTINGS
Hierna begint de magie te werken.
Technische kant
Het project is geschreven in Kotlin met Jetpack Compose. De code is verrassend clean en compact. Als je mobiele ontwikkeling doet, raad ik aan om de repository te bekijken — het is een geweldig voorbeeld van het werken met Android-systeeminstellingen met moderne methoden. De app is lichtgewicht en vereist geen onnodige machtigingen (behalve die nodig zijn voor DNS).
Is het de moeite waard om te proberen
Als je actief aangepaste DNS gebruikt en het beu bent om door instellingenmenu's te navigeren — absoluut ja. Dit is een van die gevallen waar een klein hulpprogramma één specifieke 'pijnpunt' oplost en het elegant doet.
Het enige nadeel dat ik vond: installatie vereist een eenmalige setup met ADB of Shizuku. Maar dat is Android's beveiligingsbeleid, de ontwikkelaar kan er niets aan doen. Maar zodra je het hebt ingesteld — vergeet je ads voor eeuwig.
Je kunt de APK krijgen in de Releases-sectie op GitHub of in de IzzyOnDroid-catalogus.
Gerelateerde projecten