So entfernen Sie Werbung mit Pixelserv auf DD-WRT
Es gibt zahlreiche Möglichkeiten, Werbung in Ihrem Browser zu blockieren. Was aber, wenn Sie sie auf dem Router blockieren könnten? So verwenden Sie die DD-WRT-Firmware und das gezielte "DNS-Poisoning", um Anzeigen für jedes Gerät in Ihrem Netzwerk zu blockieren.
Überblick
Aktualisieren: Leitfaden aktualisiert, um das Feedback der Kommentatoren zu reflektieren, und das Anti-Ads-Paket mit der neueren ausführbaren Datei des Pixelservers und einem Änderungsprotokoll aktualisiert.
Die erste Frage, die sich derzeit jeder beschäftigt, lautet: "Warum nicht einfach Ad-Block verwenden?"
Für viele Menschen gibt es einfach keinen Grund, insbesondere mit der neuen Fähigkeit von chrome, die von Ihnen verwendeten Erweiterungen auf jedem Computer zu replizieren, auf dem Sie Chrome ausführen.
Die Antwort liegt irgendwo zwischen dem reduzierten Aufwand, nicht alle Benutzer in Ihrem Netzwerk über Ad-Block unterrichten zu müssen (ich spreche mit Ihnen, Mutter, Schwester, Oma und Bürokauffrau) und der Bequemlichkeit, sich nicht damit beschäftigen zu müssen jeden Computer, den Sie einrichten. Es wird davon ausgegangen, dass es in Ihrem Netzwerk einige Computer gibt, auf denen Sie Ihre persönliche Umgebung nicht konfigurieren werden (z. B. "Core Server" oder VMs)..
Hinweis: Obwohl ich die Methode unten auf meinem Heimrouter verwende, fand ich, dass Ad-Block eine hervorragende Ergänzung dazu ist, und empfehle die Verwendung beider Methoden in Verbindung. Auch wenn Sie keinen DD-WRT-Router mit Ad-Block haben, ist dies mehr als ausreichend. Ich mag das Programm so sehr, ich habe an seinen Entwickler gespendet und ich ermutige jeden, dies zu tun, um die Entwicklung weiterzuführen.
Wie funktioniert es?
Im Wesentlichen funktioniert dies, indem wir unser DNS absichtlich vergiften, um eine bestimmte IP-Adresse für Domänen in einer nicht genehmigten Liste zurückzugeben. Diese nicht genehmigte Liste enthält Domänennamen von Websites, die ausschließlich für die Bereitstellung von Werbeinhalten verantwortlich sind. Wir werden sie also nicht vermissen.
Wir werden einen sekundären HTTP-Server auf dem Router einrichten, um ein transparentes Bild mit einem Pixel als Antwort für jede URL-Anforderung bereitzustellen. In Verbindung mit der "falschen" Auflösung des DNS werden die Netzwerkclients den Inhalt von unserem internen Pixelserver abfragen und als Antwort ein leeres Bild erhalten.
Um die nicht genehmigte Liste zu erstellen, erstellen wir eine persönliche Liste in Verbindung mit zwei dynamisch heruntergeladenen Listen. Bei den dynamischen Listen handelt es sich um die MVPS-Hostdatei und die Yoyo-Domänenliste. Zusammen enthalten sie eine sehr umfangreiche Liste von Werbeseiten. Wenn Sie diese Listen nutzen, müssen wir nur das Delta von Websites hinzufügen, die noch nicht in einer dieser Websites enthalten sind.
Wir werden auch eine "Whitelist" für Domains einrichten, die aus keinem Grund blockiert werden sollen.
Voraussetzungen und Annahmen
- Geduld junger, das ist eine lange Lektüre.
- Dieses Verfahren wurde mit DD-WRT (v24pre-sp2 10/12/10 mini) erstellt und getestet r15437), sollten Sie diese Version bereits auf Ihrem Router installiert haben, um sie verwenden zu können. Weitere Informationen finden Sie auf der DD-WRT-Site.
- Zur Vereinfachung der Erklärungen wird davon ausgegangen, dass der Router auf die werkseitigen Standardeinstellungen zurückgesetzt wurde oder dass die verwendeten Einstellungen seitdem nicht mehr als ihre Standardeinstellungen verwendet wurden.
- Der Client-Computer verwendet den Router als DNS-Server (dies ist die Standardeinstellung)..
- Platz für JFFS (im Zweifelsfall empfehle ich die Mini Version von DD-WRT).
- Es wird davon ausgegangen, dass Ihr Netzwerk * bereits festgelegt ist und dass es sich um eine Klasse C (eines mit einem Subnetz von 255.255.255.0) als letzte IP in diesem Klasse-C-Netzwerk (x.y.z) handelt.254) Wird dem Pixel-Server-Programm zugewiesen.
- Die Bereitschaft, winSCP zu installieren.
* Das Skript kann die Blocklisten nach dem ersten Lauf erst nach dem nächsten Aktualisierungszyklus (3 Tage) anpassen..
Credits
Aktualisieren: Besonderer Dank geht an "mstombs" für das großartige Stück C-Code, ohne dass dies alles nicht möglich wäre. "Oki" für das Kompilieren der Atheros-kompatiblen Version und des Zitats ;-) und "Nate" für die Unterstützung beim QA-ing.
Während es an meinem Ende eine Menge Arbeit gab, um dieses Verfahren zu perfektionieren, wurde die Inspiration dafür von den Jungs des DD-WRT-Forums angeregt, und einige der Grundlagen dieses Leitfadens finden Sie unter „Ad-Blocking with DD- WRT revisited (simple) "," Pixelserv ohne Perl, ohne jffs / cifs / usb-frei "und" Flexion.Org Wiki on DNSmasq "sowie andere.
Lass uns krachen
Aktivieren Sie SSH für den SCP-Zugriff
Durch die Aktivierung von SSH können wir uns wiederum über das SCP-Protokoll mit dem Router verbinden. Wenn dies aktiviert ist, können Sie dann mit dem Programm winSCP visuell durch die Ordnerstruktur des Routers navigieren (wie wir später sehen werden)..
Wechseln Sie dazu mithilfe der Web-GUI zur Registerkarte "Dienste". Suchen Sie den Abschnitt "Secure Shell" und klicken Sie auf das Optionsfeld "Enable" (Aktivieren) für die SSHd-Einstellung.
Danach sollte das WebGUI wie folgt aussehen und Sie können auf "Speichern" klicken (nicht noch bewerben).
Aktivieren Sie JFFS
Um dieses Setup so zu gestalten, wäre das so stabil, reproduzierbar und * ein "guter Internet-Bürger" sein, werden wir JFFS verwenden, um so viele Konfigurationen wie möglich zu speichern. Es gibt andere Möglichkeiten, dies zu tun, ohne JFFS zu aktivieren, wenn Sie aufgrund von Platzbeschränkungen nicht kippen können. Diese werden hier jedoch nicht behandelt.
* Bei anderen Methoden lädt Ihr Router bei jeder Ausführung des Skripts die ausführbaren und dynamischen Listen des Pixelservers herunter. Da dies die Server mit den Listen und der ausführbaren Datei belastet und dies für jemanden Geld kostet, versucht diese Methode dies möglichst zu vermeiden.
Wenn Sie nicht wissen, was JFFS ist, sollte diese Erklärung, die aus dem DD-WRT-Wiki-Eintrag zu JFFS entnommen wurde, die folgenden Dinge klären:
Mit dem Journaling Flash File System (JFFS) können Sie ein beschreibbares Linux-Dateisystem auf einem DD-WRT-fähigen Router einrichten. Es wird verwendet, um Benutzerprogramme wie Ipkg und Daten in einem ansonsten nicht zugänglichen Flash-Speicher zu speichern. Dadurch können Sie benutzerdefinierte Konfigurationsdateien speichern, benutzerdefinierte Webseiten hosten, die auf dem Router gespeichert sind, und viele andere Dinge, die ohne JFFS nicht möglich sind.
Um JFFS auf Ihrem Router zu aktivieren, gehen Sie zur Registerkarte "Administration" und suchen Sie den Abschnitt "JFFS". Das Bild unten zeigt, wo Sie diesen Abschnitt auf der Registerkarte "Administration" finden.
Klicken Sie im Abschnitt "JFFS2-Support" auf die Optionsfelder "Aktivieren" für "JFFS2" und (wenn diese angezeigt werden) auf "Clean JFFS2". Klicken Sie nach der Auswahl auf "Speichern"..
Wenn die Einstellungen gespeichert wurden und sich noch auf der Registerkarte "Administration" befinden, starten Sie den Router mit der Schaltfläche "Reboot Router" neu. Dadurch werden die Einstellungen angewendet und das erforderliche „Format“ der JFFS-Partition ausgeführt..
Wenn die webGUI nach dem Neustart auf die Registerkarte "Administration" zurückkehrt, warten Sie noch eine halbe Minute, und aktualisieren Sie die Seite.
Bei Erfolg sollten Sie sehen, dass Ihre JFFS-Halterung wie im Bild etwas freien Speicherplatz hat.
Pixel-Server-Setup
Laden Sie das Anti-Ads-Paket für das dd-wrt zip-Archiv herunter, das die ausführbare Datei des Pixelservers enthält (wir nehmen kein Guthaben an, vermeiden Sie "Hot Linking"), das Script für die Werbeblocker (geschrieben von Ihnen wirklich) und das Personal- Domain-Liste erstellt von Mithridates Vii Eupator und mir.
Es ist an der Zeit, die Dateien in den JFFS-Mount des Routers zu laden. Installieren Sie dazu winSCP (es handelt sich um den Setup-Typ "next -> next -> finish") und öffnen Sie es.
Füllen Sie im Hauptfenster die Informationen wie folgt aus:
Hostname: IP Ihres Routers (Standard ist 192.168.1.1)
Portnummer: unverändert bei 22 lassen
Nutzername: Wurzel (selbst wenn Sie den Benutzernamen für die webGUI geändert haben, ist der SSH-Benutzer immer * root *))
Private Schlüsseldatei: Lassen Sie dieses Feld leer (dies ist nur erforderlich, wenn Sie eine auf Schlüsselpaaren basierende Authentifizierung erstellen, die wir nicht haben).
Dateiprotokoll: SCP
Wir müssen auch die „Lookup-Benutzergruppe“ wie unten gezeigt deaktivieren (danke an Mstombs für diesen Hinweis), da winSCP auf der anderen Seite ein volles Linux erwartet, das die Entwickler von DD-WRT trotz all der hervorragenden Arbeit nicht leisten konnten (hauptsächlich, weil einfach nicht genug Platz zur Verfügung steht). Wenn Sie diese Option aktiviert lassen, werden Sie beim Verbinden und Speichern bearbeiteter Dateien auf beängstigende Nachrichten stoßen.
Wählen Sie Erweitert aus, und deaktivieren Sie die Option "Benutzergruppen suchen"..
Obwohl dies optional ist, können Sie die Einstellungen jetzt für eine spätere Verwendung speichern. Wenn Sie sich entscheiden, die Einstellungen zu speichern, was empfohlen wird, wird empfohlen, dass Sie das Kennwort speichern (trotz der ausgesprochenen Schreie aus dem "Sicherheitsparanoiden" -Asyl, dass wir die Existenz von SSH entweihen).
Dann sieht Ihr Hauptfenster wie auf dem Bild aus, und Sie müssen nur einen Doppelklick auf den Eintrag ausführen, um eine Verbindung zum Router herzustellen.
Wenn Sie sich zum ersten Mal mit dem Router verbinden, werden Sie von winSCP gefragt, ob Sie dem Fingerabdruck der anderen Seite vertrauen möchten. Klicken Sie auf "Ja", um fortzufahren.
Die Entwickler von DD-WRT haben eine Banner-Begrüßungsnachricht mit Informationen zur installierten Firmware implementiert. Einmal rot, klicken Sie auf das Kontrollkästchen "Dieses Banner nie mehr anzeigen" und "Weiter"..
Sobald Sie verbunden sind, navigieren Sie zum obersten Ordner (AKA-Root „/“) und gehen Sie dann zurück zu „/ jffs“, da dies der einzige dauerhaft beschreibbare Ort im Dateisystem des Routers ist („/ tmp“ hält Neustarts nicht aus und der Rest ist schreibgeschützt).
Erstellen Sie einen neuen Ordner, indem Sie F7 drücken oder mit der rechten Maustaste auf eine leere Stelle klicken, den Mauszeiger über "Neu" bewegen und auf "Verzeichnis" klicken..
Benennen Sie das neue Verzeichnis "dns". Wir erstellen dieses Verzeichnis, um die Dinge im jffs-Verzeichnis für die zukünftige Verwendung zu organisieren und weil wir hauptsächlich die Funktionsweise des DNS-Dienstes ändern.
Kopieren Sie die Dateien "pixelserv" und "disable-adds.sh" aus dem Zip-Archiv des anti-ads-pack-for-dd-wrt-Archivs, indem Sie sie auswählen (verwenden Sie die Taste "Einfügen"), drücken Sie "F5" und dann "Kopieren" ”.
Hinweis: Wenn Ihr Router auf Atheros basiert (Sie können dies im DD-WRT-Wiki überprüfen), müssen Sie den von Oki bereitgestellten Pixelserv_AR71xx verwenden, der im Pack enthalten ist, und ihn in „Pixelserv“ umbenennen, bevor Sie fortfahren.
Sobald sich die Dateien auf dem Router befinden, müssen wir sie ausführbar machen, indem Sie sie auswählen (erneut "Einfügen" verwenden). Klicken Sie mit der rechten Maustaste und dann auf "Eigenschaften"..
Klicken Sie im Eigenschaftenfenster auf das "X" für die Zeile "Owner". Dadurch erhalten die Dateien Ausführungsberechtigungen.
Router-Einstellungen
Nun, da die Bühne eingestellt ist, können wir dem Router mitteilen, dass er das Script zum Blockieren von Werbung beim Start ausführen soll.
Gehen Sie dazu im webGUI auf die Registerkarte "Administration" und dann auf die Registerkarte "Commands".
Geben Sie im Textfeld "Befehle" die Position des Skripts als "/jffs/dns/disable_adds.sh" wie in der Abbildung ein und klicken Sie auf "Start speichern"..
Bei Erfolg sollte das Skript Teil des Startvorgangs des Routers sein, wie in der Abbildung oben.
Einrichten der Liste der persönlichen blockierten Domänen (optional)
Mit dieser Liste können Sie Domänen zu den nicht genehmigten Listen hinzufügen, wenn Sie feststellen, dass die beiden dynamischen Listen nichts festhalten.
Um dies zu tun, gibt es zwei Optionen, und sie funktionieren zusammen, so dass Sie beide entsprechend dem für Sie bequemsten verwenden können.
Hinweis: Das Syntax ist wichtig, Da wir tatsächlich Konfigurationsanweisungen erstellen, die der DNSMasq-Daemon (der Prozess, der für die Umwandlung von DNS-Namen in IP verantwortlich ist) direkt verwenden wird. Daher führt eine falsche Syntax hier zum Absturz und der Router kann die IP-Adressen für Domänennamen nicht auflösen (Sie wurden ermahnt)..
Um die störenden Domänennamen zu finden, die gesperrt werden sollen, können Sie unser Handbuch "Die geheimen Nachrichten in Kopfzeilen der Website suchen" als Leitfaden verwenden. Die Schritte zum Suchen der Namen der Werbe-Domains sind praktisch gleich, nur dass Sie in diesem Fall anstelle einer Nachricht eine Adresse suchen.
Der Erste Zugegebenermaßen ist der Zugriff auf die Liste in der Konfigurationsbox "DNSMasq" in der wegGUI möglich. Dies ist deshalb so, weil, um diese Liste hinzuzufügen, einfach auf die webGUI zugegriffen werden kann, anstatt unter die Haube zu gehen, um Änderungen vorzunehmen.
Gehen Sie zur Registerkarte "Dienste", suchen Sie den Abschnitt "DNSMasq" und dort das Textfeld "Zusätzliche DNSMasq-Optionen".
Geben Sie in dieses Textfeld die Liste der Domänen ein, die Sie mit der Syntax "Adresse = / Domänenname-zu-Block / Pixel-Server-IP" blockieren möchten, wie in der folgenden Abbildung dargestellt:
Wobei in diesem Beispiel die "192.168.1.254" die IP ist, die basierend auf der "Netzwerkadresse" Ihres LAN für den Pixelserver generiert wird. Wenn Ihre Netzwerkadresse etwas anderes als 192.168.1.x ist, müssen Sie die Adresse für den Pixelserver entsprechend anpassen.
Wenn Sie fertig sind, klicken Sie unten auf der Seite auf "Speichern" (noch nicht zutreffend)..
Der Zweite Die Option besteht darin, die Liste der Domänen, die Sie blockieren möchten, mit der Datei "personal-ads-list.conf" zu kombinieren, die ich und "Mithridates Vii Eupator" zusammengestellt haben. Diese Datei ist Teil des ZIP-Archivs, das Sie zuvor heruntergeladen haben, und ist ein guter Start für beide Methoden.
Verwenden Sie ggf. Ihren bevorzugten Texteditor, um die IP des Pixelservers anzupassen (hier gelten die gleichen Einschränkungen wie oben). Dann kopieren Sie es einfach in das Verzeichnis „/ jffs / dns“, da Sie die anderen Dateien haben. Sobald es dort ist, können Sie es mit winSCP bearbeiten und Domänen hinzufügen.
Whitelist einrichten
Dies ist die Liste der Domänen, die in den dynamischen Listen "Hosts" und "Domänen" nicht aufgeführt werden.
Dies ist notwendig, da das bloße Blockieren einiger Domänen zu einer Fehlfunktion von Websites führt, die diese verwenden. das bemerkenswerteste Beispiel ist "google-analytics.com".
Wenn wir die Domain blockieren, ändert dies nichts an der Tatsache, dass Websites, die sie verwenden, von Ihrem Browser ein JavaScript heruntergeladen werden, das bei Ereignissen wie dem Verlassen einer Seite ausgeführt wird. Dies bedeutet, dass Ihr Browser bei einer solchen Website versucht, durch das Kontaktieren der google-Domain „nach Hause zu rufen“, die Antwort nicht versteht und Sie müssen warten, bis das Skript abgelaufen ist, um zur nächsten Seite zu gelangen. Das ist kein angenehmes Surferlebnis, und daher ist jede Domain, die "google-analytics" und "googlead services" enthält, * von der Filterung hart ausgenommen.
Diese Liste wird für Sie mit den oben genannten Domänen erstellt, wenn das Skript zum ersten Mal im Verzeichnis "/ jffs / dns" ausgeführt wird.
Um die Whitelist zu verwenden, öffnen Sie die Datei mit winSCP und **pendeln in der Liste die Domains, die ausgeschlossen werden sollen, wobei darauf zu achten ist, dass keine leeren Zeilen verbleiben (eine leere Zeile löscht alle Domains aus allen Listen).
* Während das Skript beim ersten Durchlauf die Whitelist mit den darin enthaltenen Domänen erstellt, besteht es NICHT für zukünftige Läufe auf ihren Geschenken. Wenn Sie der Meinung sind, dass Google trotz der oben genannten Probleme blockiert sein sollte, können Sie die Domains von der Whitelist entfernen.
** Sie müssen die neuen gewünschten Domänen am Anfang der Liste eingeben. Dies liegt an einem Fehler, wie bash neue Zeilen interpretiert ... Entschuldigung, dass ich noch keine Lösung dafür habe.
Ausführung
Jetzt ist es an der Zeit, das Skript aufzurufen und die Ergebnisse anzuzeigen, indem der Router einfach neu gestartet wird.
Um dies über das webGUI zu tun, gehen Sie auf der Registerkarte "Administration" zurück zu "Management". Klicken Sie unten auf der Seite auf "Reboot router" und warten Sie, bis der Router wieder hochgefahren ist.
Es kann einige Minuten dauern, bis das Skript seine Aufgaben zum ersten Mal erfüllt.
Bei Routern vom Typ WRT54Gx wissen Sie, wann die Ausführung des Skripts abgeschlossen ist, da die orangefarbene Cisco-LED an der Vorderseite des Routers blinkt (andere Router sollten ein ähnliches "Tail-Tail" -Zeichen haben)..
Update: Dieser Teil wurde * entfernt, nachdem festgestellt wurde, dass er keine Hardware-unabhängige Funktion ist.
Da wir versuchen, das Fehlen von Elementen im Web zu erkennen, empfehle ich, einfach auf ein paar Websites zu surfen, um die Auswirkungen zu sehen.
Wenn Sie jedoch sicherstellen möchten, dass die Prozedur erfolgreich war, ist der erste Debug-Schritt im Abschnitt "Fehlerbehebung" ein guter Ausgangspunkt.
* Es ist tatsächlich auskommentiert, sodass Sie es wiederherstellen können, wenn Sie sicher sind, dass es keine Probleme bei der Installation verursacht.
Genießen!
Fehlerbehebung
Wenn Sie auf Probleme stoßen, gibt es ein paar Dinge, mit denen Sie überprüfen können, was schief gelaufen ist.
- Testen Sie, ob die Ankündigungsdomäne in die Pixelserv-IP-Adresse aufgelöst wird.
Sie können dies tun, indem Sie den Befehl "nslookup" gegen die "beleidigende" Domäne ausgeben. Zum Beispiel ist "ad-emea.dubleclick.com" Teil der gesperrten Hosts aus der persönlichen Liste. Wenn Sie in einer Eingabeaufforderung "nslookup ad-emea.dubleclick.com" ausgeben, sollte das Ergebnis folgendermaßen aussehen:
Wo eine normale, nicht blockierte Antwort aussehen würde: - Mache vorbei.
Um sicherzustellen, dass beim Setup Ihres Routers nichts mit der Konfiguration der Anzeigenblöcke kollidiert, stellen Sie den Router auf "Factory Defaults" (Werkseitige Standardeinstellungen) wieder her und versuchen Sie es erneut. Sobald Sie erfolgreich sind, fügen Sie Ihre benutzerdefinierten Änderungen in der Hoffnung hinzu, dass sie nicht erneut kollidieren. - Stellen Sie sicher, dass Ihr Client den Router als DNS verwendet.
Insbesondere wenn Sie ein VPN oder ein Netzwerk verwenden, das komplexer ist als der normale Router-Computer-Setup, ist es möglich, dass Ihr Client-Computer den Router einfach nicht als DNS verwendet. Im obigen Befehl ist sehr einfach zu sehen, welchen DNS-Server der Client verwendet. Wenn die IP-Adresse nicht mit dem des Routers übereinstimmt, haben Sie das Problem gefunden. - Löschen Sie den DNS-Cache Ihres persönlichen Computers.
Dies ist darauf zurückzuführen, dass Sie ansonsten möglicherweise die Anzeigen auf der Website sehen, mit der Sie testen, einfach weil Ihr Computer bereits weiß, wie er den Werbeinhalt selbst abrufen kann, ohne den DNS zu konsultieren. Unter Windows wäre dies "ipconfig / flushdns".. - Schließen Sie den Browser.
Manchmal speichert der Browser die Informationen im Cache, sodass es nicht hilfreich ist, den DNS-Cache wie oben gezeigt zu löschen. - Wenn Sie Zweifel haben, starten Sie den Computer neu.
Manchmal können die Caches bestehen bleiben und der beste Weg, um sie loszuwerden, ist einen Neustart. Beginnen Sie mit dem Router und wenn das Problem weiterhin besteht, dem Clientcomputer. - Verwenden Sie syslog.
Sie können den Syslog-Daemon des Routers aktivieren und dann die Nachrichten überprüfen, um festzustellen, ob das Skript auf Probleme stößt, indem Sie die entsprechenden Nachrichten überprüfen. Außerdem fügt das Skript einige Befehls-Aliase hinzu, um das Debuggen zu vereinfachen.
Gehen Sie dazu auf die Registerkarte "Services" und aktivieren Sie den Syslog-Daemon wie in der folgenden Abbildung:
Hinweis: Der "Remote-Server" wird verwendet, wenn Sie auf einem anderen Computer einen hörenden Syslog-Server haben (z. B. mit KiwiWenn Sie keine haben, lassen Sie es einfach leer.
Nach der Aktivierung können Sie die Debugmeldungen anzeigen, indem Sie auf das Verzeichnis schauen / var / logs / messages Datei in einem Terminal.
* Um ALLE Meldungen beim Booten zu sehen, können Sie "more / var / log / messages" verwenden..
* Um nur die Meldungen aus dem Skript im Protokoll anzuzeigen, verwenden Sie den Alias „clog“.
* Um zu sehen, wie die Nachrichten in Echtzeit eingehen, verwenden Sie "tail -f / var / log / messages" oder den Alias "tlog".. - Verstehe das Skript.
Obwohl ich dieses YouTube-Video für eine ältere Version dieses Handbuchs und des Skripts erstellt habe, enthält es immer noch viele Wahrheiten und Erklärungen, die sich auf die Funktionsweise der neuen und verbesserten Version beziehen.