Manage devices with legacy Firefox versions on MacOS

I still have a few old web-managed devices of which the web UI does not work (correctly) with modern browser versions. It found out that they worked fine with Firefox 17.0.9esr (yes I know that is really old) and for quite a while I kept an outdated VM available to manage them. Since the OS that runs on now also is way beyond EOL I worked out a way to use older versions of the FireFox browser (as they keep a great archive of their historic versions).

Yes, one shouldn’t use obsolete browser versions as it is not safe for normal browsing, but to access a web interface of an internal device (that otherwise can’t be managed) should be safe enough as long as one doesn’t visit other sites. In this post I will describe how I set this up and also how I ensured that the browser would not conflict with a regular installation of the Firefox Browser

Personally I don’t use the Firefox browser much though I have it installed for the odd site that does not work with Safari (yes, that happens and more and more often). As I wanted that install kept up-to-date and didn’t want the legacy version to auto-update (as the legacy web interface then also would not longer work).

Having multiple versions of Firefox running alongside requires to separate them, both their installation location as well as their profile directory (the place where Firefox stores all its settings, plugins, history, etc.). The first is easy, for the second it is required to create a separate profile in Firefox and start the legacy version with a parameter to use that version. Using different profiles also allows one to run multiple (different) version of

The idea of my approach is based on Hay Kranen’s 8-year old post on HOWTO run multiple versions of Firefox side-by-side on Mac OS X Lion. My (simplified) approach no longer relies on Automator and the steps to set things up are:

  1. Download the desired legacy version from the Firefox FTP Repository. Open the downloaded .dmg but and drag the Firefox.app to your desktop
  2. Open up a terminal and go to the Contents/MacOS folder within the package with:
    cd ~/Desktop/Firefox.app/Contents/MacOS/
  3. Rename the file firefox to firefox-launcher with:
    mv firefox firefox-launcher
  4. Create a new firefox launcher with:
    cat > firefox << EOF
    #!/bin/sh

    PROFILE=\$(basename "\$(cd "\$(dirname "\$0")/../.."; pwd)" .app)
    exec "\$0-launcher" -P "\$PROFILE" \$*
    EOF

    (executing this will generate the file with the right content)
  5. Make the just created firefox launcher executable with:
    chmod 755 firefox
  6. Rename the Firefox.app to include the version of the application (e.g. Firefox 17.0.9esr.app)
  7. (optional) Move the created .app to /Applications (or ~/Applications) if you don’t want it on your desktop.

If you have another version of Firefox installed, it may not appear in Launchpad (which is great in my case). To open it, search for it using Spotlight (search). You can pin it to the dock if you need it often.

The first time you the legacy version of Firefox, a popup will appear to select the Profile to use. In this screen, you should create a new one named the same as how you have renamed Firefox.app to in step #2 above without the .app.

Please note that the legacy version of Firefox will try to update itself once it is running so you have to disable automatic updates as soon as possible when you start it (or you can start all over 🙂 ). This must be done in Firefox through Preferences –> Advanced –> updates or by browsing to about:config and changing the setting of app.update.auto to false.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.