Aktualisiert/Updated: 08 February 2017

↑Deutsch

DansGuardian with Polipo
without IP-Tables for Gnome and KDE

Installation Guide for Linux Internet Filter

DansGuardian is a freely available, reliable word-based content filter offering protection from Internet filth like pornography, violence and racism. Read more at www.dansguardian.org. This Guide is based on my own experience on a single-user personal computer with Gentoo-Linux and the Gnome and XFCE4 graphical desktops installed.

If you are already a Gnome user, installation is really simple, you only need to pay attention to points 1-3 here below.

Recommended Software:

  1. DansGuardian
  2. Polipo

New! (May 13): Blocking proxy settings in Firefox and Seamonkey now easier! (s. item 6) New! (Juli 12): Polipo without DansGuardian as a simple text filter on the basis of a "forbidden" list.

New! (Sept 11): IpTables script and dg-add (script for easy adding blocked sites to DansGuardian filter) are now available for direct download in the Scripts Area.

New! (July 11): IP Tables now fool-proof!/span>

The IP Tables script has been changed to the effect that it automatically determines the user under which Polipo is running.

New (May 10): Polipo instead of Tinyproxy

Newer versions of DansGuardian seem to cause problems with Tinyproxy. Often only a blank page appears, or there is an obscure "page encoding error" of some kind. Has anyone found out the reason?

From now I recommend polipo for proxy which works like tinyproxy, but more reliably so, plus it's a caching proxy. The only thing you must change is the proxy port entry in the file /etc/dansguardian/dansguardian.conf (see further below). The IP-Table rules have also been updated (see point 8).

Brand new (Jan 09): Ubuntu CE does it all for you!

The popular Linux distribution Ubuntu has lately made a new appearance under the name of Ubuntu Christian Edition. This version deserves respect, since it offers everything the average computer user would wish for, including a fully functional DansGuardian and pre-installed IP-Tables, Firefox as the standard browser plus a comfortable tool named Parental Control for personal settings! Download: Ubuntu CE

Hence, the following instructions are now just for people who don't like Ubuntu. :-)

1. DansGuardian

What is DansGuardian? It is a free for non-commercial use, freely configurable, highly efficient content filter for Internet traffic. It works very fast, filtering according to the following criteria:
  1. PICS/ICRA Standard (voluntary categorising system for offensive (or other) Internet sites, placed in the "header" section of the HTML code). Because it has not gained wide acceptance yet, it cannot serve as a reliable filter on its own, yet in combination with other filtering systems it has proven very useful, e.g. for filtering sites that include offensive pictures without text. Many "adult" and other sites do submit to the Icra classification system (including the one you are visiting at the moment!).
  2. MIME and data types (filters endings like *.exe etc.), freely adaptable, the default setting being very conservative since almost no files are allowed for download
  3. Words / word parts in any language (German, English among others already included in default)
  4. "weighted phrase lists", i.e. certain word combinations are filtered if they exceed a given allowed percentage (may be set from liberal to very restrictive)
  5. blocked URLs (have to be added by hand, there are however additional "Blacklists" available on the Internet for anyone to use)

The content filter is very impressive even in its present settings. By default, it filters pornographical material and racist and otherwise vile language for many languages. The word filter is very intelligent. For instance, it doesn't just block the word "sex" categorically (which of course is not always used in a pornographical context and in languages like English can just mean "gender"), but reacts to clusters of similar (offensive) words and word combinations. The extent of allowed "clusters" can be set to taste, while the default setting seems quite reasonable as it is. The afore-mentioned lists are accessible to the system administrator (root) and are freely adaptable to the needs. There are additional Blacklists (blocked sites) available, but the filter is quite adequate even without them.

DansGuardian is included in many popular Linux distributions; to install, just enter in root console:

  1. Gentoo: emerge dansguardian && rc-update add dansguardian default
  2. Debian/Ubunbu: apt-get install dansguardian
If that is not the case for your distribution, you may download the program free of charge from DansGuardian Download as long as it is for non-commercial use. The filter works immediately after installation with the default settings, changes may be necessary for the file /etc/dansguardian/dansguardian.conf, the following 3 settings being essential:

  1. filterport = 8080
  2. proxyip = 127.0.0.1
  3. proxyport = 8123

Some distributions (notably Debian) add the following lines at the top of dansguardian.conf:

  1. # Comment this line out once you have modified this file to suit your needs:
  2. UNCONFIGURED

So just delete this line or comment it by adding a # in front of UNCONFIGURED!

2. Proxy Polipo - also works as a stand-alone filter

A proxy is a program that comes between your computer and the Internet, regulating the data flow. Polipo is an exceptionally slim and fast proxy, and very easy to configure. It works as a transparent proxy, which means that it is invisible to other software using it. I have tried Squid and Oops before (both are reported to work with DansGuardian), but Polipo ist clearly your favourite if you're like myself and want to get started without much hassle.

As I said, any Internet request ist filtered by DansGuardian before it reaches the browser. The proxy then acts as a go-between connecting DansGuardian to the Internet. Tiny Polipo ist included in some Linux distributions like Gentoo, which is commendable.

Anyone who is happy with a simple filter which blocks offensive web sites based on a forbidden list can just as well use Polipo without DansGuardian. To that end, create a file named /etc/polipo/forbidden and enter sites to be blocked like this:

  1. verboten.com
  2. forbidden.org
  3. forbidden.*

This way entire web sites will be blocked by Polipo before they even reach your browser. In the forbidden list, you can also use regular expressions which effectively block access to sites including any forbidden keywords/word parts in the URL section. This method works very well also with search engines (Google, Ask.com), since while searching any forbidden expression will be reflected in the new URL provided by the engine which is sent to the browser. The following entry, e.g.:

  1. [bidden|boten].*
  2. [s|z]ex.*

will block any site containing the word parts "bidden" oder "boten", as in the words "forbidden" or "verboten". A site called www.forbiddengames.com would thus be blocked. Similarly, any Internet site having "zex" or "sex" in the address section would be blocked.

To install, enter in root console:

  1. Gentoo: emerge polipo && rc-update add polipo boot
  2. Debian/Ubuntu: apt-get install polipo

If you don't want Polipo to cache Web sites on your harddisk just leave the following entry in /etc/polipo/config blank:

  1. diskCacheRoot=

Polipo uses proxy port number 8123.

Ideally, DansGuardian and Polipo should be loaded through their corresponding Init Scrips at boot time (your system creates so-called Init Scripts if the programs are part of your distribution, but not if you have to download them manually). It is important that the proxy is launched first, otherwise DansGuardian will exit. The above install commands for Gentoo and Debian/Ubuntu instruct the system to start these programs in the correct order. For other systems you must instruct the management to start Polipo in runlevel "boot" and dansguardian in runlevel "default". In case this doesn't work for you see option below with "local.start" under point 5.

3. Gnome

For Gnome users, automatic redirection of Internet traffic to the port DansGuardian uses is quite easy. It is possible to force all HTTP traffic through another port with just a few Gnome commands.

As far as I know, this kind of redirection only works for Gnome's own browsers Epiphany and former Galeon. (By the way, if you haven't heard of it, Epiphany is a great, easy-to-use browser with only few settings to worry about. If Firefox is the Jumbo, Epiphany is the Jet!)

To set the mandatory proxy in Gnome, enter the following 5 commands one after the other, as root in a console (just copy them over one by one, and don't break the line before the end of each command!), then restart Gnome.

  1. gconftool-2 --shutdown
  2. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=bool --set /system/http_proxy/use_http_proxy true
  3. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=string --set /system/http_proxy/host localhost
  4. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=int --set /system/http_proxy/port 8080
  5. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=string --set /system/proxy/mode manual

If you want to make sure that your Internet protection cannot be circumvented by using another browser you should delete Mozilla and/or Firefox/Seamonkey, or block the executable.

If you like it simple, just install Epiphany as described and then delete whichever browser is installed alongside with it, i.e. Mozilla, Firefox or Seamonkey (but don't uninstall them altogether, just block or delete the binary!). To block it, enter as root:

  1. chmod 444 /usr/bin/firefox
  2. chmod 444 /usr/bin/seamonkey
(makes it non-executable for root and users)–or, to delete it (which is even safer!), enter:
  1. rm /usr/bin/firefox
  2. rm /usr/bin/seamonkey
If you prefer to filter Firefox and Seamonkey too, see point 6.

4. KDE

Even for the KDE desktop environment you need not necessarily go to the trouble of setting up iptables, although it is true that iptables rules are harder to break than other means of controlling Internet traffic. So just go to the KDE Control Centre, and there in the section "Proxy Server" tick the boxes "manual" and "permanent connection". Then click on "Setting" and for HTTP Proxy enter 127.0.0.1 and 8080.
Again, these settings are only recognised by the KDE in-built browser Konqueror (not recommended for the Web!). For any other browser the proxy must be set individually (i.e. in the browser itself or through IP-Tables, see below). For additional safety the proxy settings can be made unchangeable for users with the KDE Kiosktool (this should be part of your KDE distribution, if not download it from Kiosktool).

5. Other Linux Desktops

If you fancy super light-weight desktops like xfce4, icewm, rox, blackbox, sawfish, afterstep, fvwm, larswm, twm, dwm, the combination of DansGuardian-Polipo-Epiphany/Galeon will be your friend just the same. The trick is that the Gnome GConf Editor works independently of a full Gnome installation. The following root command will install all necessary programs and libraries for you:

  1. Gentoo: emerge gconf galeon dansguardian polipo
  2. Debian/Ubuntu: apt-get install gconf galeon dansguardian polipo

Following that the configuration process as described above must ensue, including the gconftool-2 commands (siehe under Gnome). The same is true here, of course: these settings only affect the Gnome browsers Epiphany and Galeon, any other browsers will escape filtering unless the proxy is set in the browser proper or via IP-Tables.

6. Lock proxy settings in Firefox or Seamonkey

In order to lock the corresponding settings in Mozilla browsers for the user without implementing IP Tables, only one step is now necessary:

Open a text editor as root and create a file with any name ending with *.js (e.g. proxy.js) in either of these directories: /usr/lib/firefox/defaults/pref/ or /usr/lib/seamonkey/defaults/pref/. Copy the following lines into the new file:

lockPref("app.update.enabled", false);
lockPref("network.proxy.http", "127.0.0.1");
lockPref("network.proxy.http_port", 8080);
lockPref("network.proxy.type", 1);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");
lockPref("network.proxy.share_proxy_settings", false);

At your next session the browser will no longer allow users to change proxy settings in the preferences dialogue. Port 8080 is for DansGuardian. In case you have only Polipo running (s. item 2) the proxy port is 8123.

7. The http_proxy Environment Variable

Another easy solution to redirect web traffic in your browser is setting the http_proxy variable before starting the browser. Unfortunately this variable is not respected by the majority of browsers. In my experience, it works with Dillo, Opera, Amaya, xxxterm/xombrero, surf,dwb.

In order to make the variable effective, enter one of the following commands before launching the browser:

  1. export http_proxy="127.0.0.1:8080" (for DansGuardian with Polipo)
  2. export http_proxy="127.0.0.1:8123" (for Polipo without DansGuardian)
In order to set the variable at system boot you can add the same line in your .bash_profile in your home directory.

An even better solution would be a system-wide setting, unchangable by the user. For Gentoo, the following step will do: As root, create a file named /etc/env.d/99proxy and make one of the above entries (WITHOUT the word export).
Another possibility for system-wide proxying is amending the file /etc/profile by adding one of the above commands (again: root access required).

The advantage of this method is that the user cannot change the proxy settings in the browser's preferences menu (this is especially true for Dillo, xxxterm, xombrero und surf).

8. IP-Tables

This is the safest way to redirect Internet connections on any system other than Gnome, but it's the trickiest of all. To start with, the program iptables must be installed and supported by the Linux kernel, which seems to be the case in most modern distributions. The iptables+polipo.sh script here below should now work on any normal home PC (many thanks to Florian und Michael!).

In order for the redirection to be in effect right from system start, you should add the path to the script (e.g. /usr/local/sbin/iptables+polipo.sh) to your /etc/conf.d/local.start or /etc/rc.d/rc.local file (similar names are possible, see your distribution specifics).

Some exotic browsers like hv3 use their own cache proxy, and these require a separate rule each (see at polipo in script, uncomment or adapt to your needs):

Hereafter you might want to add the lines

  1. polipo
  2. dansguardian
in case you haven't succeeded with your Init Scripts (see above).

Making your own start script

If you couldn't find any local.start script in your Linux distribution the following trick will do:

1. Create a new file with any name, let's call it local.start for simplicity's sake, preferably in the /etc directory:

  1. touch /etc/local.start
Then, as root, edit the file in a text editor. The first line must be:
  1. #!/bin/sh
Below add any of the commands explained above, including the path to the iptables+polipo.sh script if needed, taking a new line for each one.

2. Make the file executable with the command:

  1. chmod 755 /etc/local.start

3. In the file /etc/inittab add the following line:

  1. lo:2345:once:/etc/local.start

Thus the programs will be executed automatically at boot time.

Good luck!
P. Vollmar


↓English DansGuardian mit Polipo

Installationshilfe für Linux-Internetfilter

DansGuardian ist ein zuverlässiger, nicht-kommerzieller Inhaltsfilter auf Wortbasis zum Schutz gegen Pornographie, Gewalt und Rassismus. Mehr dazu in Englisch auf www.dansguardian.org. Die hier gebotene Installationshilfe stützt sich auf meine Erfahrung mit Einplatz-PC mit installiertem Gentoo-Linux und den grafischen Arbeitsflächen Gnome, Xfce4 und dwm.

Bist du breits Nutzer der Gnome-Arbeitsfläche, ist die Installation am einfachsten, du brauchst nur Punkte 1-3 zu beachten.

Empfohlene Software:

  1. DansGuardian
  2. Polipo

Achtung neu (Mai 13): Proxy-Einstellungen sperren in Firefox und Seamonkey jetzt einfacher! (s. Punkt 6)

Achtung neu (Juli 12): Polipo ohne DansGuardian als einfacher Filter mit "verboten"-Liste.

Achtung neu (Sept 11): IpTables-Skript und dg-add (Skript zum leichten Hinzufügen von verbotenen Seiten in DansGuardian) jetzt im Skripte-Bereich zum Herunterladen.

Achtung neu (Juli 11): IP-Tables jetzt narrensicher!

Das Skript für IP-Tables ist nun so verändert, dass der Nutzer, unter dem Polipo läuft, automatisch erkannt wird.

Achtung neu (Mai 10): Polipo statt Tinyproxy

Die neusten Versionen von DansGuardian scheinen mit Tinyproxy Probleme zu machen. Es erscheint oft nur eine leere Seite oder eine Fehlermeldung im Stil "Unknown encoding...". Hat jemand den Fehler herausgefunden?

Jedenfalls empfehle ich nun den Proxy Polipo, der die gleiche Aufgabe ausübt wie Tinyproxy und dazu noch einen Cache auf der Festplatte führt. Das einzige, was man ändern muss, ist der Proxy-Port in dansguardian.conf (s.u. Punkt 1).

Achtung neu (Jan 09): Ubuntu CE nimmt dir die Arbeit ab!

Die beliebte Linux-Distribution Ubuntu kommt neuerdings auch im christlichen Gewand daher – und Hut ab: die Spezialversion Ubuntu Christian Edition bietet alles, was der durchschnittliche PC-Nutzer sich wünscht: Standardbrowser Firefox, inklusive vorinstalliertem DansGuardian mit IP-Tables-Internetumleitung, dazu ein bequemes Einstellungstool mit Namen Parental Control! Download: Ubuntu CE

Die untenstehende Hilfestellung ist also nur noch für Leute, die kein Ubuntu mögen. :-)

1. DansGuardian

Was ist DansGuardian? Es ist ein frei erhältlicher, frei konfigurierbarer, hochwirksamer Inhaltsfilter für den Internetverkehr. Er arbeitet sehr schnell und filtert nach folgenden Kriterien:
  1. PICS/ICRA-Standard (freiwillige Kategorisierung anstössiger bzw. harmloser Internetadressen im "header"-Teil des HTML-Codes) – bisher eher mässig genutzt, daher kein verlässlicher Alleinfilter, jedoch in Kombination mit den anderen sehr nützlich, z.B. für Internetseiten, die nur anstössige Bilder ohne Text veröffentlichen (Weiteres unter www.icra.org)
  2. MIME- und Dateitypen (nach Endung, z.B. *.exe, frei änderbar, Grundeinstellung sehr konservativ, es lassen sich so praktisch keine Dateien herunterladen)
  3. Wörter / Wortteile in allen Sprachen (für Deutsch, Englisch u.a. ist schon vorgesorgt)
  4. Gewichtete Ausdrucksbeschränkung ("weighted phrase lists"), dh. gewisse Wortkombinationen werden herausgefiltert, wenn sie einen angegebenen Prozentsatz übersteigen (kann von freizügig bis sehr streng eingestellt werden, die Grundeinstellung ist z.Z. für Kleinkinder!)
  5. gesperrte URLs (müssen von Hand eingetragen werden, zusätzliche "Blacklists" sind im Internet erhältlich)

Der Inhaltsfilter ist schon in der Grundkonfiguration sehr beeindruckend. Er filtert bereits mit den Voreinstellungen Pornografisches, Rassistisches und Gewalt in vielen Sprachen. Der Wortfilter ist sehr intelligent. Er sperrt z.B. nicht kategorisch das Wort "Sex" (was ja nicht immer mit Pornografie zusammenhängt und z.B. im Englischen auch einfach für "Geschlecht" steht), sondern reagiert auf Anhäufung von ähnlichen (anstössigen) Wörtern und Kombinationen. Der Häufungsgrad ist frei einstellbar, wobei die Grundeinstellung sehr restriktiv ist (Grad 50, d.h. für Kleinkinder). Die oben genannten Listen sind für den Systemadministrator (root) frei änderbar & erweiterbar. Es sind zusätzlich "Blacklists" (gesperrte Internetseiten) erhältlich, der Filter funktioniert aber auch ohne diese sehr gut.

DansGuardian ist in den gängigen Linux-Distributionen enthalten; dazu in root-Konsole eingeben:

  1. Gentoo: emerge dansguardian && rc-update add dansguardian default
  2. Debian/Ubunbu: apt-get install dansguardian
Sollte deine Distro Dansguardian nicht gepackt haben, kannst du das Programm gratis bei DansGuardian Download herunterladen.

Der Filter läuft sofort nach Installation mit der Grundeinstellung, Anpassungen sind ev. in der Datei /etc/dansguardian/dansguardian.conf vorzunehmen, wobei folgende 3 Einstellungen wichtig sind:

  1. filterport = 8080
  2. proxyip = 127.0.0.1
  3. proxyport = 8123

Einige Distributionen (z.B. Debian) fügen zuoberst in dansguardian.conf folgende Zeilen hinzu:

  1. # Comment this line out once you have modified this file to suit your needs:
  2. UNCONFIGURED

Vor das Wort UNCONFIGURED muss also ein # gesetzt bzw. die Zeile entfernt werden!

2. Proxy Polipo - auch als Alleinfilter

Was ist ein Proxy? Das Wort ist englisch und bedeutet eigentlich "Stellvertreter", also ein Programm, dass zwischen Internet und den PC zwischengeschaltet ist, um den Datendurchlauf zu regeln. Surf on the Safe Side ist ein gutes Beispiel für einen (kostenpflichtigen) Fern-Proxy: Alle Internetverbindungen werden zuerst über diese Adresse geleitet und nach anstössigem Material abgesucht.

Polipo ist einer der vielen internen Proxys, Programme also, welche Internetverbindungen im PC selbst an eine andere Adresse umleiten und z.T. kontrollieren. Polipo ist ein besonders schlanker und schneller, zudem leicht konfigurierbarer "Caching Proxy" (verwaltet einen Web-Cache auf dem PC, so dass Internetseiten auch off-line verfügbar sind, falls erwünscht). Ich habe es schon mit Squid und Oops versucht (beide scheinen nach Angaben anderer Leute mit DansGuardian zu laufen), aber Polipo ist klar der Favorit für Leute wie ich, die ohne grosse Umtriebe zum Ziel kommen wollen.

Bei DansGuardian werden ja alle Daten zuerst gefiltert, bevor sie den Browser erreichen. Daher braucht es eine besondere Schnittstelle zum Internet, eben einen Proxy-Server, den DansGuardian benutzen kann. Polipo ist löblicherweise in den gängigen Linux-Distributionen enthalten;

Wer mit einem einfachen Filter zufrieden ist, der verbotene Webseiten nach einer Verboten-Liste blockiert, kann Polipo auch ohne DansGuardian betreiben. Dazu eine Datei /etc/polipo/forbidden anlegen und zu sperrende Seiten wie folgt eintragen:

  1. verboten.com
  2. forbidden.*

Auf diese Weise werden ganze Webseiten durch Polipo geblockt, bevor sie den Browser erreichen. Es können in der forbidden-Liste aber auch reguläre Ausdrücke gebraucht werden, welche effektiv den Zugang zu Seiten verhindern, welche die verbotenen Stichwörter/Wortteile im URL-Teil enthalten. Diese Methode funktioniert auch gut mit Suchmaschinen (Google, Ask.com), da bei der Suche der verbotene Ausdruck in einer neuen URL enthalten ist, die an den Browser geschickt wird. Folgender Eintrag beispielsweise:

  1. [bidden|boten].*
  2. [s|z]ex.*

blockiert jede Seite, in der die Wortteile "bidden" oder "boten" vorkommen, wie in den Wörtern "forbidden" oder "verboten". Eine Seite, die z.B. www.verbotenespiele.com heisst, würde gesperrt. Ebenfalls würde jede Internetseite, welche "zex" oder "sex" im Adressteil enthält, gesperrt.

Installation mit Eingabe in root-Konsole:

  1. Gentoo: emerge polipo && rc-update add polipo boot
  2. Debian/Ubuntu: apt-get install polipo

Nun ist das Programm installiert. Falls du nicht willst, dass Polipo Webseiten auf der Festlatte speichert, lass den folgenden Eintrag in der Datei /etc/polipo/config einfach leer:

  1. diskCacheRoot=

Polipo verwendet den Proxy-Port 8123.

Zum Starten gib einfach in der Konsole polipo ein.

Idealerweise sollten DansGuardian und Polipo beim Systemstart mit den angelegten Init-Scrips geladen werden. Dabei ist wichtig, dass der Proxy zuerst gestartet wird, sonst bricht DansGuardian mit einer Fehlermeldung ab. Die obige Anleitung für Gentoo und Debian sorgt dafür, dass diese Programme automatisch in der richtigen Reihenfolge gestartet werden. In anderen Fällen weise deine Systemverwaltung an, polipo in runlevel "boot" und dansguardian in runlevel "default" zu starten. Falls es mit runlevels und Init-Scripts nicht klappen will, siehe Variante mit "local.start" unter Punkt 5.

3. Gnome

Für Gnome-Anwender ist die automatische Umleitung des Internetverkehrs auf den Port von DansGuardian nicht schwer. Mit ein paar Handgriffen kann Gnome-intern eine Zwangsumleitung aller HTTP-Verbindung gemacht werden.

Die Zwangsumleitung funktioniert meines Wissens nur für die Gnome-eigenen Browser Epiphany und dem veralteten Galeon.

Die folgenden 5 Kommandos bitte als root in der Konsole hintereinander eingeben (am besten einzeln rüberkopieren und jeweils alles auf eine Zeile, also keine Zeilenumbrüche!), danach Gnome neu starten (abmelden und neu anmelden).

  1. gconftool-2 --shutdown
  2. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=bool --set /system/http_proxy/use_http_proxy true
  3. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=string --set /system/http_proxy/host localhost
  4. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=int --set /system/http_proxy/port 8080 (oder 8123 für Polipo)
  5. gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=string --set /system/proxy/mode manual

Wer sicher sein will, dass man den Internetschutz nicht mit einem anderen Browser umgehen kann, sollte Mozilla Firefox oder Seamonkey löschen bzw. nicht-ausführbar machen. Möglicherweise benötigt Epiphany oder Galeon die Engine eines dieser Browser, so dass diese mitinstalliert werden. Um sie zu sperren, gibst du, je nach Bedarf, in der Root-Konsole Folgendes ein:

  1. chmod 444 /usr/bin/firefox
  2. chmod 444 /usr/bin/seamonkey
(wird nicht-ausführbar für root und users) – oder, um sie zu löschen (noch sicherer!):
  1. rm /usr/bin/firefox
  2. rm /usr/bin/seamonkey

Wer lieber diese Browser auch noch mitfiltert, siehe Punkt 6!

4. KDE

Auch für KDE sind nicht unbedingt iptables-Umlenkungen erforderlich, auch wenn diese schwerer zu umgehen sind. Geh einfach zum "Kontrollzentrum", dort unter "Proxy-Server" die Kästchen "manuell" und "Dauerverbindung" anhaken, dort unter "Einrichtung" eingeben für HTTP-Proxy: 127.0.0.1 und 8080.
Diese Einstellungen sind nur beim KDE-eigenen Browser Konqueror wirksam (leider nicht zu empfehlen, da sehr mangelhaft fürs Web, setzt viele CSS-Eigenschaften nicht um). Für andere Browser muss der Proxy individuell eingestellt werden (z.B. mit IP-Tables, s.u.). Zur Erhöhung der Sicherheit kann mittels des Kiosktool von KDE dem Benutzer verboten werden, die Proxy-Einstellungen zu ändern (Kiosktool sollte bei KDE dabei sein, sonst bei Kiosktool herunterladen).

5. Andere Linux-Desktops

Wer weder KDE noch Gnome mag, sondern auf eine der weniger bekannten Arbeitsflächen wie xfce4, icewm, rox, blackbox, sawfish, afterstep, fvwm, larswm, twm, dwm setzt – und wie die schnellen Winzlinge alle heissen – ist ebenfalls mit der Kombination DansGuardian - Polipo - Galeon bestens bedient. Die Installation erfolgt wie beschrieben. Der Trick dabei ist, dass der GConf-Editor von Gnome auch unabhängig von einer vollständigen Gnome-Installation funktioniert. Mit folgender Eingabe in der Root-Konsole werden alle nötigen Programme und Bibliotheken installiert:

  1. Gentoo: emerge gconf galeon dansguardian polipo
  2. Debian/Ubuntu: apt-get install gconf galeon dansguardian polipo

Danach ist die Konfiguration wie oben erklärt durchzuführen, einschliesslich der Kommandos für gconftool-2 (siehe unter Gnome). Auch hier gilt natürlich, dass keine anderen Browser gefiltert werden, es sei denn über Proxy-Einstellungen im Browser selbst oder per IP-Tables.

6. Proxyeinstellung in Firefox und Seamonkey sperren

Um bei Mozilla-Browsern die Einträge unter "Einstellungen>Erweitert>Proxys" für den Nutzer zu sperren, ohne dass man IP-Tables einrichten muss, ist nur noch 1 Schritt nötig (die Datei all.js existiert nicht mehr!).

In einem Texteditor als root eine beliebige Datei mit Endung *.js im Verzeichnis /usr/lib/firefox/defaults/pref/ bzw. /usr/lib/seamonkey/defaults/pref/ erstellen (z.B. proxy.js) und dort folgende Zeilen hineinkopieren:

lockPref("app.update.enabled", false);
lockPref("network.proxy.http", "127.0.0.1");
lockPref("network.proxy.http_port", 8080);
lockPref("network.proxy.type", 1);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1");
lockPref("network.proxy.share_proxy_settings", false);

Beim nächsten Browserstart kann der Nutzer diese Einstellungen nicht mehr im Browser ändern. Der Port 8080 gilt für DansGuardian. Im Falle von nur Polipo (s. Punkt 2) heisst der Port 8123.

7. Umgebungsvariable http_proxy

Eine weitere einfache Lösung zur Umlenkung auf einen alternativen Browser-Port ist das Setzen der Umgebungsvariable http_proxy. Leider wird diese Variable nur von wenigen Browsern berücksichtigt. Nach meiner Erfahrung funktioniert sie mit Dillo, Opera, Amaya, xxxterm/xombrero, surf,dwb.

Um die Variable wirksam zu machen, muss vor Start des Browsers das Kommando:

  1. export http_proxy="127.0.0.1:8080" (für DansGuardian mit Polipo)
  2. export http_proxy="127.0.0.1:8123" (für Polipo ohne DansGuardian)
eingegeben werden. Um die Variable beim Systemstart automatisch zu setzen, kann eben diese Zeile in der Datei .bash_profile im Home-Verzeichnis zugefügt werden.

Noch besser ist eine systemweite, durch den User nicht zugängliche Einstellung. Für Gentoo hilft folgender Schritt: Als root eine Datei /etc/env.d/99proxy erstellen und einen der oben beschriebenen Einträge (OHNE das Wort export) erstellen.
Stattdessen kann auch die Datei /etc/profile mit einem der obigen Einträge erweitert werden (als root).

Der Vorteil dieser Methode ist, dass der Benutzer die Proxy-Einstellungen nicht einfach im Browser unter "Einstellungen" wieder rückgängig machen kann (dies gilt vor allem für Dillo, xxxterm, xombrero und surf).

8. IP-Tables

Das ist die sicherste Umlenkmethode für andere Desktop-Umgebungen als Gnome, aber eher heikel für Nichtkenner. Voraussetzung ist, dass der Linux-Kernel iptables unterstützt, was bei den meisten Distributionen der Fall ist. Ebenso muss das Programm iptables installiert sein, was auch in vielen Fällen zutrifft. Das untenstehende iptable+polipo.sh Skript sollte nun auf jedem normalen PC ohne Änderung funktionieren (danke Florian und Michael!).

Hiernach wären auch die Kommandos

  1. polipo
  2. dansguardian
anzufügen, falls es mit den Init-Scripts (siehe oben) nicht geklappt hat.

Damit die Umlenkung jeweils sofort nach Systemstart funktioniert, sollte das Skript in die Startroutine des Rechners eingebettet werden, z.B. in

  1. /etc/conf.d/local.start (Gentoo)
  2. /etc/rc.local (Debian/Ubuntu)
die Zeile /usr/local/sbin/iptables+polipo.sh hinzufügen.

Startskript selber machen

Solltest du nirgends ein geeignetes Startskript finden, hilft folgender Trick:

1. Erstelle eine neue Datei mit beliebigem Namen, nennen wir sie der Einfachheit halber local.start, am besten im Verzeichnis /etc mit dem Kommando:

  1. touch /etc/local.start
Editiere dann die Datei in einem Texteditor. Die erste Zeile muss lauten:
  1. #!/bin/sh
Darunter die oben erklärten Befehle einfügen, inklusive den Pfad zu iptables+polipo.sh, falls nötig, und zwar einen pro Zeile!

2. Mache die Datei ausführbar mit dem Kommando:

  1. chmod 755 /etc/local.start

3. Füge der Datei /etc/inittab folgende Zeile hinzu:

  1. lo:2345:once:/etc/local.start
Somit wird das Programm automatisch beim Urstart ausgeführt.

Viel Erfolg!
P. Vollmar


Skripte / Scripts

  1. iptables+polipo.sh (iptables script, unpack as root to /usr/local/sbin)
  2. dg-add (script for easy adding of blocked sites to DansGuardian filter, unpack to /usr/local/bin)
  3. dg-unblock (script for easy unblocking of blocked sites in DansGuardian, unpack to /usr/local/bin)

Home