Tools: Proxomitron

Sie werden sich fragen, was ein Programm wie Proxomitron auf der MSXFAQ verloren hat. Schließlich ist es in der Kurzfassung einfach nur ein HTTP-Proxy für Einzelplatzsysteme und hat damit mit Exchange oder Netzwerken nur sehr wenig zu tun.

Mein Einsatz von Promomitron

Proxomitron hat den Weg auf meine Festplatte meines Arbeitsplatzrechners zuerst daher gefunden, da Outlook 2003 sich über HTTP (Siehe RPC over HTTP) replizieren kann. Leider scheitert Outlook daran, denn zwischen dem Client und der Exchange Gegenstelle ein Proxy Server ist, der eine Authentifizierung erfordert. Outlook erwartet einfach, dass die Verbindung per HTTP funktioniert. Und das funktioniert nur in folgenden drei Fällen:

  • Direkt oder NAT
    Der PC kann direkt ohne HTTP-Proxy die Gegenstelle erreichen. Dies ist z.B. bei der direkten Einwahl ins Internet per Modem oder ISDN möglich oder bei der Nutzung DSL und in Verbindung mit einem Router und "Network Address Translation"
  • Proxy ohne Authentifizierung
    Wird ein HTTP-Proxy dazwischen eingesetzt
  • Proxy mit "integrierter" Authentifizierung

Achtung:
Proxomitron funktioniert leider nicht, wenn der Proxy keine BASIC-Authentication zulässt, Also nur Negotiate, NTLM, Kerberos anbietet. Dann wird die Anmeldung zum Client durchgereicht, der aber seinerseits die Anmeldedaten dann nicht weiter geben kann.

Der zweite Grund, der mittlerweile ebenso wichtig ist, ist meine Tätigkeit bei vielen Kunden. Bei vielen meiner Auftraggeber darf ich meinen Notebook mit an das Netzwerk anschließen und den Zugang zum Internet nutzen. Allerdings haben mittlerweile fast alle Firmen einen Proxy Server und viele mit Authentifizierung. Da ich und mein PC natürlich nicht in der Kundendomäne sind, hilft mir hier nicht einmal eine integrierte Authentifizierung eines ISA-Servers. Weiterhin gibt es sehr viele Programme, die HTTP verwenden und nicht alle davon nutzen die Internet Explorer Einstellungen. DA sind z.B.

  • Miranda (www.miranda-im.org)
    Ich nutze zwar auch MSN müssenger aber Miranda ist einfach smarter und braucht weniger Hauptspeicher.
  • RSS Popper (http://www.rsspopper.com)
    Damit hole ich verschiedene RSS-Feeds in Outlook.
  • Mozilla (www.mozilla.org)
    Es ist immer gut einen zweiten Browser zu haben, wenn ich auf Kompatibilität von Webseiten und letztlich auch der MSXFAQ achte.
  • Viele andere Programme
    Es gibt weit mehr Programme, die nicht die Proxyeinstellungen des Betriebssystems = Internet Explorer nutzen

Aber selbst wenn die Einstellungen im IE maßgeblich wären, so müsste ich dann doch je Kunde immer wieder "den richtigen Proxy" eintragen. Wer will sich die Proxies aber merken und dann die ganzen Authentifizierungen dazu.

Lokaler Proxy

Die Lösung für dieses Dilemma ist ein lokaler Proxy, d.h. mein PC selbst ist ein HTTP-Proxy, der seinerseits die vorhandenen Proxy-Server der Kunden als upstream Proxy verwenden kann.

Damit ich damit nicht zum Sicherheitsrisiko werde, muss natürlich sicher gestellt sein, dass niemand fremdes die Funktion missbraucht.

  • Zugriffsbeschränkungen auf Localhost
    Ich möchte nur, das mein eigener PC auf die Dienste des Proxy zugreifen kann
  • mehrere upstream-Proxies mit schneller umschaltung
  • Authentifizierung am upstream Proxy
    Hilfreich ist es, wenn beim upstream Proxy auch gleich die Authentifizierung hinterlegt werden kann. Aber selbst wenn dies nicht ginge, müsste zumindest eine Authentifizierung unterstützt werden
  • SSL-Tauglichkeit
    Ein Proxy der nur HTTP unterstützt, reicht nicht aus.
  • Clienttauglichkeit
    Ein Proxy als Vermittler sollte wenige Speicher benötigen und muss nicht unbedingt auch noch Cache Funktionen haben. Er muss nicht als Dienst laufen. Ein Programm mit Symbol in der Icon-Leiste ist vollkommen ausreichend.

Optional kann solch ein Proxy natürlich auch diverse Filterfunktionen mitbringen, um Cookies, Skripte und anderen Scahdcode von unbekannten Seiten zu blockieren. Ich habe dann etwas herum gesucht und es gibt tatsächlich sehr viele Proxy Server für Windows, die nicht gleich als großer Proxyserver mit Benutzerverwaltung, Cache oder Java-Anwendung daher kommen. Aber ebenso viele dieser kleiner Helfer scheitern z.B. an der Konfiguration von upstream Proxies oder erlauben keine Authentifizierung. Nach einiger Suche bin ich dann bei Proxomitron gelandet. Die anderen Proxy Server finden Sie unter den weiteren Links.

Proxomitron im Einsatz

Proxomitron ist eben so ein kleines Programm, was selten mehr als 4-8 Megabyte Ram benötigt und sich nach dem Start neben der uhr einnistet. Über das Kontextmenü sind alle Funktionen schnell zu erreichen:

Sie sehen hier, wie einfach es ist, aus einer Liste der Proxy Server einen auszuwählen. Die Konfiguration der einzelnen Proxy Server erfolgt im eigentlichen Hauptprogramm:

An die erweiterten Einstellungen kommen Sie, wenn die auf dem Proxy selbst (hier proxy:8080) mit der rechten Maustaste klicken. Weiterhin sollten Sie in der Konfiguration einen freien Port wählen und sicherstellen, dass nur der lokale PC den Proxy nutzen darf:

Ab dann ist dem Einsatz nichts mehr entgegen zu setzen. Ab nun können Sie alle Programme, die einen Internetzugriff benötigen und in denen ein HTTP-Proxy Server konfiguriert werden kann einfach auf "lokalhost:8080" einstellen. Wechselnde NetzwerkUmgebungen, verschiedene Proxy Server, explizite Autorisierung etc. haben ihren Schrecken verloren.

Zusätzlich kann Proxomitron auch URLs, Cookies etc. filtern und über eine Diagnosefunktion sogar den HTTP-Datenverkehr protokollieren und ausgeben. Das funktioniert sogar bei SSL, wenn Proxomitron selbst ein Zertifikat bekommt. Und nebenbei kann dann auch ihr Outlook 2003 mit RPC over HTTP replizieren, selbst wenn ein Proxy Server mit Authentication ansonsten den Zugriff verhindert.

Download und Installation

Leider ist der Autor Scott R. Lemmon im Frühjahr 2004 verstorben und es gibt daher keine offizielle Webseite mehr. Aber in diese Lücke sind wie so oft viele freiwillige Anwender gesprungen, die ihrerseits dieses kleine aber geniale Programm weiter unterstützen. Zwar wird es damit keiner weiteren Versionen geben, aber auf der anderen Seite wüsste ich auch nicht, was noch fehlt. Ich habe meine Kopie von folgender Webseite bezogen

http://www.proxomitron.de

Ich habe Proxomitron auf c:\Programme\Proxomitron installiert. Dann müssen Sie nur noch den Aufruf von Proxomiton z.B.: über die Autostart Gruppe einbinden. Die Konfiguration erfolgt dann wie oben kurz beschrieben. Vergessen Sie aber nicht, ihre Anwendungen dann auf "localhost:8080" umzustellen. Besonders die Einstellung im Internet Explorer ist wichtig, damit Outlook 2003 auch davon profitiert.

Proxomitron für Fehlersuche und besseres Surfen.

Zwei Funktionen finde ich an Proxomitron besonders gut.

  • Log-Window
    Über eine Protokollfenster kann jede Anfrage protokolliert werden. Dies hilft besonders bei der Entwicklung mit XMLHTTP und WebDAV bei der Suche nach Fehlern oder der genaueren Analyse, was denn nun dabei schief läuft. Bei einem funktionierenden Outlook mit RPC over HTTPS (SSL) "sieht" man aber nicht mehr als folgende
  • Umschreiben von Requests
    Mit Proxomitron ist es möglich, bestimmte HTTP-Header und Felder bei der Übertragung zu verändern. Wenn ich also z.B.: meinen Browsertyp nicht übermitteln will, dann kann Proxomitron den user-Agent ändern.
    Das ist besonders interessant, da einige Webseiten zwar den Zugriff auf Inhalte von von Google aus erlauben (damit diese im Index erscheinen) aber alle anderen Zugriffe mit Werbebannern, Cookies etc. zupflastern oder sogar Inhalte nicht anzeigen. Da der user-Agent ja nie als Steuerung des Zugangs gedacht war, kann sich mein Browser einfach als "Googlebot" ausgeben und sehr viele Webseiten werden dadurch "lesbarer".

Alles in allem auf jeden Fall ein Grund, Proxomitron zu können. Eine alternative zum Logging sind auch noch

Weitere Links

Viele andere nette Programm wie WebWasher, MultiProxy und einige andere funktionieren auch als Proxy, aber meist ohne die Möglichkeit, Anmeldeinformationen zu hinterlegen und schnell den Proxy zu wechseln.