Today I used SocialSafe to backup my Facebook profile.
It does a good job of backing up all the content created by me, but it’s not so good at backing up what people have shared with me.
It saves a large version of all the photos I have posted to Facebook, but only thumbnail versions of those shared with me. I really hope they improve on that, because it’s a very promising tool.
The SocialSafe app doesn’t make it clear where it stores your backups, and I can’t find any documentation on their website.
SocialSafe lets you export your backup to files in a place you choose, so why do I want to know?
The export doesn’t contain all the data that SocialSafe has downloaded. Even if it is only thumbnails, I want to see some evidence of the photos that people have shared with me.
SocialSafe must be reading and writing all that data somewhere, so it must be opening files. Maybe we can use handle to find them!
Handle should already be on your path for this to work.
Open a new command prompt and issue this command:
handle -p socialsafe
It will produce one line of output for every file SocialSafe has open.
The full output is about 60 lines. Here’s the interesting part:
3EC: File (RW-) D:\Users\iain\AppData\Roaming\com.1minus1.socialsafe.D675411CF670AA3EFAC13BDD847989BEDE2115E2.1\Local Store\Facebook.db
A file called Facebook.db. Looks like a sqlite database file!
Let’s open it in the sqlite shell:
sqlite3 "D:\Users\iain\AppData\Roaming\com.1minus1.socialsafe.D675411CF670AA3EFAC13BDD847989BEDE2115E2.1\Local Store\Facebook.db"
sqlite produces a prompt, so we know it’s a proper sqlite database:
SQLite version 220.127.116.11 2013-09-03 17:11:13
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
Use the .tables command to list all the tables in the database:
album linkedincertification searchlog
attachment linkedincomment searchlogservice
backup linkedincompany searchlogserviceitem
backupstatistic linkedincompanylocation tags
changetrack linkedincompanyproduct thread
checkin linkedinconnection threadrecipients
checkintag linkedineducation twittercursor
comment linkedinimaccount twitterfavourite
configuration linkedinlanguage twitterfollower
diaryviewfilter linkedinlike twitterfriend
eventmember linkedinnetworkupdate twittermedia
facebookevent linkedinpatent twittermention
firstdownload linkedinphonenumber twittermessage
friend linkedinposition twitterpage
frontcoveruser linkedinprivatecontacts twitterprofile
googleplusactivity linkedinprofile twittertweet
googleplusassociation linkedinpublication twitteruser
googleplusattachment linkedinrecommendation user
googlepluscomment linkedinskill viadeocareer
googleplusemail linkedintwitteraccount viadeocomments
googlepluslanguage linkedinurlresource viadeocontact
googleplusorganisation linkedinuser viadeoeducation
googleplusperson message viadeoforum
googleplusplacelived note viadeoforummember
googleplusprofile noteimage viadeoforumpost
googleplusurl page viadeolanguage
googleplususer pageadmin viadeolikes
instagramcomment pagefancount viadeomessages
instagramlike patches viadeonewsitems
instagramlocation photo viadeoprofile
instagrampeople post viadeosmarttag
instagramphoto profile viadeosmarttagblacklist
instagramprofile rss viadeouser
instagramtag rssfeed viadeovisits
That’s a lot of tables, most of which are not exported. The friend, post, photo, and profile tables probably are, because that data is included in the export.
The attachment table contains post attachments. The icon column contains the URL of the thumbnail of the post:
sqlite> SELECT icon FROM attachment WHERE icon <> '' LIMIT 1;
You can fetch using a web browser or wget.
I haven’t checked to see whether SocialSafe is fetching those thumbnails when you browse the journal, or if it actually stores the image data somewhere else.