Was mir nicht ganz klar ist, wie das mit dem modifizieren der durchgereichten Dateien im "Proxy" funktioniert.
Mein Problem ist, daß ich nicht weiß, ob Du "Proxy" smenatisch oder syntaktisch meinst.
Mein Szenario ging von "semantisch" aus, also kein Eintrag unter "Proxy" im Browser, sondern einfach ein anderer Webserver, auf dem CGI-Anwendungen mit LWP::Simple::get() die Dokumente absaugen - die Version 1.0 würde also bei jedem Zugriff auf dem "Proxy" einen Zugriff auf dem "Quellserver" auslösen.
(Version 2.0 könnte die modifizierten Dateien auf dem "Proxy" ablegen, einen HTTP-HEAD-Request an den Quellserver senden und in Abhängigkeit vom Änderungsdatum beider Dateien entscheiden, was zu tun ist - wie das ein Cache eben tun muß.)
Ich könnte mir also folgendes Szenario vorstellen. Auf einem Webserver liegen die Daten von mir aus im HTML-Format. Wenn man direkt auf die Seiten zugreift, wird alles normal dargestellt. Wenn man jetzt über den Proxy-Server geht, sollen dagegen beispielsweise alle Texte fettgedruckt geschrieben werden (d.h. der Proxy holt sich die Dateien auch vom WebServer aber fügt dabei die notwendigen HTML-Tags für den Fettdruck ein). Der beim Client soll alles ganz normal funktionieren (auch Links und so, ohne das man irgendwo was ändern muss).
Das würde mein oben beschriebenes Modell mit zwei Webservern leisten. (Das können ja sogar zwei virtuelle Webserver derselben Maschine sein, und der Filter für die Fett-Darstellung könnte dadurch realisiert werden, daß beide virtuellen Server auf dieselben Dateien zugreifen, nur der eine halt direkt und der andere über ein Konverter-Skript.)
Also der Transformator und die Anwendung der Regeln bereitet mir keine Probleme. Mir ist eher daran gelegen, wie ich halt den Transparenten Proxy gestellt, so daß auch mein Transformerscript auch bei jeder (HTML-)Datei ausgeführt wird.
Wenn es zwingend um einen wirklichen Proxy geht, dann scheint mir die Sache ein technisches und kein inhaltliches Problem zu sein. (Mir ist nicht bekannt, wie mächtig die Transformationsregeln in einem "echten" Proxy-Server sind.)
In diesem Falle solltest Du die Frage vermutlich als "(SERVER) Proxy: ..." neu stellen.