WaybackFox is an attempt at integrating Archive.org's Wayback machine directly into Firefox's user interface. The extension adds to the browser status bar a widget allowing to look up the active tab's URL on the Web Archive. When one or several archived versions of a page are found in the Web Archive, a slider is displayed in the browser status bar. This allows to rapidly jump to the different archived versions of the page by simply dragging the slider handle backward and forward.
This project is still in a pre-alpha, working prototype state. I am not affiliated to Internet Archive and this is an independent and self-initiated effort.
Latest build (22 May 2011, f631098)
Developing and building
An .xpi bundle can be build by running the build.sh shell script (this assumes you are on a Unix shell).
Once built, this can be installed by simply opening the generated waybackfox.xpi in Firefox.
In alternative, the add-on can be also run by creating a symbolic link in the
Firefox extensions directory pointing at the location where the Waybackfox source code
has been cloned (note that the symlink has to be named exactly as the extension id
defined in the
cd $HOME/.mozilla/firefox/<development.profile>/extensions ln -s firstname.lastname@example.org $HOME/path/to/cloned/code
This method is generally preferable for local extension development, as it allows to update the add-on code without having to rebuild and reinstall the bundle.
Third party libraries
WaybackFox itself is built on top of two lovely mini libraries:
The build script was written by Nickolay Ponomarev; based on the initial work of Nathan Yergler.
Waybackfox tests are written using the Jasmine BDD framework. The test suite can be run by simple opening test/spec/index.html in firefox.
To the best of my knoledge Archive.org's Wayback Machine does not provide any web services or APIs for retrieving archived snapshot information programmatically. Therefore Waybackfox relies on the old web UI available at http://classic-web.archive.org to scrape this information. This is far from being an optimal solution, but seems to be the only option available at the moment.