page_saver_server
is a loopback HTTP server that supports two POST
verbs (url_seen
and clip_this
) and a single GET (tags
.) The
other tools use these.
page_clipper_user.js
is a Greasemonkey app that posts the current
page, selection, url, and other metadata to the server, which stashes
it for later remembrance.
page_saver.user.js
just runs on load and unload of every page, and
throws the state change at the server, which logs it.
restore_firefox
takes those load/unload logs, collapses them into a
"currently open" url list, and restarts firefox with the new list of
pages.
page_clipper_user.js
can't reliably encode a page (it
gets it after entity operations, so btoa()
fails because
it's getting unicode.)