Migrace skriptů tampermonkey po upgrade na firefox snap

29. 9. 2023 10:47 Josef Pavlík

Chtěl bych se podělit o čerstvou zkušenost. Třeba se to někomu bude hodit.

Nedávno jsem upgradnul z Ubuntu 18.04 přes 20.04 ma 22.04. Byl to nightmare, ale o tomhle tento blog nebude. Dnes jsem s hrůzou zjistil, že další věc, která přestala fungovat, jsou scripty v tampermonkey ve firefoxu. Kdybych tady měl jenom cizí scripty, jednoduše bych je stáhnul znovu a bylo by vystaráno. Ale mám tady desítku vlastních scriptů na různé dost důležité pracovní záležitosti (registrování klientů a podobně). Velmi nerad bych je psal znovu.

Samozřejmě mám backupy, ale ty mi moc nepomohly. Problém je totiž v tom, že firefox už není nativní program Ubuntu, teď běží jako snap. Snapy nemám rád, tahle epizoda mě v tom jenom utvrdila.

Nebudu zdržovat popisem co všechno jsem zkoušel, dostaneme se hned k výsledku.

Scripty v tampermonkey jsou uloženy v adresáři

.mozilla/firefox/ipyr8373.default-1479389394427/storage/default/moz-extension+++acbf3e13-8c53-4974-98fb-d5dbc026955e^userContextId=4294967295/idb

Konstanta acbf3e13 odpovídá Tampermonkey beta, kterou používám. Tampermonkey stabilní verze má konstantu ff498834, o tom si povíme později. Zbytek kódu byl v nové verzi odlišný, pravděpodobně je vygenerován náhodně.

Zásadní problém je v umístění této cesty. Ve standardním firefoxu tato cesta začíná přímo v home, kdežto v případě snapu tato cesta začíná v ~/snap/firefox/common/

Abych dostal zpátky moje scripty, stačilo smazat adresář v ~/snap/firefox/common/.mo­zilla/firefox/ipyr8373.de­fault-1479389394427/storage/default/moz-extension+++acbf3e13*

a zkopírovat ~/.mozilla/firefox/ipyr8373.default-1479389394427/storage/default/moz-extension+++acbf3e13* do ~/snap/firefox/common/.mo­zilla/firefox/ipyr8373.de­fault-1479389394427/storage/default

rm -rf ~/snap/firefox/common/.mozilla/firefox/ipyr8373.default-1479389394427/storage/default/moz-extension+++acbf3e13*
cp -ar ~/.mozilla/firefox/ipyr8373.default-1479389394427/storage/default/moz-extension+++acbf3e13* ~/snap/firefox/common/.mozilla/firefox/ipyr8373.default-1479389394427/storage/default

Pokud jsem zkopíroval jenom files a nechal jsem jméno adresáře tak, jak bylo, tampermonkey prohlásil, že jsou data corruptnutá. Když jsem ten adresář pojmenoval tak, jak v původním firefoxu, všechno fungovalo. Evidentně je to číslo, které je součástí jména adresáře, použito ke kryptování obsahu databáze.

Poznámka – Stabilní verze tampermonkey je v adresáři moz-extension+++ff498834–0880–4c74–862e-c17d45c8795d^userContextId=4294967295 , takže je potřeba hledat ff498834

Nejjednodušší cesta, jak zjistit, kam firefox sejvuje scripty je sejvnout nový script a podívat se, který file byl změněný a pak hledat podobné adresáře v ~/.mozilla

find ~/snap/firefox/common/.mozilla/firefox/ -mmin 1

Tak to je přibližně všechno, snad to někomu pomůže.

Sdílet