Is there anyway to export the list of synchronized tabs from a mobile device while viewing them in desktop Firefox? The tabs I want to save are found under Menu > Library > Synced Tabs
. Right-clicking does not show any type of export functionality. My current thought would be to open all tabs and then Bookmark All Tabs but I have a lot of tabs so it will be slow to load all of the tabs.
Just building upon Thorsten K. answer (to whom I am grateful for hinting at the right direction), on your desktop install the addon About Sync.
This is the piece of software which exposes the info you want. It is not part of vanilla firefox, it is in an addon which was developed for developers.
From there follow Thorsten K.'s answer steps
- open "about:sync" in a new tab, you should see the list "Collections"
- scroll down to "tabs"
- click on "Record Editor (server)"
- in "Select record" select the record of the synced device of which you want want to export the tabs. If you have assigned client names to your devices, it's easy to identify them.
- in the text box below, the list of all entries (one for each synced tab) is shown.
- copy and paste this text into a text editor, and post-process it with text-search-and-replace as needed.
The content is in json format (it is not terribly complex even for non-developers) and the info you want should be in the fields "title" and "urlHistory".
Just beware that the latter is an array, which is to say it can store more than a single url. I am not sure what this exactly models (I suppose that, as each tab can be reused loading different urls, those urls are all shown in that field; however you cannot open that tab on the desktop and go forward and backward through such history). The only history entry that obviously matches the "title" is the first one.
In my case, "urlHistory" holds more than one url in just a handful of records, otherwise it is one single item, like in the two examples below:
[{
"title": "GitHub - akahuku/wasavi: wasavi is an extension for Chrome, Firefox, and Opera. wasavi changes a textarea element to virtual vi editor which supports almost all the vi/ex commands.",
"icon": null,
"urlHistory": [
"https://github.com/akahuku/wasavi",
"https://github.com/Jermolene/TiddlyDesktop/issues/152",
"https://www.google.com/search?q=edit%20tiddler%20in%20external%20editor&ie=utf-8&oe=utf-8&client=firefox-b"
],
"lastUsed": "1548956216.29"
},
{
"title": "[TW5] Markdown and katex plugins - Google Groups",
"icon": null,
"urlHistory": [
"https://groups.google.com/forum/m/#!topic/tiddlywiki/PhFdqZ_eWLE"
],
"lastUsed": "1550038099.58"
}]
If you process the text using a jsonpath processor (for example jsonquerytool.com) with the following expression
$[*].title
you get the list of titles
[
"GitHub - akahuku/wasavi: wasavi is an extension for Chrome, Firefox, and Opera. wasavi changes a textarea element to virtual vi editor which supports almost all the vi/ex commands.",
"[TW5] Markdown and katex plugins - Google Groups"
]
while with
$[*].urlHistory[0]
you obtain the first entry in the urlHistory for each tab.
[
"https://github.com/akahuku/wasavi",
"https://groups.google.com/forum/m/#!topic/tiddlywiki/PhFdqZ_eWLE"
]
jq -n '[inputs]'
. I just used this on about 8500 tabs... –
Scholiast jq '.tabs | .[] | {"title": .title, "url": .urlHistory[0]}' my-exported-tabs.json
and simplify it into a single array using js -n '[inputs]'
. It just works! One minor thing, the extension only works after browser restart. –
Scholiast about:sync
(v 114) –
Armourer Here's a solution. Not nice, but it works (here on FF78.0.2 64 bit).
- open "about:sync" in a new tab, you should see the list "Collections"
- scroll down to "tabs"
- click on "Record Editor (server)"
- in "Select record" select the record of the synced device of which you want want to export the tabs. If you have assigned client names to your devices, it's easy to identify them.
- in the text box below, the list of all entries (one for each synced tab) is shown.
- copy and paste this text into a text editor, and post-process it with text-search-and-replace as needed.
- Voila!
© 2022 - 2024 — McMap. All rights reserved.
jq '.tabs | .[] | {"title": .title, "url": .urlHistory[0]}' my-exported-tabs.json
to get such an output:{ "title": "Example title", "url": "https://example.com/ }
– Scholiast