NAME
browser-history - external history of web browsers, such as netscape
SYNOPSIS
browser-history [ options ]
DESCRIPTION
Browser-History is a client-side X daemon maintaining a browser-
independent global history of all the web sites you visited. Its usage
is very simple, just put the following line in your .xinitrc or your X
start-up script:
browser-history &
And open the file ~/.browser-history/history-log.html and bookmark it.
Browser-history came from the will to overcome a Netscape bug: there
was no global history, and if you close a window, its whole history is
lost. For people browsing lots of sites, having a possibility to track
back where one has been before means that you don’t have to put
everything in your bookmarks file. If you are not sure if a site may be
worth remembering, don’t add it in your bookmarks. If you need it
later, just browse your history files.
Later, it came to our minds that this also could be a valuable add-on
to people writing experimental browsers, so they dont have to add this
functionality to their browser itself.
Browser-history is a small and efficient daemon. Real user services
could be built on top of the log files it maintains for more
possibilities (graphical representation, advanced search options,
collective histories). It can be seen as a quick-and-dirty hack wrt to
the general solution of using a personal proxy to provide this history
and housekeeping facilities. But in the meantime, it is easy to use and
it works.
IMPLEMENTATION
Browser-History spies your web browser and logs in
~/.browser-history/history-log.html all the URLs you went through. You
can then browse the log under Netscape or other browsers via the URL:
file:~/.browser-history/history-log.html (replace the ~ by your home
directory). It tracks automagically all already present browser
windows, and all new ones created in the future. This program has no
user interface. It just appends information to a log file in html
format so you can browse it through a web browser. If more that one
hour has passed since last entry, it draws an horizontal lines, and
adds H1 headers to delimit new days. Each week (Sunday mornings), it
archives the week history, compresses it by gzip (that you must have in
your path), and starts a new history with links to the older ones. To
make room you can just remove the obsolete history files. You can
search files for string XXX in shell via:
zgrep XXX ~/.browser-history/*
This version (2.6) works with Netscape, Arena and Amaya.
URLs can be excluded from logging by putting them, one per line in the
file ~/.browser-history/history-log.exclude , then, if an URL begins
with a line from this file, it is not logged. In this file, empty
lines or lines beginning by # are comments This file is read once at
startup, and re-read when receiving the signal 1. e.g:
# We exclude local files
file:
# Exclude search engines...
http://home.netscape.com
http://guide.infoseek.com
When browser-history is run, it looks if another one is running, and by
default it kills the previous one if it is an older version. Otherwise,
it the new one is the same version number or older, it just aborts.
OPTIONS
All options can be given by their first letter: you can specify either
-verbose or -v, but you cannot group options, e.g. you must say -v -k ,
but not -vk
-display display_name
Specifies X display, otherwise contents of $DISPLAY is used
-verbose
outputs information on what it is doing. useful for debug.
-Version
prints version number and exit.
-logdir directory
which directory to store files into? defaults to
~/.browser-history
-gzip gzip_filename
the complete path to the gzip compressor. Defaults to "gzip".
E.g:
-gzip /usr/gnu/bin/gzip
-seconds delay
if two entries are made are more than delay seconds apart, an
horizontal rule will separate them, else just a simple line
break. Defaults to one hour (3600).
-replace
If there is an already running browser-history on the display,
aborts. Default is to replace it only if the version is older
than ours.
-noreplace
If there is an already running browser-history on the display,
aborts. Default is to replace it only if the version is older
than ours.
-kill If there is an already running browser-history on the display,
kills it, then terminates immediately in all cases.
-DontGrab
Never Grab the X Server, which might cause deadlocks while
debugging, when browser-history or gdb tries to print on the
grabbed xterm or emacs.
-checkpoint
Cause the currently running instance of browser-history to save
a list of all the URLs and their titles that are currently being
viewed by a browser-history compatible browser to the normal
history file as a "checkpoint".
LOG FILE FORMAT
A log file can have some decorative HTML to represent days, but each
entry has the form: (on a single line since version 2.4)
separator
<b>name</b>
<a href="URL">URL</a>
YYYY/MM/DD-HH:MN:SS <small>windowid</small>
where the following items are:
separator: either <hr> or <br>
name: the name of the document (window title)
URL: its URL
YYYY/MM/DD-HH:MN:SS: year, month number, day number, hour,
minutes, seconds. (2-digit numbers)
windowid: the X window ID of the browser window, in hexadecimal
Note: Before version 2.4, the 4 sub-parts were separated by newlines,
but since 2.4, they are only blank-separated to ease searching for URL
in log files via "grep".
Note: Before version 2.5, the year was stored in 2 digits. Now it is
stored in 4 (or more :-) digits, to fix this Y2K bug
HOME
The latest version of browser-history can be found at:
http://koala.ilog.fr/ftp/pub/browser-history/
and its WWW home page, with full technical documentation is at:
http://www.inria.fr/koala/colas/browser-history
AUTHOR
Colas Nahaboo, http://www.inria.fr/koala/colas
COPYRIGHT
browser-history bears the same license as the X Window System: you can
do everything with this code (selling it, modifying it), except suing
me or using my name in your advertisements, or expecting any kind of
support or guarantee.
local