Skip to content

njnmco/odinochka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odinochka

Background / issues with OneTab

I was a heavy OneTab user.

I had 5k+ tabs before my "data loss incident", when GoToMeeting went berserk, crashed chrome, and my tabs were gone...

Towards the end, it was:

  • Slow
  • GA tracking
    • who knows what they are doing with my tab data
  • Requests 900 favicons on boot via Google proxy
    • This also breaks locally hosted apps favicons
  • Not Great Suspender compatible
    • I've req'd this feature at least a few times over last 3 years.
  • Not backed up anywhere
    • Export is manual and in a crap format.
    • When the tabs are gone, they are gone.

So I wrote my own.

TODO

  • Save Tabs
    • Browser action button
    • context menu
    • Keyboard shortcuts
    • Save tabs to indexeddb
    • except pinned tabs
  • UI page
    • list tabs
      • restore tab
      • delete tab
      • favicons
      • drag and drop
        • within tab group
        • between tab group
        • merge tab groups
    • tab groups
      • Restore
      • Rename
      • Delete
      • pop out
    • Counter
    • Options
      • skip pinned tabs
      • Autoremove links
      • How to open Groups
      • Filter Duplicates
      • Import / Export
      • disable favicons
    • Filter box
    • refresh in place
  • Compatible with TabGroups
    • On save window
    • On restore
    • persist group title correctly

Etymology

Russian for singleton, but also:

  • Loner
  • Alaskan trading posts
  • solitary confinement

Advanced Features

Restoring from a history dump

You can use the below jq command to convert from an Export History extension dump format to a file that can be read back in to odinochka.

jq '[{ts:1, name:"restore", tabs:[.[] | {title:.title, url:.url, favicon:"", pinned:false}], urls:[.[].url]}]' history_export.json  >history2.json

Chrome can mysteriously delete data whenever it crashes, so I recommend regularly backing up your tabs using the export features.

Restoring from pinboard.in

  1. Download all links as json at https://api.pinboard.in/v1/posts/all?format=json
  2. Convert using jq '[{ts:3, name:"pinboard", tabs:[ .[] | {title:.description, url:.href, favicon:"", pinned:false} ], urls:[.[].href] }]' downloads/pinbord.json >pinboard.out
  3. Import the converted json

Restoring from a crashed computer with odinochka

Odinochka uses Chrome's internal database to store all tabs. The database folder is located in ~/.config/google-chrome/Default/IndexedDB/chrome-extension_gdoeiedioceagbkajogciogiopdgpoba_0.indexeddb.leveldb/. Close chrome, copy that folder from the old Chrome Profile folder on the old disk to a new profile folder. Restart chrome and odinochka should be populated.