![]() |
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 ``` |