Saving all tabs on Android Chrome and Firefox to file

Saving all tabs on Android Chrome and Firefox to file

export all tabs, save open tabs

Pre svega je potrebno instalirati adb uz komandu scoop install adb i na telefonu enable USB debugging. Zgodno je u “Developer options” uključiti i opciju “Stay awake”.

Firefox

Chrome

2.

Ovaj proces ipak ne izvlači sve tabove, a ne znam zašto, odnosno izvlači zadnjih X komada, pa moraš da radiš u grupama

Kao prvo, ne zaboravi da open Chrome on phone and leave it open.

U Chrome na računaru samo idi na chrome://inspect/#devices Poslednjih X tabova će biti izlistano, ali copy-paste neće dobro raditi jer odseca dugačke URL-ove. Verovatno možeš iz console sa JS da izvučeš full URL list, ali čak i da su URL kompletni, to nije future-proof jer Chrome u svakom trenutku može da promeni HTML te strane.

Zato je meni mnogo bolji metod uz adb, odnosno to isto, preko CLI i adb komande ali i kroz standardni API koji daje rezultat u JSON formatu. Inaće, ceo API je dokumentovan ovde: bugger-daemon/README.md at master · buggerjs/bugger-daemon

# allow usb debugging on phone popup when asked
adb forward tcp:9222 localabstract:chrome_devtools_remote
# should respond with "9222"

# create file chrome-tabs.json or you can open URL in browser
wget http://localhost:9222/json/list -O chrome-tabs.json 

Zatim da malo sve to obradimo… Ali da ne veruješ šta sve moram da uradim da bi ovo radilo u PowerShell, zbog toga što on dobro ne radi sa UTF8:

# prvo pokreni ovo da bi UTF8 bio pravilan
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

# in powershell, we must escape double-quote by putting \` in front
jq -r ".[] | \`"[\`" + .title + \`"](\`" + .url + \`")\`"" chrome-tabs.json > chrome-list-of-tabs-urls.md

# kreiraj powershell commands to close tabs
jq -r ".[] | \`"curl.exe -s http://localhost:9222/json/close/\`" + .id + \`"; sleep 1; echo ''\`"" chrome-tabs.json > chrome-close-tabs.ps1

# a zatim i pokreni tu komandu
./chrome-close-tabs.ps1

Svo vreme dok script uklanja tab-ove, možeš u browseru da proveravaš kako se broj tabova smamnjuje.

API endpoint za clos tab-a je

http://localhost:9222/json/close/{pageId}

Konverzija JSON-a u CSV

1
((Get-Content -Encoding utf8 -Path $pathToJsonFile -Raw) | ConvertFrom-Json) | Export-CSV $pathToOutputFile -NoTypeInformation -Encoding utf8

Skriptovi koji rade ovo isto, ali ne olakšavaju skoro pa nimalo:

ali oba ustvari ne rade baš ništa osim one dve komande.


Firefox

Firefox takođe ima remote debugging, ali sve to nije potrebno jer ima opciju “Share All Tabs”. Ne možeš baš da odmah pošalješ na Telegram, ali prvo snimi u TXT fajl pa zatim pošalji fajl.

date 18. Sep 2023 | modified 29. Dec 2023
filename: 2023-09-18 Android » Exporting Opened Tab Links