Hoe u uw Chrome-bladwijzers op het bureaublad kunt synchroniseren met Chrome-browsers van derden op Android

Een tutorial over hoe u uw Chrome-bladwijzers kunt synchroniseren met Chrome-browsers van derden, zoals TugaBrowser. Vereist root en is een eenrichtingssynchronisatiemethode.

Het afgelopen jaar zijn browsers van derden, gebaseerd op Google's Chrome, enorm in populariteit gestegen. Deze trend begon nadat het Code Aurora Forum (CAF) begon met publiceren Chromium-builds geoptimaliseerd voor Snapdragon-apparaten in oktober 2015. Ontwikkelaars die geïnteresseerd waren in het maken van de ultieme browser vol functies, begonnen het project te splitsen en voegden functies toe, zoals een nacht modus, inhoudblokkers, energiebesparende modi, gebarenondersteuning en meer naast ondersteuning voor Chrome-bladwijzers via Chrome Sync API.

Gebruikers stroomden massaal naar projecten zoals de populaire TugaBrowser op onze forums omdat deze browsers veel verbeteringen boden bovenop de bestaande Chrome-synchronisatiefuncties van Google die niet beschikbaar zijn in niet-Chrome-browsers. Helaas, Google sluit de toegang van derden tot de Chrome Sync API af

in januari, onder verwijzing naar een veiligheidsprobleem. Google verklaarde dat de stap niet opzettelijk was gedaan om Chrome-browsers van derden te belemmeren, waarvoor zelfs de open source Chromium is geclassificeerd als, maar deze beveiligingspatch betekende overigens het einde van het synchroniseren van bladwijzers voor Chrome-browsers van derden.

Op dit moment is er nog steeds geen manier voor browsers zoals TugaBrowser om bladwijzerwijzigingen te synchroniseren met Chrome Sync. Maar daar is een manier om uw bureaubladbladwijzers te synchroniseren met Chrome-browsers van derden, op voorwaarde dat u root-toegang heeft. De methode, welke waar we al eerder over hebben gepost, kan in principe in deze stappen worden samengevat:

  1. Open het bladwijzerbestand voor uw Chrome-browser van derden en kopieer de controlesomwaarde
  2. Duw het bladwijzerbestand van de map van Chrome naar de map van uw externe Chrome-browser en overschrijf het.
  3. Open het nieuwe bladwijzerbestand en overschrijf de controlesomwaarde met degene die u eerst hebt gekopieerd
  4. Forceer de Chrome-browser van derden zodat deze de bladwijzers opnieuw laadt

Deze methode om uw bladwijzers te bewerken bestaat al jaren als een manier om uw bladwijzers op het bureaublad te herstellen voor het geval dat er is iets misgegaan, maar het gebruik van deze stappen om uw bladwijzers in browsers zoals TugaBrowser te krijgen, is een mooie toepassing hiervan oude truc. Hoewel u met deze methode inderdaad uw Chrome-bladwijzers in uw favoriete Chrome-browser van derden kunt ophalen, is dit wel vereist voer deze stappen elke keer uit wanneer u een nieuwe bladwijzer toevoegt in Chrome. Dat is beslist niet handig en daarom ben ik het gaan proberen automatiseer dit proces.

In de video hierboven ziet u hoe wanneer ik TugaBrowser open om met mijn bladwijzers te pronken, er 3 bladwijzers worden weergegeven. Wanneer ik TugaBrowser verlaat en opnieuw open, a snack bar wordt weergegeven met de mededeling dat er een nieuwe bladwijzer is gedetecteerd, samen met een knop om TugaBrowser opnieuw te starten. Wanneer ik op de knop druk om de browser opnieuw te starten, open ik de bladwijzerpagina en zie ik dat er een nieuwe, vierde bladwijzer is toegevoegd. In wezen heb ik de bovenstaande vier stappen geautomatiseerd zodat ze stil op de achtergrond kunnen werken, en ik plaats hier een tutorial die laat zien hoe jij dit ook kunt doen!

Voordat ik met deze tutorial begin, zijn er een paar dingen die ik moet vermelden:

  • Deze methode vereist root-toegang. Er is absoluut geen manier om deze vereiste te omzeilen, sorry! We rommelen met bestanden in /data/data die zonder root niet toegankelijk zijn.
  • Deze methode is een eenrichtingssynchronisatie, wat betekent dat eventuele bladwijzers die u aan uw Chrome-browser van derden toevoegt, niet worden opgeslagen (en feitelijk worden overschreven). U moet nieuwe bladwijzers toevoegen vanuit een Chrome-browser waarin Chrome-synchronisatie is ingeschakeld. Ik heb gekeken naar methoden om Chrome Sync te dwingen mijn bladwijzerwijzigingen te accepteren, maar helaas denk ik van niet Dit is mogelijk omdat de versie van uw bladwijzers die op de server van Google is opgeslagen altijd uw wijzigingen lijkt te overschrijven handmatig maken.
  • Deze methode is veilig. Het is niet uitgesloten dat uw bladwijzers worden gewist, omdat we niet knoeien (en kunnen) met de Google-kopie van uw bladwijzers die op hun server is opgeslagen.

Als u op zoek bent naar een tweerichtingssynchronisatiemethode in uw Chrome-browser van derden, sorry, zo'n methode zul je nooit krijgen. Geef Google daar de schuld van. Als je jezelf afvraagt: “Wat is hier de bedoeling van”, dan is deze tutorial niets voor jou. Als je de pijn van het verwijderen van Chrome Sync door Google enigszins wilt verzachten, dan zul je deze tutorial hopelijk nuttig vinden.


Eenrichtingssynchronisatie van Chrome-bladwijzers voor Chrome-browsers van derden

Vereisten:

  • Root-toegang
  • Tasker ($2.99)
  • Synker
  • Snackbar Tasker-plug-in
  • Google Chrome-browser

Hoewel ik zeg dat Tasker vereist is, kun je misschien wegkomen met het gebruik van andere automatiseringsapps in de Play Store. Als je ervoor kiest om dat te doen, sta je er alleen voor, want ik heb geen ervaring met het gebruik ervan, dus je zult mijn script zelf moeten aanpassen. Synker is nodig omdat we het gebruiken om een ​​handmatige vernieuwing van uw bladwijzers te forceren. De Tasker-plug-in voor de snackbar is technisch niet nodig, maar zorgt wel voor de nette snackbar die me laat weten dat er nieuwe bladwijzers zijn met een knop om de app opnieuw te starten. Ten slotte moet Google Chrome (elk kanaal is oké) op uw apparaat zijn geïnstalleerd (en niet uitgeschakeld), omdat dit ons het bladwijzerbestand zal leveren dat we zullen kopiëren.

Nog iets om te vermelden: hoewel mijn tutorial is gebouwd met TugaBrowser Houd er rekening mee dat u dit eenvoudig kunt laten werken met elke andere Chrome-gebaseerde browser door een paar stappen aan te passen, die ik hieronder aan het eind zal beschrijven.

Handleiding

Het script dat ik gebruik is tamelijk complex, met in totaal 29 acties, dus ik zal niet al te gedetailleerd ingaan op hoe elke actie stap werkt, maar weet wel dat dit script in wezen de vier handmatige stappen automatiseert die in het begin van de stap zijn beschreven artikel.

Hier is de profielbeschrijving voor degenen onder u die al experts zijn bij Tasker en deze zelf willen proberen te repliceren.

CAF-bladwijzersynchronisatie

 Profile: CAF Bookmark Sync (28) 

Toepassing: TugaBrowser

Enter: Controleer Chrome-bladwijzers (27)

A1: Synker - Synchronisatie forceren [ Configuratie: Synchronisatie forceren 2 provider(s) Time-out (seconden):0 ]

A2: Wacht [ MS: 0 Seconden: 5 Minuten: 0 Uren: 0 Dagen: 0 ]

A3: Shell uitvoeren [ Commando: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Time-out (seconden): 0 Gebruik root: bij winkeluitvoer in: winkelfouten in: winkelresultaat In: ]

A4: Bestand lezen [ Bestand:/sdcard/Tasker/Bookmarks To Var:%json ]

A5: Variabele splitsing [ Naam:%json Splitter: "checksum": Basis verwijderen: Uit ]

A6: Variabele zoeken Vervangen [ Variabele:%json2 Zoeken:(?<=")[^"]+(?=") Hoofdlettergebruik negeren: Uit Meerdere regels: Uit Slechts één overeenkomst: Aan Overeenkomsten opslaan in:%checksum Overeenkomsten vervangen: Uit Vervangen door: ]

A7: Als [%ChromeChecksum !Set]

A8: Variabelenset [ Naam:%ChromeChecksum To:%checksum (1) Terugkerende variabelen: Uit Wiskunde uitvoeren: Uit Toevoegen: Uit ]

A9: Anders

A10: Als [%ChromeChecksum !~%checksum (1)]

A11: Variabelenset [ Naam:%ChromeChecksum To:%checksum (1) Terugkerende variabelen: Uit Wiskunde uitvoeren: Uit Toevoegen: Uit ]

A12: Voer Shell uit [Opdracht: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Time-out (seconden):0 Gebruik root: aan Uitvoer opslaan in: Fouten opslaan in: winkel Resultaat in: ]

A13: Bestand lezen [ Bestand:/sdcard/Tasker/TugaBookmarks To Var:%tugajson ]

A14: Variabele splitsing [ Naam:%tugajson Splitter: "checksum": Basis verwijderen: Uit ]

A15: Variabele zoeken Vervangen [ Variabele:%tugajson2 Zoeken:(?<=")[^"]+(?=") Hoofdlettergebruik negeren: Uit Meerdere regels: Uit Slechts één overeenkomst: Aan Overeenkomsten opslaan in:%checksum Overeenkomsten vervangen: Uit Vervangen door: ]

A16: Variabele zoeken Vervangen [ Variabele:%json2 Zoeken:(?<=")[^"]+(?=") Hoofdlettergebruik negeren: Uit Meerdere regels: Uit Slechts één overeenkomst: Aan Overeenkomsten opslaan in: Overeenkomsten vervangen: Aan Vervangen door:%controlesom (1) ]

A17: Bestand schrijven [ Bestand:/sdcard/Tasker/Bookmarks Tekst:%json1"checksum":%json2 Toevoegen: Uit Nieuwe regel toevoegen: Uit ]

A18: Voer Shell uit [Opdracht: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Time-out (seconden):0 Gebruik root: aan Uitvoer opslaan in: Fouten opslaan in: Resultaat opslaan in: ]

A19: Snackbar [ Configuratie: Bericht: Nieuwe bladwijzers gedetecteerd.

Knop: HERSTART

Commando: Time-out (seconden):15 ]

A20: Als [ %sb_button ~ Knop ingedrukt ]

A21: Ga naar huis [ Pagina: 0 ]

A22: Wacht [ MS: 0 Seconden: 2 Minuten: 0 Uren: 0 Dagen: 0 ]

A23: App afsluiten [App: TugaBrowser Gebruik root: Uit]

A24: Wacht [ MS: 0 Seconden: 2 Minuten: 0 Uren: 0 Dagen: 0 ]

A25: App starten [ App: TugaBrowser-gegevens: Uitsluiten van recente apps: Uit Altijd nieuwe kopie starten: Uit ]

A26: Einde als

A27: Bestand verwijderen [ Bestand:/sdcard/Tasker/TugaBookmarks Vernietigingsniveau: 0 Gebruik root: Uit ]

A28: Einde als

A29: Einde als

A30: Bestand verwijderen [ Bestand:/sdcard/Tasker/Bookmarks Vernietigingsniveau: 0 Gebruik root: Uit ]

Lees verder

Het script wordt geactiveerd wanneer Tasker detecteert dat u de Chrome-browser van uw keuze van derden heeft geopend, in mijn geval TugaBrowser. U moet de toegankelijkheidsservice van Tasker inschakelen, zodat Tasker kan detecteren wanneer u zich in de browser van uw keuze bevindt. Dit onderdeel kan eenvoudig worden aangepast om met andere Chrome-gebaseerde browsers te werken. Het enige dat u hoeft te doen is selecteren in welke browser u dit script wilt uitvoeren in de toepassingscontext in Tasker.

Hier volgt een korte beschrijving van wat elke reeks acties in deze taak tot stand brengt.

  • A1-A2: synchroniseer Chrome-bladwijzers handmatig vanaf de server van Google, zodat het bladwijzerbestand van de geïnstalleerde Chrome-app wordt bijgewerkt. Wacht vijf seconden om er zeker van te zijn dat er voldoende tijd is om de synchronisatie te voltooien
  • A3-A6: kopieer het bladwijzerbestand van Chrome naar een tijdelijke locatie, extraheer de JSON uit het bestand in een variabele en gebruik vervolgens een regex-filter om de controlesomwaarde naar een andere variabele te extraheren
  • A7-A10: als Tasker geen globale variabele %ChromeChecksum heeft ingesteld (bijv. de eerste keer dat u het script uitvoert), stelt u deze in op de huidige waarde. Als er wel een waarde is ingesteld, controleer dan of de waarde die is opgeslagen in de Tasker-variabele overeenkomt met de huidige controlesom in het bladwijzerbestand. Ga dan verder naar de A11-A26
  • A11: stel de Tasker-variabele met de Chrome-controlesom in op de huidige controlesom die uit het bladwijzerbestand is geëxtraheerd
  • A12-A15: kopieer het bladwijzerbestand van TugaBrowser naar een tijdelijke locatie, extraheer de JSON uit het bestand en gebruik vervolgens een regex-filter om de controlesomwaarde te extraheren
  • A16: gebruik de controlesomwaarde uit TugaBrowser en gebruik deze om de controlesomwaarde uit het bladwijzerbestand van Chrome te vervangen
  • A17-A18: push het bijgewerkte bladwijzerbestand uit Chrome maar met de controlesomwaarde van TugaBrowser naar de gegevensmap van TugaBrowser
  • A19-A26: toon een snackbar die ons vertelt dat er nieuwe bladwijzers zijn toegevoegd. Als de knop op de snackbar wordt ingedrukt, start u TugaBrowser opnieuw op, anders gaat u verder.
  • A27-A30: verwijder de tijdelijke bladwijzerbestanden waarmee we werkten en beëindig de taak

Waarom zijn er zoveel stappen nodig? Helaas komt dit omdat we geen gemakkelijke manier hebben om rechtstreeks toegang te krijgen tot de (potentieel grote) JSON-datastructuur in de maak een bladwijzer van bestanden via Tasker of een van de plug-ins zoals AutoTools zonder het bestand te kopiëren en de inhoud ervan uit te pakken in een variabel. Als we dat zouden kunnen, zou dit werk veel beknopter zijn, maar voor nu is dit wat ik heb bedacht. Ik heb hierover met de ontwikkelaar van AutoTools gesproken, en hoewel hij AutoTools kon updaten naar JSON-gegevens uit een bestand kunnen lezen, kon JSON rechtstreeks naar een bestand schrijven niet via de Tasker inpluggen.

In ieder geval werkt dit script zelf extreem snel, ondanks dat sommige stappen onnodig lijken, omdat I wilde dit naar buiten brengen zonder dat je er onnodige extra plug-ins bovenop hoeft te installeren Tasker. Het enige dat dit script vertraagt, en waarom je enige vertraging in de video ziet, is de wachttijd die nodig is Tasker om ervoor te zorgen dat uw Chrome-bladwijzers zijn gesynchroniseerd vanaf de servers van Google voordat u verder gaat met de rest van de script. Je kunt zeker spelen met de 'wacht'-opdrachten in de Tasker-taak om de vertraging te verminderen als je dat wilt, maar dat is uiteindelijk aan jou.


Downloaden, importeren en instellen

Zoals altijd zullen we u het Tasker Profile XML-bestand leveren dat u kunt gebruiken om deze configuratie snel voor uzelf te maken. Download het onderstaande .prf.xml-bestand van AndroidFileHost en sla het op in uw interne opslag. Open Tasker en schakel de Beginnersmodus uit in Voorkeuren. Ga terug naar het hoofdscherm van Tasker en druk lang op het tabblad "Profiel" in de actiebalk bovenaan totdat je een "import" -optie ziet verschijnen. Druk hierop en navigeer vervolgens naar de locatie waar u het XML-bestand hebt opgeslagen en selecteer het om het te importeren.

Download het profiel "Chrome Bookmark Sync" van AndroidFileHost

Er zijn 3 zeer belangrijke stappen (en 1 optionele, maar noodzakelijke stap als u TugaBrowser niet gebruikt) die u moet nemen voordat dit profiel voor u werkt.

  1. Inschakelen van TaskerToegankelijkheidsdienst. U kunt dit doen door Instellingen te openen en te zoeken naar 'toegankelijkheid'. Tik op Tasker en schakel vervolgens de toegankelijkheidsservice in. Dit is nodig omdat Tasker anders niet kan detecteren wanneer u TugaBrowser (of een andere browser) gebruikt.
  2. Kies jouw Chrome Sync-providers in Synker. U kunt dit doen door de taak 'Chrome-bladwijzers controleren' te openen en vervolgens op Actie #1 met het label 'Synker - Forceer synchronisatie' te tikken. Druk op het potloodpictogram om het configuratiescherm van Synker te openen. Scroll naar beneden en selecteer 'Chrome Sync' voor uw Google-account.
  3. Verleen Tasker-supergebruikerstoegang. De snelste manier om dit te doen is door Tasker te laten proberen een actie uit te voeren waarvoor dit nodig is zo. Opnieuw in het taakconfiguratiescherm "Check Chrome Bookmarks", druk deze keer lang op actie #3 met het label "Uitvoeren". Shell." Druk op het "play"-pictogram dat in de linkerbenedenhoek verschijnt om Tasker deze actie te laten uitvoeren, en deze alleen. Tasker zal u vragen om superuser-toegang te verlenen. Opmerking voor degenen onder u die MagiskSU gebruiken: Tasker detecteert MagiskSU momenteel niet zelf, dus er kan een foutmelding verschijnen dat uw apparaat niet is geroot. Dit zal zijn opgelost in de volgende Tasker-update, maar als u op zoek bent naar een tijdelijke oplossing, XDA Senior Member WillekeurigPooka heeft een korte handleiding daarvoor.

Nadat je deze 3 dingen hebt gedaan, zou dit profiel nu moeten werken. Wanneer u TugaBrowser/uw browser naar keuze voor de eerste keer start nadat u dit hebt ingesteld, slaat Tasker de controlesomwaarde van het bladwijzerbestand van Chrome op. Wanneer die controlesomwaarde verandert bij een volgende start van TugaBrowser/uw browser naar keuze, zal Tasker het bladwijzerbestand van uw browser vervangen door dat van Chrome.

Houd er rekening mee dat u uw browser voor de eerste keer opstart, Ik heb het met opzet niet zo ingesteld dat Tasker de bladwijzerwaarde van Chrome kopieert totdat er een wijziging wordt gedetecteerd. Dit betekent dat de bladwijzers van uw TugaBrowser/browser van uw keuze niet veranderen totdat u een wijziging aanbrengt in de bladwijzers van Chrome. Ik heb dit gedaan zodat u toegang krijgt tot TugaBrowser/de browser van uw keuze om uw niet-gesynchroniseerde/offline bladwijzers op te slaan. opgeslagen op de servers van Google, zodat mijn Tasker-profiel ze niet wegvaagt zonder dat u de kans krijgt ze op te slaan ergens anders.


Bladwijzers synchroniseren met andere browsers dan TugaBrowser

Als u TugaBrowser niet gebruikt, moet u een paar stappen aanpassen om dit werkend te krijgen in uw Chrome-gebaseerde browser naar keuze. Gelukkig is dit heel, heel gemakkelijk te doen. Ik zal je laten zien hoe je dit doet met het open-source Chromium als voorbeeld. Hier is de lijst met dingen die u moet wijzigen:

  1. Wijzig de applicatiecontext. In plaats van dat "TugaBrowser" wordt ingesteld als de applicatiecontext, wijzigt u de applicatiecontext zodat deze wordt geactiveerd wanneer u de browser van uw keuze gebruikt. Tik gewoon op de Context en zoek naar uw app in de lijst.
  2. Bewerken Actie #12 (Run Shell-opdracht) om naar het bladwijzerbestand van uw specifieke browser te verwijzen. De map moet er als volgt uitzien: /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Opmerking: de variabelen en bestandsnamen die het opslaan / ernaar verwijzen als "TugaBookmarks" kunnen veilig worden genegeerd, u hoeft alleen maar te wijzigen waar Tasker het bladwijzerbestand vandaan haalt) Voordat:
    cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
    Na:
    cp /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
  3. Bewerken Actie #18 (nog een Run Shell-opdracht) om het bijgewerkte bladwijzerbestand op te slaan in de gegevensmap van uw specifieke browser. Nogmaals, de map zou er hetzelfde uit moeten zien als hierboven. Voor:
    cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks
    Na:
    cp /sdcard/Tasker/Bookmarks /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks 
  4. Bewerken Actie #23 om uw browser naar keuze te doden. Dit is zo wanneer u op de herstartknop in de snackbar drukt, Tasker de juiste applicatie zal afsluiten.
  5. Bewerken Actie #25 om dezelfde browser van uw keuze opnieuw te starten. Hierdoor wordt de browser opnieuw gestart nadat deze door de gebruiker is afgesloten, zodat deze de nieuwe bladwijzer(s) kan laden.

Al het andere kan veilig met rust worden gelaten, zelfs als de gemaakte variabelen-/bestandsnamen niet logisch zijn in uw specifieke browser. U kunt ervoor kiezen om ze te wijzigen als u er last van heeft, maar zorg ervoor dat u weet wat u doet voordat u dit probeert. Enige bekendheid met Tasker zal daar zeker helpen.


Conclusie

Ik hoop dat je dit profiel nuttig vindt. Ik weet dat er hier veel te verwerken valt, maar het is erg belangrijk dat je dit bericht zorgvuldig leest, zodat je begrijpt wat dit doet, hoe het werkt en wanneer het zal werken. Het heeft me veel vallen en opstaan ​​gekost om dit goed te krijgen, maar ik ben best tevreden met de resultaten, ook al lijkt het uiteindelijk te ingewikkeld.

Het automatiseren van dit proces helpt een deel van de last van het synchroniseren van uw bladwijzers met Chrome Sync te verlichten, hoewel dit helaas alleen maar een kwestie van tijd zal zijn. eenrichtingssynchronisatie en vereist altijd root-toegang totdat Google de beperkingen versoepelt waardoor Chrome-browsers van derden geen toegang krijgen tot Chrome Synchroniseren.

Als u vragen, opmerkingen of opmerkingen heeft, kunt u ons dit laten weten in de reacties hieronder!