How can I get list of open tabs in Firefox via a command-line application?

Viewed 13571

I have a lot of tabs open in Firefox. After I close Firefox and then run it again, the tabs are there. That's all right.

However, from time to time, Firefox crashes and my tabs are lost. How do I get the open tabs and backup the list to some file?

(With tabs in a file, I can also use Git, SVN, or whatever to store them and optionally find some link 'that I saw in my browser but can't remember what it was'.)

What I got so far:

I'm able to get some URLs, but that's doesn't seem to be exactly what I see in Firefox:

$c = ((gc c:\Users\..\AppData\Roaming\Mozilla\Firefox\Profiles\xfvj8vd5.default\sessionstore.js ) -join '')
$sess = [Jayrock.Json.Conversion.JsonConvert]::Import( $c.trim('()') )
$sess.windows[0].tabs |
  % { $_.entries } |
  % { $_.url } |
  Select-Object -Unique

Please, don't tell me "use this addon or that addon". I really would like do it as I described.

4 Answers

I'd recommend using brotab to get the URLs of all open tabs:

pip install brotab
brotab install

Install the web extension as well: https://addons.mozilla.org/en-US/firefox/addon/brotab/

Restart Firefox, and you can use brotab list and parse it as so:

bt list | awk -F'\t' '{
    print $2
}' > urls-backup.txt

Then open all URLs in urls-backup.txt with normal Firefox:

while read url; do
    firefox "$url"
done < urls-backup.txt
Related