hho2002 / odinochka

featherweight tab manager

Home Page:http://odinochka.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

odinochka

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
        • pop out youtube mini player
          • resizing preserves aspect ratio
      • 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
  • automated cloud backup

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

Automated cloud backup

To enable automated cloud backup, add the following to the "Advanced options":

{
"url": "https://MY.REST/ENDPOINT",
"method": "PUT",
"interval": 30,
"consent": "I know what I'm doing."
}

A timer (interval in minutes) will XHR the dumped tab database to the specified URL.

To use Amazon AWS for storage:

  • Create an S3 bucket
  • Proxy the bucket using AWS API Gateway (see tutorial)
  • Enable CORS on the Gateway

About

featherweight tab manager

http://odinochka.xyz


Languages

Language:JavaScript 75.9%Language:HTML 23.9%Language:Makefile 0.3%