ubuntuusers.deWikiPrivoxy

Privoxy

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Inhaltsverzeichnis
  1. Installation
  2. Konfiguration

./privoxy_logo.png Privoxy {en} - der Name steht für Privacy Enhancing Proxy - ist zum Schutz der Privatsphäre beim Internet-Surfen gedacht. Mit Privoxy können mit wenig Aufwand aufgerufene Webseiten nach eigenen Regeln gefiltert werden. So können beispielsweise lästige Werbebanner automatisch aus dem Seiteninhalt entfernt werden. Auch die Verfolgung des Nutzerverhaltens durch Cookies kann mit Privoxy wirkungsvoll verhindert werden. Privoxy ist ein sogenannter Content-Filtering-Proxy.

Installation

Privoxy kann direkt aus den Paketquellen installiert [1] werden. Folgendes Paket wird benötigt:

  • privoxy (universe)

Wiki/Vorlagen/Installbutton/button.png

Anschließend wird Privoxy automatisch gestartet und lauscht auf Port 8118.

Konfiguration

Privoxy wird über die Datei /etc/privoxy/config konfiguriert. Zur Einrichtung von Privoxy muss diese mit einem Editor [4] und Root-Rechten [5] bearbeitet werden. Zu blockierende Elemente werden dagegen in der Datei /etc/privoxy/user.action eingetragen (siehe auch Werbefilter einrichten). Änderungen werden automatisch übernommen werden. Wie man den Privoxy-Dienst steuert, erfährt man mit [2]:

sudo /etc/init.d/privoxy 

Weitere Einstellungen (siehe nächster Abschnitt) sind optional und nicht unbedingt erforderlich. Dann geht es weiter mit Privoxy im Browser aktivieren.

Weiterleitung

Privoxy soll seine Daten direkt an einen anderen Socks-Proxyserver weiterleiten. Dazu muss die folgende Zeile eingefügt werden:

# 5.2. forward-socks4 and forward-socks4a
# ...
forward-socks4a / IP:PORT .

Wichtig: nicht den Punkt am Ende vergessen! Sonst ignoriert Privoxy den Eintrag. IP muss mit der IP-Adresse ersetzt werden, an welcher der andere Proxy lauscht (wenn er auf dem gleichen PC läuft, ist die IP 127.0.0.1) und PORT mit der entsprechenden Nummer des Ports.

Will man eine Weiterleitung ausschließlich für bestimmte Domains einrichten, sieht die Zeile so aus:

forward .i2p localhost:4444

Dies leitet alle Aufrufe an Server, die auf *.i2p enden, an den eigenen Rechner auf Port 4444 weiter. Da keine Proxy-Art angegeben ist, erwartet Privoxy dort einen weiteren Webproxy.

Logs deaktivieren

Optional kann man innerhalb der Konfiguration das Loggen ausschalten bzw. auskommentieren. Dazu setzt man das Zeichen # an den Zeilenanfang. Beispiel:

# 2.5. logfile
# ...
# logfile logfile

# 2.6. jarfile
# ...
# jarfile jarfile

Privoxy als Dienst im LAN

Soll der Privoxy nicht nur lokal zur Verfügung stehen, sondern auch von anderen Rechnern im LAN erreichbar sein, so muss die Adresse geändert werden, auf der Privoxy lauscht. Hier muss die LAN-IP eingetragen werden. In diesem Beispiel 192.168.0.1:

# 4.1. listen-address
# ...
listen-address  192.168.0.1:8118

Dabei kann auch gleich aktiviert werden, dass Rechner aus dem lokalen Netzwerk (LAN) Privoxy über die Pseudo-Adresse http://p.p/ steuern können:

# 4.4. enable-edit-actions
# ...
enable-edit-actions 0

./privoxy_firefox.png

Privoxy im Browser aktivieren

Damit Privoxy beim Surfen genutzt wird, muss in den Netzwerkeinstellungen des Browsers der HTTP-Proxy und der Port angegeben werden:

localhost:8118

bzw.

<Server-IP>:8118

falls man Privoxy im LAN eingerichtet hat. Je nach Desktop-Umgebung können auch eigene Konfigurationswerkzeuge zur Einrichtung eines Proxys verwendet werden (siehe Proxyserver). Aber nicht jeder Browser berücksichtigt die Verwendung eines zentralen Proxys und evtl. streiken manche Programme (z.B. die Paketverwaltung). Von daher ist man mit der direkten Konfiguration nur im Browser auf der sicheren Seite.

Werbefilter einrichten

Will man die Konfiguration ändern, etwa eine Werbe-URL hinzufügen, die Privoxy nicht selbst erkennt, geht das über die Pseudo-Adresse: http://p.p

Dort gibt es den Link "View & change the current configuration". Hier auf den Button "Edit" in der Zeile /etc/privoxy/user.action klicken. Den Abschnitt suchen, bei dem unter "Actions" lediglich "+block" steht. Dort die Domain des Werbe-Servers eintragen, angeführt von einem Punkt, aber ohne ein eventuelles "http://www". Das Resultat sind z.B. Einträge wie ".altfarm.xxx.com" oder ".adserv.xxx.de". Mit "Add" fügt man die Werbe-URL hinzu.

Analog trägt man Seiten, die irrtümlich ausgeblendet werden (zu erkennen an der "Blocked"-Meldung), unter "-block" ein. Hier wird auch der Link "go there anyway" angeboten, über den man blockierten Seiten trotzdem aufrufen kann.

Hinweis:

Auch in der Zeile /etc/privoxy/default.action gibt es einen "Edit"-Button. Davon sollte man aber keinen Gebrauch machen. Hier befinden sich die grundlegenden Regeln, nach denen Privoxy filtert. Anders als /etc/privoxy/user.action wird diese Datei bei einem Update überschrieben.

EasyList

Um die Filterliste EasyList {de} (die unter anderem auch im Firefox Add-On Adblock Plus verwendet wird) für Privoxy nutzen zu können, wird das Skript privoxy-blocklist.sh {en} benötigt. Folgender Befehl lädt es herunter [3]:

wget -O privoxy-blocklist.sh "http://andrwe.org/doku.php/scripting/bash/privoxy-blocklist?do=export_code&codeblock=0" 

Damit das Skript korrekt arbeiten kann, müssen aus dem Ordner /etc/privoxy/ alle selbst angelegten Dateien zu Aktionen (.action) und Filtern (.filter) entfernt werden. Gestattet sind lediglich folgende Dateien:

  • config

  • default.*

  • global.action

  • match-all.action

  • trust

  • user.action

Außerdem sollte die Datei /etc/privoxy/config auf Einträge zu benutzerdefinierten Aktionen und Filtern kontrolliert werden.

Hinweis!

Fremdsoftware kann das System gefährden.


Anmerkung: insbesondere wenn sie mit Root-Rechten ausgeführt wird!

Nachdem man das Skript ausführbar gemacht hat, muss es mit Root-Rechten [5] gestartet werden:

sudo bash privoxy-blocklist.sh -v 1 

Nun werden automatisch:

  1. die aktuellen Filterlisten "EasyList" und "EasyList Germany" heruntergeladen

  2. für Privoxy konvertiert

  3. in den Ordner /etc/privoxy/ kopiert und

  4. in der Datei /etc/privoxy/config eingetragen

Die neue Konfiguration wird automatisch erkannt. Empfehlenswert ist – bedingt durch den Zwischenspeicher (Cache) – ein Neustart des Webbrowsers. Das Skript kann man später (beispielsweise ein- bis zweimal im Monat) immer wieder erneut ausführen, um die Filterlisten zu aktualisieren. Fortgeschrittene können sich dazu einen Cron-Job einrichten.

Die angepasste Konfiguration und alle erzeugten Listen lassen sich mit dem Befehl:

sudo bash privoxy-blocklist.sh -r 

wieder komplett und rückstandsfrei vom Rechner entfernen.

./privoxy_kinderschutz.jpg

Kinderschutz einrichten

Die folgende Idee basiert auf einer Kindersicherung {de} , die Dieter Schütze in KinderTux {de} sehr elegant umgesetzt hat. Es werden zwei Dateien mit Regeln benötigt, zur Erstellung braucht man Root-Rechte [5]:

  • /etc/privoxy/blacklist.action - einzige Regel: es ist alles verboten! Inhalt:

    {+block{Kinderschutz aktiv}}
    / # alles blockieren!
  • /etc/privoxy/whitelist.action - erlaubte Ausnahmen. Inhalt:

    {-block}
    *.privoxy.org
    *.wdrmaus.de
    *.die-maus.de
    *.hirnwindungen.de
    *.mathe-spass.de
    *.learnetix.de
    *.lerntux.de
    *.wikipedia.org
    *.wikimedia.org
    *.fragfinn.de
    *.geolino.de
    *.geo.de
    *.blinde-kuh.de
    *.br-online.de
    *.derkleinekoenig.de
    *.kika.de
    *.kindersache.de
    *.kindernetz.de
    *.seitenstark.de
    *.rbb-online.de
    *.kidsweb.de
    *.bmu-kids.de
    *.br-online.de
    *.helles-koepfchen.de
    *.kidsville.de
    *.legakids.net
    *.lilipuz.de
    *.milkmoon.de
    *.pixelkids.de
    *.pomki.de
    *.labbe.de
    *.hamsterkiste.de
    *.physikfuerkids.de
    *.sowieso.de
    *.hanisauland.de
    *.rossipotti.de
    *.wasistwas.de
    *.wolf-kinderclub.de
    *.kidnetting.de
    *.radio108komma8.de
    *.klasse-wasser.de
    *.oekolandbau.de
    *.news4kids.de
    *.primolo.de
    *.starke-pfoten.de
    *.internet-abc.de
    *.notenmax.de
    *.lucylehmann.de
    *.kidkit.de
    *.junge-klassik.de
    *.medizin-fuer-kids.de
    *.global-gang.de
    *.klickerkids.de
    *.kinderrathaus.de
    *.bayerische.staatsoper.de
    *.zum.de
    *.mechant-loup.schule.de
    *.prinzessin-knoepfchen.de
    *.1000-maerchen.de
    *.creativecommons.org

Hinweis:

Diese Liste mit Ausnahmen ist nur ein Vorschlag und muss – am besten nach Rücksprache mit den Kindern – angepasst werden! Weitere Informationen sind im Artikel Kinder zu finden.

Nun müssen diese Regeln noch aktiviert werden. Dazu bearbeitet [4] man die Datei /etc/privoxy/config mit Root-Rechten [5], sucht den Abschnitt "actionsfile", deaktiviert die vorhandenen Einträge (durch ein # am Zeilenanfang) und fügt die beiden neuen Regeln hinzu. Beispiel:

#actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
#actionsfile default.action   # Main actions file
#actionsfile user.action      # User customizations
actionsfile blacklist.action   # alle blockieren
actionsfile whitelist.action   # erlaubte Seiten

Die neue Konfiguration wird automatisch erkannt. Empfehlenswert ist – bedingt durch den Zwischenspeicher (Cache) – ein Neustart des Webbrowsers.

Weitere erlaubte Webseiten werden später einfach in /etc/privoxy/whitelist.action nachgetragen [4] [5].

Leider fehlt im Gegensatz zum Original die grafische Oberfläche, mit der man bei KinderTux neue Adressen bequem hinzufügen kann. Deutsche und für Kinder (die bereits lesen können) verständliche Fehlermeldungen erreicht man durch den Austausch der Dateien /etc/privoxy/templates/blocked {dl} und /etc/privoxy/templates/cgi-style.css {dl}.

Funktion überprüfen

Die Aktivitäten von Privoxy lassen sich im Terminal beobachten. Dazu muss die Protokollierung aktiv sein:

sudo tail -f /var/log/privoxy/logfile 

Mehr zum Thema Logdateien.

Probleme und Lösungen

Privoxy nach Neustart nicht verfügbar

Immer wieder berichten Anwender, dass Privoxy beim Systemstart scheinbar nicht automatisch gestartet wird. Zwar läuft das Programm, aber es gibt offensichtlich Probleme im Zusammenhang mit Upstart. In der Regel hilft ein manueller Neustart (des Dienstes) mit:

sudo /etc/init.d/privoxy restart 

Eine andere pragmatische Lösung ist ein automatischer Neustart via /etc/rc.local.

Chromium

Chromium bzw. Google Chrome berücksichtigt unter GNOME und KDE die systemweiten Proxy-Einstellungen automatisch. Benutzer anderer Desktop-Umgebungen wie Xfce und LXDE oder alternativer Fenstermanager müssen selbst Hand anlegen, um Privoxy verwenden zu können: Chromium Proxy-Einstellungen.

Diese Revision wurde am 7. Dezember 2011 um 11:34 Uhr von meisterplanlos erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Netzwerk, Server, Internet, Sicherheit

Passwort vergessen?