Firefox Add-ons selbst „updaten“

Wenn man Firefox updatet, kann es passieren, dass die neue Version bisher verwendete Add-ons als nicht mehr kompatibel ablehnt (mit der momentanen Update-Politik, die alle 6 Wochen ein neues Major-Release vorsieht, wird dies nun öfter passieren).

Es gibt Add-ons, die mit der neuen Version obsolet geworden sind (z.B. Stop-or-Reload Button, das mit dem neuen Design von Firefox 4 überflüssig wurde), weniger wichtige Add-ons, auf deren Update man warten kann, und Add-ons, die man die nicht missen möchten und deren Update nicht (kurzfristig) zu erwarten ist (bei mir z.B. die nicht mehr gepflegten Add-ons TinyUrl Creator und Delicious Bookmarks).

Bei Letzteren sieht es zwar auf den ersten Blick etwas trübe aus, aber man muss dennoch nicht verzagen: Man kann die Add-ons selbst mit einem Texteditor „updaten“.  

Firefox selbst kann die Kompatibilität eines Add-ons zur eigenen Version nicht prüfen. Es verlässt sich dazu auf die Angaben des Programmierers, die dieser in der Datei install.rdf abgelegt hat. Dort findet sich eine Zeile, wie diese:

em:maxVersion="4.0.*"
(Es gibt auch Dateien, bei denen die Versionangabe von zwei em:MaxVersion in spitzen Klammern umschlossen wird.)

Hier wird vom Programmierer eine Kompatibilität bis zu einschließlich der Versionen 4.0.x angegeben (also bei 4.1 und höher wird das Add-on abgewiesen).

Wenn man nun mit einem Texteditor aus das „4.0.*“ in ein „5.*“ ändert und die Datei speichert, dann akzeptieren alle Versionen des Firefox 5 das Add-on. (Dass es auch tatsächlich fehlerfrei funktioniert, ist aber nicht gesagt.)

Hauptproblem ist die betreffende install.rdf zu finden. Diese Datei findet sich im Verzeichnis des entsprechenden installierten Add-ons. Dieses Verzeichnis findet sich wiederum im Verzeichnis extensions des verwendeten Firefox-Profils. Wie man den Profilordner von Firefox findet, ist in der Firefox-Hilfe bei support.mozilla.com beschrieben.

Leider tragen die Verzeichnisse der Add-ons oft keinen Klartextnamen, sondern sind mit einem Zahlencode bezeichnet.

Findet man kein Verzeichnis mit dem Add-ons-Namen, kann im Profilordner in der Datei extensions.rdf nach dem Namen suchen und findet dort den zugehörigen Zahlencode. Dazu sucht man nach einem charakteristischen Teil des Namens. Hat den gefunden, geht man im Text zurück zu der Zeile mit <RDF:Description RDF:about="urn:mozilla:item: beginnt. Hinter dem Doppelpunkt steht der Name des zugehörenden Verzeichnisses.

Beispiel:

<RDF:Description RDF:about="urn:mozilla:item:{89736E8E-4B14-4042-8C75-AD00B6BD3900}"
NS1:installLocation="app-profile"
NS1:version="1.0.5"
NS1:optionsURL="chrome://tinyurl/content/dialogs/options.xul"
NS1:name="TinyUrl Creator"
...

Der TinyUrl Creator liegt im Verzeichnis {89736E8E-4B14-4042-8C75-AD00B6BD3900}.

In der Datei extensions.rdf finden sich auch Angaben zur höchsten unterstützten Version (maxVersion). Diese zu ändern ist keine Lösung, weil die Datei extensions.rdf regelmäßig aus den install.rdf der einzelnen Add-ons neu generiert wird und Änderungen dabei verloren gehen würden.

Teilweise werden für die Add-ons im Profilverzeichnis keine Ornder mehr angelegt, sondern es werden die XPI-Dateien, in denen die Add-ons ausgeliefert werden, selbst abgelegt.

Da XPI-Dateien ZIP-Archive mit geänderter Dateiendung sind, kann man diese auch leicht selbst anpassen. Man kann hier wie folgt vorgehen: XPI.Datei in .zip umbenennen (vorher natürlich Sicherungskopie erstellen), ZIP-Datei entpacken, Datei install.rdf bearbeiten, wieder ZIP-Datei erstellen (dabei alte Version überschreiben oder vorher löschen) und ZIP-Datei in .xpi umbenennen.

Entsprechend kann man auch verfahren, wenn man das Add-on noch nicht installiert hat (und wegen der falschen Version auch nicht mehr installieren kann): Die XPI-Datei wie oben beschrieben anpassen und dann installieren.

Hinweise:

Mit der beschriebenen Anpassung der Datei install.rdf überlistet man nur den Versionsprüfungsmechanismus von Firefox. Dieser ist nicht ohne Grund vorhanden. Er soll davor schützen, dass alte, nicht zur aktuellen Version passende Add-ons Schaden anrichten. Wenn man diesen Mechanismus außer Kraft setzt, geht man das Risiko ein, dass das Add-on unter der neuen Firefox-Version nicht fehlerfrei funktioniert, Daten verloren gehen oder Firefox abstürzt.

Weiterhin sollte man beachten, dass alte Software, die längere Zeit nicht weiterentwickelt wurde, Sicherheitslücken enthalten kann, die von Angreifern aktiv ausgenutzt werden.

Von nicht mehr gepflegten Add-ons, die mit aktuellen Firefox-Versionen nicht mehr laufen, finden sich im Internet teilweise „aktualisierte“ Version. Ich habe mir ein paar von diesen Versionen angesehen. Diese waren auf dem oben beschriebenen Weg „aktualisiert“ worden (nur die Datei install.rdf war verändert). Bevor man solche Dateien aus unsicherer Quelle installiert, sollte man sicher gehen, dass wirklich nur die Datei install.rdf in der beschriebenen Art und Weise verändert wurde und keine „Überraschungen“ eingebaut wurden. Hierbei sollte man sich nicht nur auf die Zeitstempel und die Dateigrößen verlassen, sondern mit Hashes prüfen, dass die anderen Dateien unverändert sind. Da ist es IMHO einfacher und schneller die Original-XPI zu nehmen und die install.rdf auf die beschriebene Art und Weise selbst anzupassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kommentare abonnieren

Es erfolgt keine Weitergabe von Daten an externe Dienste wie WordPress.com.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.