Wie ich aufhörte, mich mit DNS-Einstellungen auf Android herumzuplagen
Vertraute Situation: Du entscheidest dich, einen persönlichen DNS-Server einzurichten, um Werbung in Apps und im Browser loszuwerden. Du öffnest die Android-Einstellungen, wühlst dich durch die Tiefen des Verbindungsmenüs, suchst nach der Option „Privates DNS", gibst die Hostadresse ein... Und das jedes Mal, wenn du prüfen musst, ob eine Website oder App wegen DNS „kaputt gegangen" ist. Unter Android ist diese Einstellung so tief versteckt, als ob Google absichtlich die Werbeeinnahmen schützen würde.
Kürzlich bin ich auf ein kleines Tool namens adns vom Entwickler eyalm2000 gestoßen. Es ist ein Open-Source-Tool, das eine einfache Sache erledigt: Es bringt den DNS-Schalter des Systems direkt auf den Startbildschirm oder in den Benachrichtigungsbereich.
Was ist der Vorteil
Das Problem bei den meisten Werbeblockern unter Android ist, dass sie entweder als lokaler VPN-Dienst oder als Hintergrunddienst funktionieren. Das entlädt unweigerlich den Akku, belegt Platz in den Benachrichtigungen und steht manchmal im Konflikt mit echten VPN-Clients.
adns funktioniert anders. Es führt keine Hintergrundprozesse aus. Im Wesentlichen ist es eine leichtgewichtige GUI für die Systemeinstellung „Privates DNS", die bereits seit Android 9 existiert. Die App schaltet lediglich eine globale Systemvariable um.
Wem das nützt:
- NextDNS-Nutzer (für sie ist es quasi das Paradies mit direkter Integration)
- Alle, die AdGuard DNS, Cloudflare oder eigene Pi-hole/AdGuard-Home-Server verwenden
- Entwickler, die für das Testen von Websites schnell den DNS wechseln müssen
Ein paar Klicks und sauberes Internet
Am praktischsten an der App ist die NextDNS-Integration. Wenn du ein Konto hast, kannst du dich direkt in der App anmelden, das gewünschte Profil auswählen und seine Einstellungen im Handumdrehen ändern. Wenn du einen anderen Dienst verwendest, gibst du einfach den Hostnamen an (zum Beispiel dns.adguard.com).
Funktionen, die mir gefallen haben:
- Quick-Settings-Kachel. Jetzt kannst du das Filtern in einer Sekunde deaktivieren, ohne die aktuelle App zu minimieren.
- Kein Akkuverbrauch. Die App „schläft" 99 % der Zeit und wacht nur auf, wenn du die Taste drückst.
- Material-3-Design. Sieht aus wie ein nativer Teil des Systems, nicht wie ein Hack aus der Android-Gingerbread-Ära.
So richtest du es ein
Da Android seine Einstellungen wie den Augapfel hütet, darf keine App einfach so die System-DNS ändern. Damit adns funktioniert, musst du ihm die Berechtigung WRITE_SECURE_SETTINGS erteilen.
Es gibt zwei Wege. Am einfachsten für alle, die nicht mit der Konsole hantieren wollen, ist die Verwendung von Shizuku. Diese App überbrückt ADB-Berechtigungen an andere Programme. Wenn Shizuku bereits konfiguriert ist, drückst du einfach eine Taste in der adns-Oberfläche.
Die zweite Option ist klassisches ADB. Verbinde dein Telefon mit dem Computer und führe den Befehl aus:
adb shell pm grant com.eyalm.adns android.permission.WRITE_SECURE_SETTINGS
Danach beginnt die Magie zu funktionieren.
Technische Seite
Das Projekt ist in Kotlin unter Verwendung von Jetpack Compose geschrieben. Der Code ist überraschend sauber und kompakt. Wenn du Mobile-Entwicklung betreibst, empfehle ich dir, einen Blick in das Repository zu werfen – es ist ein großartiges Beispiel für die Arbeit mit Android-Systemeinstellungen unter Verwendung moderner Methoden. Die App ist leichtgewichtig und benötigt keine unnötigen Berechtigungen (außer denen, die für DNS nötig sind).
Lohnt es sich?
Wenn du aktiv benutzerdefinierte DNS verwendest und es leid bist, dich durch Einstellungsmenüs zu klicken – auf jeden Fall ja. Das ist einer dieser Fälle, in denen ein kleines Tool einen bestimmten „Schmerzpunkt" löst und das elegant tut.
Den einzigen Nachteil, den ich gefunden habe: Die Installation erfordert eine einmalige Einrichtung mit ADB oder Shizuku. Aber das ist Androids Sicherheitsrichtlinie, der Entwickler kann nichts dafür. Aber sobald du es eingerichtet hast – vergisst du Werbung für immer.
Du kannst das APK im Releases-Bereich auf GitHub oder im IzzyOnDroid-Katalog herunterladen.
Ähnliche Projekte