#!/bin/zsh # # Author: Timothy J. Luoma # Email: luomat at gmail dot com # Date: 2011-07-17 # # Purpose: Mac OS X keeps a listing of all the files that you # download via browsers. # # # Reported by Ben Barnett # http://menial.co.uk/2011/06/16/mac-quarantine-event-database/ # MAKE_PUBLIC:YES NAME="$0:t" OSX=`sw_vers -productVersion | colrm 5` case "$OSX" in #########|#########|#########|#########|#########|#########|#########|######### # 10.6) SQL="$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEvents" echo " $NAME: Parsing download information (excluding PubSubAgent) from $SQL: " sqlite3 -header -line $SQL \ 'select LSQuarantineAgentName,LSQuarantineOriginURLString,LSQuarantineDataURLString from LSQuarantineEvent WHERE LSQuarantineAgentName NOT IN ("PubSubAgent")' |\ sed 's# LSQuarantineAgentName# Browser#; s#LSQuarantineOriginURLString# Website#g; s# LSQuarantineDataURLString # File #g' ;; # # end of 10.6 code #########|#########|#########|#########|#########|#########|#########|######### #########|#########|#########|#########|#########|#########|#########|######### # 10.7) SQL="$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2" echo " $NAME: Parsing download information (excluding PubSubAgent) from $SQL: " sqlite3 -header -line $SQL \ 'select LSQuarantineAgentName,LSQuarantineOriginURLString,LSQuarantineDataURLString from LSQuarantineEvent WHERE LSQuarantineAgentName IS NOT "PubSubAgent"' |\ sed 's# LSQuarantineAgentName# Browser#; s#LSQuarantineOriginURLString# Website#g; s# LSQuarantineDataURLString # File #g' ;; # END of 10.7 code # #########|#########|#########|#########|#########|#########|#########|######### *) echo "$NAME: I don't know how to operate on Mac OS X version $OSX" exit 1 ;; esac exit 0 ################################################################################################################################################################ # # ALTERNATIVE: # a one-liner, showing what was downloaded, and from where (if that # information is available) # # This is for 10.7 I believe sqlite3 -header -list -separator ' from ' $SQL \ 'select LSQuarantineDataURLString,LSQuarantineOriginURLString from LSQuarantineEvent WHERE LSQuarantineAgentName IS NOT "PubSubAgent"' |\ sed 's# from $##g' #EOF