Návod, jak synchronizovat záložky Chrome s prohlížeči Chrome třetích stran, jako je TugaBrowser. Vyžaduje root a je to metoda jednosměrné synchronizace.
Za poslední rok se popularita prohlížečů třetích stran založená na prohlížeči Google Chrome zvýšila. Tento trend začal poté, co začalo publikování Code Aurora Forum (CAF). Sestavení Chromium optimalizované pro zařízení Snapdragon v říjnu 2015. Vývojáři, kteří měli zájem o vytvoření dokonalého prohlížeče plného funkcí, začali projekt rozvětvovat a přidali funkce, jako je noc režim, blokování obsahu, režimy úspory energie, podpora gest a další nad rámec podpory záložek Chrome prostřednictvím synchronizace Chrome API.
Uživatelé se hrnuli do projektů, jako je populární TugaBrowser na našich fórech, protože tyto prohlížeče nabízely mnohá vylepšení ke stávajícím funkcím synchronizace prohlížeče Chrome od společnosti Google, která nejsou k dispozici v prohlížečích jiných než Chrome. Bohužel Google vypnout přístup třetích stran k rozhraní Chrome Sync API
v lednu s odkazem na bezpečnostní obavy. Google uvedl, že tento krok nebyl učiněn úmyslně, aby omezil prohlížeče Chrome třetích stran, pro které dokonce i open-source Chromium je klasifikován jako, ale tato oprava zabezpečení mimochodem znamenala konec synchronizace záložek pro prohlížeče Chrome třetích stran.V současné době stále neexistuje způsob, jak by prohlížeče, jako je TugaBrowser, synchronizovaly změny záložek se synchronizací Chrome. Ale tam je způsob, jak synchronizovat záložky na ploše s prohlížeči Chrome třetích stran za předpokladu, že máte přístup root. Metoda, která o které jsme psali dříve, lze v zásadě shrnout do těchto kroků:
- Otevřete soubor záložek pro prohlížeč Chrome třetí strany a zkopírujte hodnotu kontrolního součtu
- Přeneste soubor záložek z adresáře prohlížeče Chrome do adresáře prohlížeče Chrome třetí strany a přepište jej.
- Otevřete nový soubor záložek a přepište hodnotu kontrolního součtu tou, kterou jste poprvé zkopírovali
- Vynutit zavření/zabití prohlížeče Chrome třetí strany, aby znovu načetl své záložky
Tento způsob úpravy záložek existuje již léta jako prostředek k obnovení záložek na ploše pro případ něco se pokazilo, ale pomocí těchto kroků k získání záložek v prohlížečích, jako je TugaBrowser, je úhledná aplikace tohoto starý trik. I když vám tato metoda skutečně umožňuje získat záložky Chrome ve vašem oblíbeném prohlížeči Chrome třetí strany, vyžaduje, abyste tyto kroky proveďte pokaždé, když do Chromu přidáte novou záložku. To rozhodně není vůbec pohodlné, a proto jsem se o to pokusil automatizovat tento proces.
Ve výše uvedeném videu si všimněte, že když otevřu TugaBrowser, abych ukázal své záložky, zobrazí se 3 záložky. Když odejdu a znovu otevřu TugaBrowser, a občerstvení se zobrazí, že byla zjištěna nová záložka spolu s tlačítkem pro restartování TugaBrowser. Když stisknu tlačítko pro restartování prohlížeče, otevřu stránku se záložkami a nyní vidím, že byla přidána nová, čtvrtá záložka. V podstatě jsem zautomatizoval výše uvedené 4 kroky, aby fungovaly tiše na pozadí, a zveřejňuji zde tutoriál, který vám ukazuje, jak to můžete udělat i vy!
Než začnu s tímto tutoriálem, musím zmínit několik věcí:
- Tato metoda vyžaduje přístup root. Tento požadavek nelze nijak obejít, omlouváme se! Zahráváme si se soubory v /data/data, ke kterým nelze přistupovat bez root.
- Tato metoda je a jednosměrná synchronizace, což znamená, že žádné záložky, které přidáte do prohlížeče Chrome třetí strany, se neuloží (a ve skutečnosti budou přepsány). Všechny nové záložky budete muset přidat z prohlížeče Chrome, který má povolenou synchronizaci Chrome. Podíval jsem se na způsoby, jak donutit synchronizaci Chrome, aby přijala změny mých záložek, ale bohužel si nemyslím, že tomu tak je je to možné, protože verze vašich záložek uložených na serveru Google se zdá, že vždy přepíše jakékoli vaše změny ručně vyrobit.
- Tato metoda je bezpečný. Smazání vašich záložek nijak nepoškodí, protože si nemůžeme (a nemůžeme) zahrávat s kopií vašich záložek od společnosti Google, které jsou uloženy na jejich serveru.
Pokud hledáte metodu obousměrné synchronizace v prohlížeči Chrome třetí strany, omlouvám se, takovou metodu nikdy nedostanete. Obviňujte z toho Google. Pokud se ptáte sami sebe „jaký to má smysl“, pak tento tutoriál není pro vás. Pokud chcete trochu zmírnit bolest způsobenou Google odstraněním synchronizace Chrome, doufejme, že tento návod shledáte užitečným.
Jednosměrná synchronizace záložek Chrome pro prohlížeče Chrome třetích stran
Požadavky:
- Kořenový přístup
- Tasker ($2.99)
- Synker
- Zásuvný modul Snackbar Tasker
- Prohlížeč Google Chrome
I když říkám, že je vyžadován Tasker, možná vám projde používání jiných automatizačních aplikací v Obchodě Play. Pokud se tak rozhodnete, jste na to sami, protože s jejich používáním nemám žádné zkušenosti, takže si budete muset můj skript přizpůsobit sami. Synker je nezbytný, protože jej používáme k vynucení ručního obnovení vašich záložek. Zásuvný modul Tasker pro snackbar není technicky nutný, ale je to to, co poskytuje úhledně vypadající snackbar, který mi dává vědět, že jsou nové záložky s tlačítkem pro restart aplikace. Nakonec musíte mít na svém zařízení nainstalovaný (a ne deaktivovaný) Google Chrome (jakýkoli kanál je v pořádku), protože nám poskytne soubor záložek, který zkopírujeme.
Ještě jedna věc, kterou je třeba zmínit: ačkoli můj tutoriál je postaven s TugaBrowser Pamatujte, že to můžete snadno uvést do provozu s jakýmkoli jiným prohlížečem založeným na prohlížeči Chrome úpravou několika kroků, které nastíním na konci níže.
Tutorial
Skript, který používám, je poměrně složitý, s celkem 29 akcemi, takže nebudu zacházet do přílišných podrobností o tom, jak krok funguje, ale vězte, že tento skript v podstatě automatizuje 4 ruční kroky popsané na začátku článek.
Zde je popis profilu pro ty z vás, kteří jsou již odborníky na Tasker a chtějí si jej sami zkusit replikovat.
Synchronizace záložek CAF
Profile: CAF Bookmark Sync (28)
Aplikace: TugaBrowser
Zadejte: Zkontrolujte záložky Chrome (27)
A1: Synker – Vynutit synchronizaci [ Konfigurace: Vynutit synchronizaci 2 poskytovatelů (s) časový limit (sekundy):0]
A2: Počkejte [ MS: 0 sekund: 5 minut: 0 hodin: 0 dnů: 0 ]
A3: Spusťte prostředí [ Příkaz: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Timeout (v sekundách):0 Použít kořen: On Store Output In: Store Errors In: Store Result V: ]
A4: Přečtěte si soubor [ File:/sdcard/Tasker/Bookmarks To Var:%json ]
A5: Rozdělení proměnné [Název:%json Splitter:"checksum": Odstranit základ: Vypnuto]
Odpověď 6: Proměnné hledání Nahradit [ Proměnná:%json2 Hledat:(?<=")[^"]+(?=") Ignorovat velikost písmen: Vypnuto Víceřádkové: Vypnuto Pouze jedna shoda: Zapnuto Shody v obchodě:%kontrolní součet Nahradit shody: Vypnuto Nahradit za: ]
A7: Pokud [ %ChromeChecksum !Set ]
A8: Sada proměnných [ Název:%ChromeChecksum To:%checksum (1) Proměnné opakování: Vypnuto Dělat matematiku: Vypnuto Připojit: Vypnuto]
A9: Jinak
Odpověď 10: Pokud [ %ChromeChecksum !~ %checksum (1) ]
A11: Sada proměnných [ Název:%ChromeChecksum To:%checksum (1) Proměnné opakování: Vypnuto Dělat matematiku: Vypnuto Připojit: Vypnuto]
Odpověď 12: Spusťte Shell [ Příkaz: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Časový limit (v sekundách):0 Použít kořen: On Store Výstup In: Store Errors In: Store Výsledek v: ]
A13: Přečíst soubor [ Soubor:/sdcard/Tasker/TugaBookmarks To Var:%tugajson]
A14: Rozdělení proměnné [Název:%tugajson Splitter:"checksum": Smazat základ: Vypnuto]
Odpověď 15: Proměnné hledání Nahradit [ Proměnná:%tugajson2 Hledat:(?<=")[^"]+(?=") Ignorovat velikost písmen: Vypnuto Víceřádkové: Vypnuto Pouze jedna shoda: Zapnuto Shody v obchodě:%kontrolní součet Nahradit shody: Vypnuto Nahradit za: ]
Odpověď 16: Proměnné hledání Nahradit [ Proměnná:%json2 Hledat:(?<=")[^"]+(?=") Ignorovat velikost písmen: Vypnuto Víceřádkové: Vypnuto Pouze jedna shoda: Zapnuto Shody v obchodě: Nahradit shody: Zapnuto Nahradit čím:%kontrolní součet (1) ]
A17: Zapsat soubor [ Soubor:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Připojit: Vypnuto Přidat nový řádek: Vypnuto]
A18: Spusťte prostředí [ Příkaz: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Časový limit (v sekundách):0 Použít kořen: Zapnuto Store Output In: Store Errors In: Store Result In: ]
A19: Snackbar [ Konfigurace: Zpráva: Byly zjištěny nové záložky.
Tlačítko: RESTART
Příkaz: Časový limit (sekundy):15 ]
Odpověď 20: Pokud [ %sb_button ~ tlačítko stisknuto ]
A21: Přejít domů [ Stránka: 0 ]
A22: Počkejte [ MS: 0 sekund: 2 minuty: 0 hodin: 0 dnů: 0]
A23: Kill App [ App: TugaBrowser Use Root: Off ]
Odpověď 24: Počkejte [ MS: 0 sekund: 2 minuty: 0 hodin: 0 dnů: 0]
Odpověď 25: Spusťte aplikaci [ Aplikace: Data TugaBrowser: Vyloučit z posledních aplikací: Vypnuto Vždy začít novou kopii: Vypnuto]
A26: End If
A27: Odstraňte soubor [ File:/sdcard/Tasker/TugaBookmarks Úroveň skartování: 0 Použít kořen: Vypnuto]
A28: End If
A29: End If
A30: Odstraňte soubor [Soubor:/sdcard/Tasker/Záložky Úroveň skartování: 0 Použít kořen: Vypnuto]
Přečtěte si více
Skript se aktivuje vždy, když Tasker zjistí, že jste zadali prohlížeč Chrome třetí strany podle vašeho výběru, v mém případě TugaBrowser. Budete muset povolit Tasker's Accessibility Service, aby Tasker mohl zjistit, kdy jste ve zvoleném prohlížeči. Tuto část lze snadno upravit tak, aby fungovala s jinými prohlížeči založenými na prohlížeči Chrome, vše, co musíte udělat, je vybrat, ve kterém prohlížeči chcete tento skript spustit, v kontextu aplikace v Taskeru.
Nyní je zde stručný popis toho, čeho každá sada akcí v tomto úkolu dosahuje.
- A1-A2: ručně synchronizujte záložky Chrome ze serveru Google, aby se aktualizoval soubor záložek nainstalované aplikace Chrome. Počkejte 5 sekund, abyste zajistili dostatek času na dokončení synchronizace
- A3-A6: zkopírujte soubor záložek Chrome do dočasného umístění, extrahujte JSON ze souboru do proměnné a poté pomocí regulárního filtru extrahujte hodnotu kontrolního součtu do jiné proměnné
- A7-A10: pokud Tasker nemá nastavenou globální proměnnou %ChromeChecksum (tj. při prvním spuštění skriptu), nastavte jej na aktuální hodnotu. Pokud má nastavenou hodnotu, zkontrolujte dále, zda hodnota uložená v proměnné Tasker odpovídá aktuálnímu kontrolnímu součtu v souboru záložek. Pokud ano, přejděte na A11-A26
- A11: nastavení proměnné Tasker, která drží kontrolní součet Chrome, na aktuální kontrolní součet extrahovaný ze souboru záložek
- A12-A15: zkopírujte soubor záložek TugaBrowser do dočasného umístění, extrahujte ze souboru JSON a poté pomocí regulárního filtru extrahujte hodnotu kontrolního součtu
- A16: použijte hodnotu kontrolního součtu převzatou z TugaBrowser a použijte ji k nahrazení hodnoty kontrolního součtu ze souboru záložek Chrome
- A17-A18: přesuňte aktualizovaný soubor záložek převzatý z Chrome, ale s hodnotou kontrolního součtu TugaBrowser do datového adresáře TugaBrowser
- A19-A26: zobrazit panel s občerstvením, který nám říká, že byly přidány nové záložky. Pokud stisknete tlačítko na snackbaru, restartujte TugaBrowser, jinak pokračujte.
- A27-A30: odstranit dočasné soubory záložek, se kterými jsme pracovali, a ukončit úlohu
Proč to zahrnuje tolik kroků? Bohužel je to proto, že nemáme snadný způsob přímého přístupu k (potenciálně velké) datové struktuře JSON v záložky souborů přes Tasker nebo některý z jeho zásuvných modulů, jako je AutoTools, aniž byste museli zkopírovat soubor a extrahovat jeho obsah do variabilní. Kdybychom mohli, tato práce by byla mnohem zhuštěnější, ale prozatím jsem přišel s tímto. Mluvil jsem o této záležitosti s vývojářem AutoTools, a když byl schopen aktualizovat AutoTools na být schopen číst data JSON ze souboru, zápis JSON přímo do souboru nelze provést prostřednictvím Taskeru zapojit.
V každém případě tento skript sám běží extrémně rychle, i když se některé kroky zdají zbytečné, protože já chtěl jsem to dostat ven, aniž byste museli instalovat další zbytečné pluginy Tasker. Jediná věc, která tento skript zpomaluje a proč ve videu vidíte nějaké zpoždění, je nezbytná čekací doba Tasker, aby se ujistil, že vaše záložky Chrome byly synchronizovány se servery Google, než budete pokračovat se zbytkem skript. Určitě si můžete pohrát s příkazy „čekejte“ v Tasker Task, abyste snížili zpoždění, pokud chcete, ale to je nakonec na vás.
Stáhnout, importovat a nastavit
Jako vždy vám poskytneme soubor Tasker Profile XML, který si můžete vzít a rychle si toto nastavení sami nastavit. Stáhněte si níže uvedený soubor .prf.xml z AndroidFileHost a uložte jej do interního úložiště. Otevřete Tasker a deaktivujte režim pro začátečníky v Předvolbách. Vraťte se na hlavní obrazovku Taskeru a dlouze stiskněte záložku „Profil“ na liště akcí nahoře, dokud neuvidíte vyskakovací možnost „importovat“. Stiskněte to a přejděte na místo, kam jste uložili soubor XML, a vyberte jej k importu.
Stáhněte si profil „Synchronizace záložek Chrome“ z AndroidFileHost
Existují 3 velmi, velmi důležité kroky (a 1 volitelný, ale nezbytný krok, pokud nepoužíváte TugaBrowser), které musíte provést, než vám bude tento profil fungovat.
- Umožnit Tasker'sSlužba usnadnění. Můžete to udělat tak, že otevřete Nastavení a vyhledáte „přístupnost“. Klepněte na Tasker a povolte jeho službu usnadnění. To je nutné, protože jinak Tasker nemůže zjistit, kdy používáte TugaBrowser (nebo jakýkoli jiný prohlížeč).
- Zvolte váš Poskytovatelé synchronizace Chrome ve službě Synker. Můžete to udělat tak, že otevřete úlohu „Zkontrolovat záložky Chrome“ a poté klepnete na akci č. 1 označenou „Synker – Vynutit synchronizaci“. Stisknutím ikony tužky vyvolejte konfigurační obrazovku Synker. Přejděte dolů a vyberte pro svůj účet Google možnost Synchronizace Chrome.
- Udělte Tasker superuživatelský přístup. Nejrychlejší způsob, jak toho dosáhnout, je přimět Tasker, aby se pokusil provést akci, která vyžaduje su. Opět na obrazovce konfigurace úloh „Zkontrolovat záložky Chrome“, tentokrát dlouze stiskněte akci č. 3 označenou „Spustit Shell." Stiskněte ikonu "přehrát", která se objeví v levém dolním rohu, aby Tasker spustil tuto akci a tuto pouze. Tasker vás požádá o udělení superuživatelského přístupu. Poznámka pro ty z vás, kteří používají MagiskSU: Tasker v současné době nedetekuje MagiskSU sám o sobě, takže může vyvolat chybu, že vaše zařízení není zakořeněné. Tohle bude opraveno v příští aktualizaci Taskeru, ale pokud hledáte dočasné řešení, XDA Senior Member RandomPooka má krátký návod na to.
Poté, co provedete tyto 3 věci, by měl tento profil nyní začít fungovat. Při prvním spuštění TugaBrowser/vašeho zvoleného prohlížeče po nastavení Tasker uloží hodnotu kontrolního součtu souboru záložek Chrome. Když se tato hodnota kontrolního součtu změní při následném spuštění TugaBrowser/vašeho prohlížeče, pak Tasker nahradí soubor záložek vašeho prohlížeče souborem z Chrome.
Všimněte si, že při prvním spuštění prohlížeče, záměrně jsem to nenastavil, takže Tasker bude kopírovat hodnotu záložky Chrome, dokud nezjistí změnu. To znamená, že záložky vašeho TugaBrowseru/prohlížeče se nezmění, dokud neprovedete změnu v záložkách Chrome. Udělal jsem to proto, abyste měli přístup k TugaBrowser/vašemu prohlížeči, abyste si uložili své nesynchronizované/offline záložky uloženy na serverech Google, takže můj profil Tasker je nevymaže, aniž byste měli možnost je uložit někde jinde.
Jak synchronizovat záložky v jiných prohlížečích než TugaBrowser
V případě, že nepoužíváte TugaBrowser, budete muset upravit několik kroků, aby to fungovalo ve vašem zvoleném prohlížeči Chrome. Naštěstí je to velmi, velmi snadné. Ukážu vám, jak to udělat, na příkladu open-source Chromium. Zde je seznam věcí, které budete muset změnit:
- Změňte kontext aplikace. Místo toho, aby byl jako kontext aplikace nastaven „TugaBrowser“, změňte kontext aplikace tak, aby se spouštěl při použití zvoleného prohlížeče. Stačí klepnout na Kontext a vyhledat svou aplikaci v seznamu.
- Modifikovat Akce #12 (Spustit příkaz Shell), aby ukázal na soubor záložek vašeho konkrétního prohlížeče. Adresář by měl vypadat takto /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Poznámka: proměnné a názvy souborů, které jej ukládají/odkazují na něj jako „TugaBookmarks“, lze bezpečně ignorovat, stačí změnit, odkud Tasker stahuje soubor záložek) Před:
Po:cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
cp /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
- Modifikovat Akce #18 (další příkaz Run Shell) k uložení aktualizovaného souboru záložek do datového adresáře vašeho konkrétního prohlížeče. Adresář by měl opět vypadat stejně jako výše. Před:
Po:cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks
cp /sdcard/Tasker/Bookmarks /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks
- Modifikovat Akce #23 zabít váš prohlížeč. Je to tak, když stisknete tlačítko restartu na snackbaru, Tasker zabije správnou aplikaci.
- Modifikovat Akce #25 pro opětovné spuštění stejného prohlížeče dle vašeho výběru. Tím se znovu spustí prohlížeč poté, co byl zabit uživatelem, aby mohl načíst novou záložku (záložky).
Vše ostatní můžete klidně nechat být, i když vytvořené názvy proměnných/souborů nedávají ve vašem konkrétním prohlížeči smysl. Pokud vás obtěžují, můžete je změnit, ale než se o to pokusíte, ujistěte se, že víte, co děláte. Mít určitou znalost Taskeru tam určitě pomůže.
Závěr
Doufám, že pro vás bude tento profil užitečný. Vím, že je tu toho hodně, ale je opravdu důležité, abyste si tento příspěvek pečlivě přečetli, abyste pochopili, co to dělá, jak to funguje a kdy to bude fungovat. Stálo mě to spoustu pokusů a omylů, abych to udělal správně, ale s výsledky jsem docela spokojený, i když se to nakonec zdá příliš komplikované.
Automatizace tohoto procesu pomáhá zmírnit některé břemeno spojené se synchronizací záložek pomocí synchronizace Chrome, i když to bohužel vždy bude jen jednosměrná synchronizace a bude vždy vyžadovat přístup root, dokud Google neuvolní svá omezení, která brání prohlížečům Chrome třetích stran v přístupu k Chrome Synchronizovat.
Pokud máte nějaké dotazy, připomínky nebo obavy, dejte nám vědět v komentářích níže!