[[Vorlage(Archiviert, "Das Projekt wird seit November 2016 nicht mehr weiter entwickelt / gewartet.")]] {{{#!vorlage Wissen [:Pakete_installieren: Pakete installieren] [:Editor: Einen Editor öffnen] [:sudo: Befehle als Root ausführen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/service.png, 48, align=left)]] [http://www.pps.jussieu.fr/~jch/software/polipo/ Polipo] {en} ist ein HTTP-Webproxy ähnlich wie [:Privoxy:]. Im Vergleich zu diesem ist Polipo kleiner und schneller, besitzt aber nicht die selben Fähigkeiten, wenn es um das Blocken von Werbung, Cookies oder generelle Header-Manipulation geht. Wer diese Aufgaben aber sowieso über einen Werbeblocker im Browser regelt und ausschließlich einen Webproxy braucht, der zum Beispiel als Schnittstelle für [:Tor:] dient, für den stellt Polipo eine schlanke Alternative dar. Die Weiterentwicklung wurde zwischenzeitlich eingestellt, da laut Programmautor heute die meisten Datenströme verschlüsselt sind, was die Filterung über einen einfachen Webproxy wie polipo unmöglich macht. = Installation = Das Programm kann aus den offiziellen Paketquellen installiert [1] werden: {{{#!vorlage Paketinstallation polipo, universe }}} = Benutzung = Nach der Installation wird Polipo als [:Dienste:Dienst] automatisch gestartet. [[Anker(browser)]] == Polipo im Browser aktivieren == Damit man über Polipo surfen kann, muss man im Browser Polipo als Proxy eintragen (siehe auch [:Proxyserver:]). Als Server- oder Hostadresse gibt man `localhost` bzw. `127.0.0.1` an. Der Port, an welchem Polipo lauscht, ist standardmäßig `8123`. = Konfiguration = Die Konfigurationsdatei von Polipo liegt in '''/etc/polipo/config''' und kann mit einem Editor [2] mit Root-Rechten [3] verändert werden. Wenn man Änderungen vorgenommen hat, muss man den Dienst neu starten, damit die Einstellungen aktiviert werden: {{{ sudo /etc/init.d/polipo restart }}} [[Anker(weiterleitung)]] == Weiterleitung einrichten == Möchte man Polipo auf einen Socks-Proxy wie zum Beispiel Tor weiterleiten lassen, muss man in der Konfigurationsdatei das Kommentar-Zeichen (`#`) vor zwei Zeilen entfernen und die Kombination `IP-ADRESSE:PORT` und die Art des Socks-Proxys ergänzen. Wenn die Zeilen nicht existieren, kann man sie einfach hinzufügen. Für einen Socks5-Proxy, der am lokalen Rechner an Port `9050` lauscht, sehen sie so aus: {{{ socksParentProxy = "127.0.0.1:9050" socksProxyType = socks5 }}} Zu Beachten: `localhost` funktioniert hierbei als `socksParentProxy` nicht, Polipo reagiert mit der Fehlermeldung `Host not Found`, die statt der gewünschten URL im Browser auftaucht. == Caching deaktivieren == Soll Polipo Webinhalte zum schnelleren Zugriff auf der Festplatte zwischenspeichern, muss man in der Konfigurationsdatei das Kommentar-Zeichen (`#`) vor dieser Zeile entfernen: {{{ # diskCacheRoot = "" }}} und den entsprechenden Pfad eintragen. == Privatsphäre == Einige der wenigen Optionen, die Polipo zum Schutz der Privatsphäre bietet, erfolgen über folgende Zeile: {{{ censoredHeaders = OPTION1,OPTION2,OPTION3,... }}} Mögliche Optionen sind: `from`, `Accept-Language` oder `User-Agent`, um den jeweiligen Abschnitt aus den Headern der HTTP-Requests zu löschen. Außerdem kann man die Zeile: {{{ censorReferer = true|false|maybe }}} erstellen, wobei `true` bedeutet, dass kein [wikipedia:Referrer:] gesendet wird, `false`, dass einer versandt wird und `maybe`, dass ein Referrer nur versandt wird, wenn er von der gleichen Seite stammt, die man besucht. Will man zum Beispiel den `Accept-Language`- und den `User-Agent`-Header entfernen und den Referrer permanent unterdrücken, würden die beiden Zeilen so aussehen: {{{ censoredHeaders = Accept-Language,User-Agent censorReferer = true }}} == URLs blocken == Polio bietet eine rudimentäre Funktion zum Blocken von Webseiten an (ganz oder gar nicht), unterstützt dabei aber auch reguläre Ausdrücke. Welche Webseiten blockiert werden, steht in der Datei '''/etc/polipo/forbidden'''. Diese kann mit einem Editor und Root-Rechten angepasst werden. Standardmäßig enthält die Datei schon einige auskommentierte Beispiele, die die Funktionsweise verdeutlichen. == Logging deaktivieren == Das Ubuntu-/Debian-Paket von Polipo so vorkonfiguriert, dass ein [:Logdateien:Protokoll] erstellt wird, in dem bisweilen (bei Fehlern) auch URLs gespeichert werden. Der Standardpfad für die Logdateien ist '''/var/log/polipo/'''. Um das Loggen zu deaktivieren, öffnet man mit einem Editor mit Root-Rechten die Datei '''/usr/lib/polipo/polipo-control''' und entfernt in Zeile 19: {{{ DAEMON_OPTS="-c $CONFIG_FILE pidFile=$PIDFILE daemonise=true LogFile=$LOGFILE" }}} am Ende die Option `LogFile=$LOGFILE`. Anschließend muss man in der Datei '''/etc/polipo/config''' die folgenden zwei Zeilen einfügen: {{{ logSyslog = false logFile = "/dev/null" }}} Nach einem Neustart wird Polipo nun keine Logfiles mehr anlegen. = Problembehebung = == Object not in Cache == Erhält man diese oder eine ähnliche Meldung im Browser, wenn man versucht, über Polipo zu surfen, sollte man mal im Terminal den folgenden Befehl ausführen: {{{#!vorlage Befehl ps aux | grep polipo | grep -v "grep" }}} Die Ausgabe kann z.B. so aussehen: {{{ proxy 6001 0.0 0.3 4852 3520 ? Ss 17:55 0:00 /usr/bin/polipo -c /etc/polipo/config pidFile=/var/run/polipo/polipo.pid daemonise=true logFile=/var/log/polipo/polipo.log forbiddenFile=/etc/polipo/forbidden proxyOffline=true }}} Entscheidend ist die letzte Option `proxyOffline`. Steht diese auf `true`, bedeutet dies, dass Polipo nur im Offline-Betrieb arbeitet. Das kann zwei Ursachen haben. Entweder hat man in der Datei '''/etc/polipo/config''' die Option `proxyOffline = true` gesetzt oder man ist von einem [bug:207159:Fehler] {en} in Polipo betroffen. Das Problem entsteht, weil Polipo unter Umständen gestartet wird, bevor eine Netzwerkverbindung besteht und deswegen automatisch den Offline-Modus aktiviert. Um das Problem zu beheben, fügt man zuerst in der Datei '''/etc/polipo/config''' die Zeile: {{{ proxyOffline = false }}} ein. Danach öffnet man die Datei '''/usr/lib/polipo/polipo-control''' und ersetzt ungefähr in Zeile 24 den folgenden Text: {{{ if /sbin/route -n | grep ^0.0.0.0 > /dev/null; then }}} durch diesen: {{{ if [ `grep -v "#" /etc/polipo/config | grep proxyOffline | sed s/" "//g | sed s/proxyOffline=//` = "false" ] || /sbin/route -n | grep ^0.0.0.0 > /dev/null; then }}} Nach einem Neustart des Rechners sollte das Problem behoben sein. = Links = * [http://www.pps.jussieu.fr/~jch/software/polipo/ Projektseite] {en} * [http://www.pps.jussieu.fr/~jch/software/polipo/faq.html FAQ] {en} - häufige Fragen und Antworten * [http://www.pcwelt.de/ratgeber/Schneller-surfen-dank-Raspberry-Pi-als-LAN-Proxy-Linux-Hardware-9605756.html Artikel Raspberry Pi als LAN-Proxy] {de} PC-Welt * [:Serverdienste#Proxyserver:] - weitere Proxyserver # tag: Internet, Netzwerk, Server, Anonymität, Proxy