0Day Forums
How can I get list of open tabs in Firefox via a command-line application? - Printable Version

+- 0Day Forums (https://0day.red)
+-- Forum: Coding (https://0day.red/Forum-Coding)
+--- Forum: PowerShell & .ps1 (https://0day.red/Forum-PowerShell-ps1)
+--- Thread: How can I get list of open tabs in Firefox via a command-line application? (/Thread-How-can-I-get-list-of-open-tabs-in-Firefox-via-a-command-line-application)



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

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][1], [SVN][2], 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][3], 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.*

[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]





RE: How can I get list of open tabs in Firefox via a command-line application? - Procircumcrescence339 - 07-21-2023

Using the JSON module from PoshCode, this looks right (bear in mind: I tested this on Firefox 4, where the Tab Panorama results in "hidden" tabs, ymmv).

ConvertFrom-Json -File ~\AppData\R*\M*\F*\P*\*\sessionstore.js -Type PSObject -EA 0 |
Select -Expand Windows | Select -Expand Tabs |
Where { !$_.hidden } | ForEach { @($_.Entries)[-1] } |
Select Title, Url

All the * in the first line are just to make it short. Feel free to expand that to the full path if you care about the (milli)seconds spent searching.


RE: How can I get list of open tabs in Firefox via a command-line application? - escarp662 - 07-21-2023

not in PowerShell but I recently faced this problem so maybe this onliner can help someone:

cat recovery.js | sed 's#{"url":"#\n\n#g' | cut -d'"' -f1 | grep . | sort -u




RE: How can I get list of open tabs in Firefox via a command-line application? - vaccinifer313021 - 07-21-2023

#Test in Firefox 5.0
$sessionStoreFile = "$env:APPDATA\Mozilla\Firefox\Profiles\*.default\sessionstore-backups\recovery.js"
$sessionStoreFileExists = Test-Path $sessionStoreFile
If($sessionStoreFileExists -eq $False) {
#Test in Firefox 2.0, 3.0 and 4.0
$sessionStoreFile = "$env:APPDATA\Mozilla\Firefox\Profiles\*.default\sessionstore.js"
}
(Get-Content -Encoding UTF8 -Raw -Path $sessionStoreFile).Trim('()') | ConvertFrom-Json |
Select -Expand Windows | Select -Expand Tabs |
Where { !$_.hidden } | ForEach { @($_.Entries)[-1] } |
Select Url, Title | Export-Csv -Path $CsvFile -Encoding UTF8 -NoTypeInformation
You can download detail SQL script from [how to export all URLs of Firefox tabs at once(PowerShell)][1]


[1]:

[To see links please register here]




RE: How can I get list of open tabs in Firefox via a command-line application? - perspicuity116 - 07-21-2023

I'd recommend using [brotab](

[To see links please register here]

) to get the URLs of all open tabs:

```
pip install brotab
brotab install
```

Install the web extension as well:

[To see links please register here]


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
```