Skip to content

Recovering TabFern data from the Chrome Vivaldi profile directory

Chris White edited this page Mar 16, 2019 · 1 revision

Requires a shell, nodejs, npm, and a bit of development knowledge, unfortunately.

  1. Exit the browser, and make sure nodejs and npm are installed and working.

  2. Put the following script in ~/foo/extract.js:

     // This code by cxw42 2019, CC-BY-SA 3.0.  Thanks to the sample at
     // https://github.com/Level/levelup/blob/master/README.md and to
     // https://superuser.com/a/1088579/269989 by
     // https://superuser.com/users/219095/daniel-b
    
     var levelup = require('levelup')
     var leveldown = require('leveldown')
    
     // 1) Create our store
     var db = levelup(leveldown('./data'))
    
     // 3) Fetch by key
     db.get('tabfern-data', function (err, value) {
         if (err) return console.log('Ooops!', err) // likely the key was not found
    
         // Ta da!
         console.log(value.toString('utf8')) // since value is a Buffer
     })
    
  3. Run the following from ~/foo

     npm init
     (...accept all defaults...)
     npm install levelup leveldown
    
  4. Find the TF data. Vivaldi TF data is in /Local Extension Settings (Super User Q). I found mine using ag, but any recursive grep will do:

     cd User\ Data/Default/Local\ Extension\ Settings
     ag -lu tabfern
    

It output several lines since I have multiple TF installations.

  1. For each directory that includes a TF file, one at a time:

    • Copy the contents of that dir into ~/foo/data. After this step, ~/foo/data will have files in it called LOG, CURRENT, *.ldb, ... .
    • Run node extract.js > some-appropriate-filename.tabfern

That will give you the TF backup file, just as if you had made a backup from within TF.

(Edited from https://github.com/cxw42/TabFern/issues/170#issuecomment-473280320)

Clone this wiki locally