1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
    Information ausblenden

AdBlocking mal anders anders

Dieses Thema im Forum "Software-Tutorials" wurde erstellt von Skeeve, 14.01.08.

  1. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Gerade habe ich tfcs "AdBlocking mal anders" Tutorial gesehen. Wenn ich das richtig verstanden habe, wird dabei einfach jede Abbfrage an einen bekannten Werbehost über DNS unterdrückt.

    Ich betreibe seit langem schon eine andere Art der Werbeblockierung, nämlich über eine passende proxy Konfigurationsdatei.

    Diese Datei nutzen Browser um herauszufinden, über welchen proxy sie gehen sollen, wenn eine bestimmte URL angefragt wird. Das wird eigentlich dazu benutzt, um z.B. firmeninterne Server direkt abzufragen und Zugriffe auf Server im Internet über verschiedene Proxies leiten zu können.

    Idee
    Die Idee hinter der Werbeunterdrückung ist nun die, bekannte Werbeserver oder auch einzelne URLs auf einen nichtexstenten Proxy umzuleiten. Das sieht dann zwar nicht unbedingt schön aus, weil man anstelle der Werbung oftmals die Meldung "Proxy refused connection" oder ähnliches sieht, aber immerhin wird man nicht durch (z.B.) nervtötende Flaswerbung erschreckt.

    Hintergrund
    Eine automatische Proxy Konfigurationsdatei ist im Prinzip nichts anderes als ein Stück JavaScript. Wer JavaScript beherrscht, kann sich diese Datei also sehr einfach selbst erstellen udn erweitern.

    Vereinfacht gesagt, läuft es so, daß der Browser die Funktion FindProxyForURL(url, host) aufruft und bekommt als Antwort
    entweder "PROXY proxyadresse" oder "DIRECT" erhält.

    Umsetzung
    Hier mal als ein Beispiel (verkürzt) meine proxy.pac mit Erläuterungen:
    Code:
    function FindProxyForURL(url, host)
    {
            // hier definiere ich meinen Nicht-Existenten Proxy
            var ignore='PROXY localhost:80';
    
            // hier wird geprüft, ob der host zur Domain google-analytics.com
            // gehört. In dem Fall wird mein "ignore"-Proxy geliefert
            if (dnsDomainIs(host, '.google-analytics.com')) return ignore;
    
            // und hier prüfe ich, ob in der URL ".google.com/analytics/" vorkommt
            if (shExpMatch(url, '`*.google.com/analytics/*')) return ignore;
    
            if (dnsDomainIs(host, '.euroclick.com')) return ignore;
    
            // für gmx wird das ganzedann etwas trickreicher
            if (shExpMatch(host, '*.gmx.*')) {
                    // ignoriert wird,
                    // wenn der Hostname mit bs beginnt 
                    if (host.substr(0,2)=='bs') return ignore;
    
                    // oder wenn da irgendwo service.gmx und count auftaucht 
                    if (shExpMatch(url, '*://service.gmx.*/*/count/*')) return ignore;
    
                    // Außerdem mag ich keine flashbanner
                    if (url=='http://service.gmx.net/ad/flashbanner_extern.js') return ignore;
    
                    // oder shockwave filmchen von gmx
                    if (shExpMatch(url, '*://www.gmx.net/*.swf*')) return ignore;
            }
    
            // RealMedia muß mich wohl auch mal genervt haben:
            if (shExpMatch(url, '*/RealMedia/ads/*')) return ignore;
    
            // und hier noch ein paar Werbehoster
            if (dnsDomainIs(host, '.falkag.de')) return ignore;
            if (dnsDomainIs(host, '.mediavantage.de')) return ignore;
            if (dnsDomainIs(host, '.tradedoubler.com')) return ignore;
    
            // Nur wer bis hierher durchgekommen ist, wieder "bedient"
            return 'DIRECT';
    }
    
    Mehr Hintergrundinformationen zu findProxyForURL gibt es im Netz.

    1. Man erstellt sich einfach eine Textdatei mit dem oben aufgeführten Inhalt.
    2. Speichert sie unter dem Namen proxy.pac (gerne auch einen anderen, aber dieser hat sich wohl eingebürgert)
    3. Richte den Browser entsprechend ein
      • FireFox
        • Firefox -> Einstellungen -> Erweitert -> Netzwerk
        • Verbindungen -> Einstellungen
        • Automatische Proyy-Konfigurations-URL: file:///Users/DeinBenutzer/proxy.pac
      • SeaMonkey
        • SeaMonkey -> Preferences -> Advanced -> Proxies
        • Automatic pdoxy configuration URL: file:///Users/DeinBenutzer/proxy.pac
      • Safari
        • Safari -> Einstellungen -> Erweitert -> Proxies: Einstellungen ändern
          (Es öffnet sich die Systemkonfiguration / Netzwerk)
        • Proxies -> Proxies konfigurieren: PAC-Datei verwenden
        • URL der PAC-Datei: file://localhost/Users/DeinBenutzer/proxy.pac
          (Oder über den Button "Datei auswählen" die Datei suchen und wählen)

    P.S. Der, von tfc verwendete Server kann dieselben Daten auch als proxy.pac liefern. In dieser Form erreichen wir also zunächt mal dasselbe Resultat, wie mit tfcs Methode. Hier können wir aber noch verfeinernd eingreifen und den Nachteil bei seiner Method:
    aus,erzen. hier müßte dann einfach das automatisch generierte
    shExpMatch(host, "*.news.de")
    ersetzt werden durch
    shExpMatch(url, "*.news.de/werbung/*")
     
    #1 Skeeve, 14.01.08
    Zuletzt bearbeitet: 14.01.08
    Flugapfel gefällt das.
  2. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Aus [thread=97875]gegebenem Anlaß[/thread] möchte ich diesen Thread mal reaktivieren.

    Da ich inzwischen sporadisch mein „Personal Web Sharing“ aktiv habe, hat sich nur eine kleine Änderung zum obigen Script ergeben. Der Port ":80" des nicht-existenten Proxies ist nun ":8080". Zur Bequemlichkeit für alle, die es nicht so mit dem Editieren haben, hänge ich hier die fertige Datei als .ZIP an.

    Einfach in (z.B.) Homedirectory:Library als proxy.pac ablegen und dann bei den Proxy Einstellung auswählen.
     

    Anhänge:

  3. Flugapfel

    Flugapfel Querina

    Dabei seit:
    10.03.06
    Beiträge:
    183
    Funtioniert prima !! Danke ! :)
     

Diese Seite empfehlen