Big Sur: das Gute, das Böse und das Hässliche
Vor kurzem haben wir AdGuard v2.5 für Mac veröffentlicht, das unter anderem einen starken Akzent auf die Kompatibilität mit dem bald erscheinenden MacOS Big Sur legte. Der Patch v2.5.1, der vor kurzem folgte, war vollgepackt mit mehr kompatibilitätsorientierten Änderungen.
Ich muss sagen, dass es gar nicht so einfach ist, sich mit AdGuard und Big Sur anzufreunden. Apple macht es den Entwicklern dieses Jahr wirklich schwer, wenn es um MacOS geht.
Erstens liegt es an der Veralterung der Kernel Extensions. Wenn Sie unseren Blog häufig lesen, erinnern Sie sich wahrscheinlich daran, dass wir dies bereits im März erwähnt haben. Wenn Sie mehr darüber erfahren möchten, finden Sie zahlreiche Informationen zu diesem Thema, aber unterm Strich handelt es sich bei Kernel Extensions um eine API, auf die sich AdGuard in früheren Versionen stützte. Und mit Big Sur geht das MacOS zu einer neuen API über, und es ist ganz, ganz anders. Alle internen AdGuard Prozesse mussten neu aufgebaut und an die neue API angepasst werden.
Aber das ist nicht der einzige Aspekt. Die Einführung von Big Sur kommt mit Apple Wechsel von Intel-Prozessoren zu ARM. Wie Sie sich denken können, fordert es auch seinen Tribut. Schauen wir uns beide Gründe näher an.
ARM Unterstützung
Wir werden uns zuerst mit diesem Thema befassen, denn hier ist alles ziemlich unkompliziert. Apple hat den Entwicklern erlaubt, das so genannte Developer Transition Kit zu erhalten, das unter anderem einen ARM-basierten Mac Mini-Computerprototypen enthält.
Wir haben es getestet und freuen uns, berichten zu können, dass AdGuard reibungslos mit ARM-Prozessoren zusammenarbeitet.
Wechsel zu den Network Extensions
Network Extensions ist eine API, die an die Stelle der alten Kernel Extensions API tritt. Warum hat Apple es überhaupt getan? Ihr Motiv ist es, Entwickler daran zu hindern, innerhalb des Kernels zu arbeiten und sie auf den Benutzermodus zu beschränken. Und die korrekte Implementierung von Kernel Extensions ist eine ziemliche Herausforderung. Wenn Sie einen Fehler machen, stürzt das System am Ende ab. Durch den Übergang in den Benutzermodus sollten alle Funktionen, die früher nur auf Kext-Ebene implementiert werden konnten, das Betriebssystem insgesamt oder zumindest theoretisch stabiler machen. Leider hat alles seinen Preis.
Was AdGuard betrifft, so heißt die API, die wir von nun an für die systemweite Filterung verwenden müssen, wie bereits erwähnt, Network Extensions. Und - Sie haben es sich schon gedacht - die Anpassung war auch ziemlich schmerzhaft. Big Sur ist das erste Betriebssystem, das den alltäglichen Gebrauch von Network Extensions markiert. Wir haben eine riesige Anzahl von Bugs gemeldet und unzählige Stunden damit verbracht, mit Apple-Entwicklern zu reden. Zum Glück war nicht alles umsonst - alle kritischen Probleme mit den Network Extensions wurden gelöst.
Allerdings haben es nicht alle diese wesentlichen Änderungen in macOS Catalina geschafft, so dass Sie sich dort auf die alten vertrauenswürdigen Kernel Extensions verlassen müssen.
Trotz all unserer Bemühungen gibt es aber immer noch einige Einschränkungen, wenn es um Netzwerkerweiterungen geht. Hier finden Sie einen Überblick über bekannte Probleme und Möglichkeiten, diese zu beheben:
Kompatibilität mit lokalen Proxies
Es gab einige Änderungen in Bezug auf die gleichzeitige Arbeit des AdGuard mit einem Proxy. Gleich zu Beginn eine gute Nachricht: Jeder entfernte (nicht-lokale) Proxy funktioniert in Big Sur neben AdGuard normal und erfordert keine zusätzlichen Aktionen von Ihnen. Bei einem lokalen Proxy (localhost) müssen Sie diesen jedoch aus den Systemeinstellungen entfernen und im AdGuard konfigurieren.
Um einen Upstream-Proxy in AdGuard für Mac in Big Sur zu konfigurieren, öffnen Sie AdGuard Menü -> Erweitert -> Erweiterte Einstellungen.... Klicken Sie auf den Bereich Wert von upstream.proxy
Einstellung zur Konfiguration eines Proxys.
Geben Sie eine Zeichenfolge ein, die wie folgt aussieht scheme://user:password@host:port
, wo
scheme
ist entwederhttp
,https
,socks4
orsocks5
, abhängig von Ihrem Proxy-Typ.
Wenn Sie den Proxy-Typ
socks5
verwenden, setzen Sie den Wert der Einstellungupstream.proxy.socks5udp
auftrue
, damit der AdGuard UDP-Verkehr zum Proxy-Server routet.
user
undpassword
sind die entsprechenden Benutzernamen und Passwörter Ihres Proxys (falls erforderlich). Ignorieren Sie einen oder beide, wenn nicht zutreffend.host
ist die IP-Adresse Ihres Proxy-Serversport
ist die gewünschte Port-Nummer, die vom Proxy-Server verwendet werden soll
Beispiel:
socks5://localhost:6322
konfiguriert einen lokalen SOCKS5-Proxy, der auf Port 6322 lauscht und weder einen Benutzernamen noch ein Passwort benötigt.
Klicken Sie auf Übernehmen, damit der AdGuard den gesamten Datenverkehr, der ihn durchlaufen hat, an den konfigurierten Proxy-Server weiterleitet.
Anweisungen für einige beliebte lokale Proxies
Je nachdem, welchen lokalen Proxy Sie verwenden, kann es leichte Unterschiede in der Einrichtung und anderen Besonderheiten geben. Ausführlichere Anweisungen für einige beliebte Proxys (Surge, Shadowsocks) finden Sie in unserer Knowledge Base (nur auf Englisch).
VPN-Apps mit veralteter API
Obwohl AdGuard in den Systemeinstellungen als VPN angezeigt wird, sollte es beim Arbeiten mit anderen VPN-basierten Apps keine Konflikte verursachen. Wenn Sie jedoch eine VPN-basierte App verwenden, die von außerhalb des AppStore heruntergeladen wurde, besteht die Möglichkeit, dass sie die alte VPN-API verwendet, und Sie müssen sie von der Filterung ausschließen:
- Öffnen Sie AdGuard Menü.
- Wählen Sie Einstellungen....
- Wechseln Sie zur Tab Netzwerk.
- Klicken Sie auf die Schaltfläche Anwendungen....
- Suchen Sie die Anwendung, die Sie ausschließen möchten, und entfernen Sie das Häkchen in dem Kästchen daneben.
Alternativen zur Network Extension
Es ist nicht vorstellbar, jedes einzelne mögliche Problem, das in Big Sur auftauchen kann, vorherzusehen, es gibt unzählige verschiedene Hardware/Software- und Einstellungskonfigurationen. Wenn Sie Kompatibilitätsprobleme haben, wenden Sie sich bitte an unser Support-Team, aber zögern Sie nicht, zuerst eine dieser Methoden auszuprobieren:
Verwenden des Filtermodus "Automatischer Proxy".
Sie können versuchen, AdGuard in den Automatischen Proxy Modus zu schalten. Dadurch behandelt das System AdGuard wie einen Proxy und vermeidet so Kompatibilitätsprobleme, die verursacht werden durch Network Extensions.
- Öffnen Sie AdGuard Menü.
- Wählen Sie Einstellungen....
- Wechseln Sie zur Tab Netzwerk.
- Klicken Sie auf die Schaltfläche Modus auswählen....
- Wählen Sie Automatischer Proxy.
Jetzt hat AdGuard automatisch eine .pac Datei zu den Netzwerkeinstellungen Ihres Macs hinzugefügt, so dass das System AdGuard als Proxy betrachtet und versucht, den gesamten Datenverkehr über AdGuard zu leiten.
Beachten Sie, dass einige Programme diese Systemeinstellung ignorieren können und ihr Datenverkehr nicht gefiltert wird.
Aktivieren von Kernel-Erweiterungen
Dies ist eine Art letzter Ausweg. Um die Kernel-Erweiterungen zu aktivieren, müssten Sie zuerst den Systemintegritätsschutz (SIP) deaktivieren. Es hat eine Chance zu funktionieren, birgt aber auch das Risiko, mehr Probleme zu verursachen als es löst. Wenn Sie dies tun möchten, folgen Sie den Anweisungen von dieser Knowledge Base Artikel nur auf Englisch.
Noch einmal: Wir empfehlen, diese Methode nur dann anzuwenden, wenn alles andere fehlschlägt, und auch dann nur mit Vorsicht.
Zum Schluss
Wie Sie aus diesem Artikel ersehen können, ist Big Sur eine gute Nachricht, eine schlechte Nachricht und alles dazwischen. Die Zeit wird zeigen, auf welcher Seite das Pendel schwingt und ob es in Zukunft mehr Probleme oder neue Möglichkeiten geben wird. Das Beste, was Sie im Moment tun können, ist, sich mit dem Wissen aus diesem Artikel zu rüsten und sich auf mögliche Komplikationen vorzubereiten - und hoffen wir, dass Apple in den Overdrive-Modus geht und alles im Handumdrehen repariert!