tlogger is a Firefox extension for capturing click-stream web browsing logs.
The home page is at http://dubroy.com/tlogger.
Source code is managed on at http://github.com/pdubroy/tlogger/.
You can install the extension from http://dubroy.com/tlogger/tlogger-latest.xpi, and get a snapshot of the full repository at http://dubroy.com/tlogger/tlogger.git-latest.zip.
In addition to the source code for the Firefox extension, the git repository contains tools for analyzing the log files generated by tlogger.
The extension has been tested for Firefox 2 & 3, on Windows, OS X, and Linux.
The analysis tools require Python 2.5 or greater and have been tested on Linux and OS X, but should work on Windows too.
tlogger captures click-stream web browsing logs. In other words, it collects data about how the browser is used. Mainly it records navigation events and tab events, as well as the UI actions that cause those events. It's roughly similar to the Spectator extension, but with a few key differences:
-
it's compatible with Firefox 2 and 3
-
it doesn't submit ANY data automatically, to anyone. Everything stays on in your profile directory, in a human-readable format.
-
URLs are obfuscated on a per-user basis. From the log file, someone can see when the user revisits a site or a URL, but there is no way to determine what the actual URL is. It's also not possible to make comparisons between users.
-
it can log a few things that Spectator can't, like when javascript on a web page changes window.location.href.
tlogger was originally developed for web browsing study performed in late 2008 by Patrick Dubroy at the University of Toronto. The "t" stands for "tab", or maybe "Toronto" -- take your pick.
Licensed under the GNU GPL version 2 (see GPL-LICENSE.txt).
Copyright (c) 2009 Patrick Dubroy, with a few exceptions:
- parseUri.js is (c) 2007 Steven Levithan and was originally licensed under the MIT License.
- json2.js (http://www.json.org/json2.js) is public domain.
- Screengrab.js is (c) 2004-2007 Andy Mutton andy@5263.org, with some modifications by Patrick Dubroy.
tlogger can be installed like any old Firefox add-on.
Development:
Go to your Firefox profile (see here for instructions on how to find it). In the "extensions" directory, create a file named "tlogger@dubroy.com" containing a single line with the path to the extension directory. E.g.,
/Users/Patrick/dev/tlogger/extension
Distribution:
You can create an XPI for distribution by simply zipping up the contents of that directory. The XPI can then be installed by navigating to the XPI in Firefox (either on disk or on a webserver).
Or, you can install a recent XPI from here.
tlogger creates a directory named "tlogger" in the user's profile directory containing three files:
- extstore.dat: the main log file. The format is made for simple parsing: each line contains a timestamp and a JSON object.
- strings.dat: contains the mappings for the obfuscated URIs
- focus.dat: contains information about when Firefox gains and loses focus
tlogger also adds a menu under Tools with two entries:
- "Show log file" creates a copy of extstore.dat and reveals it in a file browser. This allows users to view their log file without running the risk of modifying or deleting the original.
- "Search for string" allows the user to figure out what the obfuscated version of a site is. This is useful if the user is willing to reveal the identity of some of the sites they visit, e.g. search engines.
Log files can be compiled into a higher-level format using the 'tlogger' Python module in the tools directory (or tools/compile.sh, which is a trivial wrapper).
By default, all URLs in the log files are obfuscated. You can turn this off via about:config by setting the pref extensions.tlogger.obfuscateURLs to false, and restarting Firefox.