En vejledning i, hvordan du synkroniserer dine Chrome-bogmærker med tredjeparts Chrome-browsere som TugaBrowser. Kræver root og er en envejs synkroniseringsmetode.
I løbet af det seneste år er tredjepartsbrowsere baseret på Googles Chrome eksploderet i popularitet. Denne tendens startede efter at Code Aurora Forum (CAF) begyndte at udgive Chromium builds optimeret til Snapdragon-enheder i oktober 2015. Udviklere, der var interesserede i at lave den ultimative, funktionsfyldte browser begyndte at forkaste projektet og tilføjede funktioner såsom en nat tilstand, indholdsblokering, strømbesparende tilstande, bevægelsesunderstøttelse og mere ud over understøttelse af Chrome-bogmærker via Chrome Sync API.
Brugere strømmede til projekter som det populære TugaBrowser på vores fora, fordi disse browsere tilbød mange forbedringer oven i Googles eksisterende Chrome-synkroniseringsfunktioner, som ikke er tilgængelige i ikke-Chrome-browsere. Desværre Google lukke tredjepartsadgang til Chrome Sync API
tilbage i januar med henvisning til en sikkerhedsmæssig bekymring. Google udtalte, at flytningen ikke var bevidst lavet for at hæmme tredjeparts Chrome-browsere, som selv de open source Chromium er klassificeret som, men denne sikkerhedsrettelse stavede i øvrigt slutningen af bogmærkesynkronisering for tredjeparts Chrome-browsere.På nuværende tidspunkt er der stadig ingen måde for browsere som TugaBrowser at synkronisere bogmærkeændringer med Chrome Sync. Men der er en måde at synkronisere dine skrivebordsbogmærker med tredjeparts Chrome-browsere, forudsat at du har root-adgang. Metoden, som vi har skrevet om før, kan grundlæggende opsummeres i disse trin:
- Åbn bogmærkefilen til din tredjeparts Chrome-browser, og kopier kontrolsumværdien
- Skub bogmærkefilen fra Chromes bibliotek til din tredjeparts Chrome-browsers bibliotek, og overskriv den.
- Åbn den nye bogmærkefil, og overskriv kontrolsumværdien med den, du først kopierede
- Tving-luk/dræb tredjeparts Chrome-browseren, så den genindlæser sine bogmærker
Denne metode til at redigere dine bogmærker har eksisteret i årevis som et middel til at gendanne dine bogmærker på skrivebordet i tilfælde af noget gik galt, men at bruge disse trin til at få dine bogmærker på browsere såsom TugaBrowser er en pæn anvendelse af dette gammelt trick. Selvom denne metode faktisk giver dig mulighed for at få dine Chrome-bogmærker på din foretrukne tredjeparts Chrome-browser, kræver det, at du gør disse trin hver gang du tilføjer et nyt bogmærke i Chrome. Det er bestemt ikke praktisk overhovedet, og derfor gik jeg rundt og prøvede det automatisere denne proces.
I videoen ovenfor kan du se, hvordan når jeg åbner TugaBrowser for at vise mine bogmærker frem, vises der 3 bogmærker. Når jeg forlader og genåbner TugaBrowser, en snackbar vises og fortæller mig, at et nyt bogmærke er blevet fundet sammen med en knap til at genstarte TugaBrowser. Når jeg trykker på knappen for at genstarte browseren, åbner jeg bogmærkesiden og ser nu, at et nyt, fjerde bogmærke er blevet tilføjet. I det væsentlige har jeg automatiseret ovenstående 4 trin for at arbejde lydløst i baggrunden, og jeg sender en tutorial her, der viser dig, hvordan du også kan gøre dette!
Før jeg starter med denne tutorial, er der et par ting, jeg skal nævne:
- Denne metode kræver root-adgang. Der er absolut ingen vej uden om dette krav, beklager! Vi roder med filer i /data/data, som ikke kan tilgås uden root.
- Denne metode er en envejs synkronisering, hvilket betyder, at eventuelle bogmærker, du tilføjer til din tredjeparts Chrome-browser, ikke gemmes (og faktisk overskrives). Du bliver nødt til at tilføje nye bogmærker fra en Chrome-browser, der har Chrome-synkronisering aktiveret. Jeg har undersøgt metoder til at tvinge Chrome Sync til at acceptere mine bogmærkeændringer, men jeg tror desværre ikke, det er muligt, fordi versionen af dine bogmærker, der er gemt på Googles server, tilsyneladende altid tilsidesætter dine ændringer lave manuelt.
- Denne metode er sikker. Dine bogmærker er ikke til skade for at blive slettet, fordi vi ikke (og kan) ikke rode med Googles kopi af dine bogmærker, som er gemt på deres server.
Hvis du leder efter en to-vejs synkroniseringsmetode på din tredjeparts Chrome-browser, så undskyld, sådan en metode får du aldrig. Giv Google skylden for det. Hvis du spørger dig selv "hvad er meningen med dette", så er denne tutorial ikke noget for dig. Hvis du ønsker at lette smerten ved at Google fjerner Chrome Sync, så vil du forhåbentlig finde denne vejledning nyttig.
Envejs Chrome-bogmærkesynkronisering til Chrome-browsere fra tredjeparter
Krav:
- Rodadgang
- Tasker ($2.99)
- Synker
- Snackbar Tasker Plugin
- Google Chrome browser
Selvom jeg siger, at Tasker er påkrævet, kan du muligvis slippe afsted med at bruge andre automatiseringsapps i Play Butik. Hvis du vælger at gøre det, er du alene, fordi jeg ikke har nogen erfaring med at bruge dem, så du bliver nødt til selv at tilpasse mit script. Synker er nødvendigt, fordi vi bruger det til at fremtvinge en manuel opdatering af dine bogmærker. Snackbar Tasker-plugin'et er teknisk set ikke nødvendigt, men det er det, der giver den pæne snackbar, der fortæller mig, at der er nye bogmærker med en knap til at genstarte appen. Endelig skal du have Google Chrome (enhver kanal er i orden) installeret (og ikke deaktiveret) på din enhed, fordi den vil give os bogmærkefilen, vi kopierer.
En ting mere at nævne: selvom min tutorial er bygget med TugaBrowser i tankerne, kan du nemt få dette til at fungere med enhver anden Chrome-baseret browser ved at ændre et par trin, som jeg vil skitsere i slutningen nedenfor.
Tutorial
Det script, jeg bruger, er ret komplekst med 29 handlinger i alt, så jeg vil ikke gå for meget i detaljer om, hvordan hver trin fungerer, men du skal bare vide, at dette script i det væsentlige automatiserer de 4 manuelle trin, der er beskrevet i begyndelsen af artikel.
Her er profilbeskrivelsen for dem af jer, der allerede er eksperter i Tasker og vil prøve at kopiere det selv.
CAF Bookmark Sync
Profile: CAF Bookmark Sync (28)
Anvendelse: TugaBrowser
Indtast: Tjek Chrome-bogmærker (27)
A1: Synker - Tving synkronisering [ Konfiguration: Tving synkronisering 2 udbyder(er) Timeout (sekunder):0 ]
A2: Vent [ MS: 0 sekunder: 5 minutter: 0 timer: 0 dage: 0 ]
A3: Kør Shell [ Kommando: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Timeout (sekunder):0 Brug rod: På butiksoutput i: Gem fejl i: butiksresultat I: ]
A4: Læs fil [ File:/sdcard/Tasker/Bookmarks To Var:%json ]
A5: Variabel Split [ Navn:%json Splitter:"checksum": Slet base: Fra ]
A6: Variabel søgning Erstat [ Variabel:%json2 Søg:(?<=")[^"]+(?=") Ignorer store og små bogstaver: Off Multi-Line: Off Kun ét match: På butiksmatches i:%checksum Erstat matches: Fra Erstat med: ]
A7: Hvis [ %ChromeChecksum !Set ]
A8: Variable Set [ Navn:%ChromeChecksum To:%checksum (1) Gentagende variabler: Fra Gør matematik: Fra Tilføj: Fra ]
A9: Ellers
A10: Hvis [ %ChromeChecksum !~ %checksum (1) ]
A11: Variable Set [ Navn:%ChromeChecksum To:%checksum (1) Gentagende variabler: Fra Gør matematik: Fra Tilføj: Fra ]
A12: Kør Shell [ Kommando: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Timeout (sekunder):0 Brug rod: På butik Output i: Gem fejl i: butik Resultat i: ]
A13: Læs fil [ File:/sdcard/Tasker/TugaBookmarks To Var:%tugajson ]
A14: Variabel opdeling [ Navn:%tugajson Splitter:"checksum": Slet base: Fra ]
A15: Variabel søgning Erstat [ Variabel:%tugajson2 Søg:(?<=")[^"]+(?=") Ignorer sag: Off Multi-Line: Off Kun ét match: På butiksmatches i:%checksum Erstat matches: Fra Erstat med: ]
A16: Variabel søgning Erstat [ Variabel:%json2 Søg:(?<=")[^"]+(?=") Ignorer store og små bogstaver: Off Multi-Line: Off Kun ét match: Til Butik Matches In: Erstat Matches: On Erstat med:%checksum (1) ]
A17: Skriv fil [ File:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Tilføj: Fra Tilføj ny linje: Fra ]
A18: Kør Shell [ Kommando: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Timeout (sekunder):0 Brug rod: Til Gem output i: Gem fejl i: Gem resultat i: ]
A19: Snackbar [ Konfiguration: Meddelelse: Nye bogmærker fundet.
Knap: GENSTART
Kommando: Timeout (sekunder):15 ]
A20: Hvis [ %sb_button ~ knap trykkes ]
A21: Gå hjem [ Side: 0 ]
A22: Vent [ MS: 0 sekunder: 2 minutter: 0 timer: 0 dage: 0 ]
A23: Dræb App [ App: TugaBrowser Brug Root: Fra ]
A24: Vent [ MS: 0 sekunder: 2 minutter: 0 timer: 0 dage: 0 ]
A25: Start app [ App: TugaBrowser-data: Ekskluder fra seneste apps: Fra Start altid ny kopi: Fra ]
A26: Afslut If
A27: Slet fil [ File:/sdcard/Tasker/TugaBookmarks Shred Level: 0 Use Root: Off ]
A28: Afslut If
A29: Afslut If
A30: Slet fil [ File:/sdcard/Tasker/Bookmarks Shred Level: 0 Use Root: Off ]
Læs mere
Scriptet aktiveres, når Tasker registrerer, at du har indtastet din foretrukne Chrome-browser fra tredjepart, i mit tilfælde TugaBrowser. Du bliver nødt til at aktivere Tasker's Accessibility Service, så Tasker kan registrere, hvornår du er i din foretrukne browser. Denne del kan nemt ændres til at fungere med andre Chrome-baserede browsere, alt hvad du skal gøre er at vælge hvilken browser du vil have dette script til at køre på i Application Context i Tasker.
Her er nu en kort beskrivelse af, hvad hvert sæt handlinger i denne opgave udfører.
- A1-A2: synkroniser Chrome-bogmærker manuelt fra Googles server, så den installerede Chrome-apps bogmærkefil bliver opdateret. Vent 5 sekunder for at sikre, at der er tid nok til, at synkroniseringen kan fuldføres
- A3-A6: kopier Chromes bogmærkefil til en midlertidig placering, udpak JSON fra filen til en variabel, og brug derefter et regex-filter til at udtrække kontrolsumværdien til en anden variabel
- A7-A10: hvis Tasker ikke har en global variabel %ChromeChecksum-sæt (dvs. første gang du kører scriptet), skal du indstille det til den aktuelle værdi. Hvis den har et værdisæt, skal du derefter kontrollere, om værdien, der er gemt i Tasker-variablen, matcher den aktuelle kontrolsum i bogmærkefilen. Hvis ja, gå videre til A11-A26
- A11: Indstil Tasker-variablen, der holder Chrome-kontrolsummen, til den aktuelle kontrolsum, der er udtrukket fra bogmærkefilen
- A12-A15: kopier TugaBrowsers bogmærkefil til en midlertidig placering, udpak JSON fra filen, og brug derefter et regex-filter til at udtrække kontrolsumværdien
- A16: brug kontrolsumværdien taget fra TugaBrowser og brug den til at erstatte kontrolsumværdien fra Chromes bogmærkefil
- A17-A18: skubbe den opdaterede bogmærkefil taget fra Chrome men med TugaBrowsers kontrolsumværdi ind i TugaBrowsers datamappe
- A19-A26: vis en snackbar, der fortæller os, at der er tilføjet nye bogmærker. Hvis der trykkes på knappen på snackbaren, genstart TugaBrowser, ellers gå videre.
- A27-A30: slet de midlertidige bogmærkefiler, vi arbejdede med, og afslut opgaven
Hvorfor involverer dette så mange trin? Desværre er det, fordi vi ikke har en nem måde at få direkte adgang til den (potentielt store) JSON-datastruktur i bogmærke filer gennem Tasker eller et af dets plug-in såsom AutoTools uden at kopiere filen og udpakke dens indhold til en variabel. Hvis vi kunne, ville dette arbejde være meget mere fortættet, men indtil videre er det, hvad jeg er kommet frem til. Jeg har talt med udvikleren af AutoTools om denne sag, og mens han var i stand til at opdatere AutoTools til være i stand til at læse JSON-data fra en fil, at skrive JSON direkte til en fil kunne ikke gøres gennem Tasker plugin.
Under alle omstændigheder kører dette script i sig selv ekstremt hurtigt på trods af at nogle trin virker unødvendige, fordi jeg ønskede at få dette derude uden at du behøvede at installere unødvendige ekstra plugins ovenpå Tasker. De eneste ting, der gør dette script langsommere, og hvorfor du ser en vis forsinkelse i videoen, er den nødvendige ventetid for Tasker for at sikre, at dine Chrome-bogmærker er blevet synkroniseret fra Googles servere, før du går videre med resten af manuskript. Du kan helt sikkert lege med 'vent'-kommandoerne i Tasker-opgaven for at sænke forsinkelsen, hvis du vil, men det er i sidste ende op til dig.
Download, import og opsætning
Som altid vil vi levere Tasker Profile XML-filen, som du kan få fat i for hurtigt at få denne opsætning til dig selv. Download .prf.xml-filen nedenfor fra AndroidFileHost og gem den på dit interne lager. Åbn Tasker og deaktiver begyndertilstand i Præferencer. Gå tilbage til Taskers hovedskærm, og tryk længe på fanen "Profil" i handlingslinjen øverst, indtil du ser en "import"-indstilling dukker op. Tryk på det, og naviger derefter til det sted, hvor du gemte XML-filen, og vælg den for at importere den.
Download "Chrome Bookmark Sync"-profilen fra AndroidFileHost
Der er 3 meget, meget vigtige trin (og 1 valgfrit, men nødvendigt trin, hvis du ikke kører TugaBrowser), du skal tage, før denne profil fungerer for dig.
- Aktiver Tasker'sTilgængelighedsservice. Du kan gøre det ved at åbne Indstillinger og søge efter "tilgængelighed". Tryk på Tasker, og aktiver derefter dens tilgængelighedstjeneste. Dette er nødvendigt, fordi Tasker ellers ikke kan registrere, hvornår du bruger TugaBrowser (eller enhver anden browser).
- Vælg din Chrome Sync-udbydere i Synker. Du kan gøre dette ved at åbne "Kontroller Chrome-bogmærker"-opgaven og derefter trykke på handling #1 mærket "Synker - Force sync." Tryk på blyantikonet for at få Synkers konfigurationsskærm frem. Rul ned og vælg "Chrome Sync" for din Google-konto.
- Giv Tasker-superbrugeradgang. Den hurtigste måde at gøre dette på er at få Tasker til at forsøge at udføre en handling, der kræver su. Igen inde i "Check Chrome Bookmarks" Opgavekonfigurationsskærmen, tryk denne gang længe på handling #3 mærket "Kør Shell." Tryk på "play"-ikonet, der dukker op i nederste venstre hjørne for at få Tasker til at køre denne handling og denne kun. Tasker vil bede dig om at give den superbrugeradgang. Bemærk til dem af jer, der bruger MagiskSU: Tasker registrerer i øjeblikket ikke MagiskSU alene, så det kan give en fejl, der siger, at din enhed ikke er rootet. Det her vil blive rettet i den næste Tasker-opdatering, men hvis du leder efter en midlertidig løsning, XDA Senior Member RandomPooka har en kort guide til det.
Når du har gjort disse 3 ting, burde denne profil nu begynde at virke. Ved din første lancering af TugaBrowser/din foretrukne browser efter opsætning af dette, gemmer Tasker kontrolsumværdien af Chromes bogmærkefil. Når denne kontrolsumværdi ændres i en efterfølgende lancering af TugaBrowser/din foretrukne browser, erstatter Tasker din browsers bogmærkefil med den fra Chrome.
Bemærk, at for den første lancering af din browser, jeg satte det ikke op med vilje, så Tasker kopierer Chromes bogmærkeværdi, indtil den registrerer en ændring. Det betyder, at din TugaBrowser/browsers foretrukne bogmærker ikke ændres, før du foretager en ændring i Chromes bogmærker. Jeg gjorde dette, så du vil være i stand til at få adgang til TugaBrowser/din foretrukne browser for at gemme dine usynkroniserede/offline bogmærker ikke gemt på Googles servere, så min Tasker-profil ikke sletter dem, uden at du har en chance for at gemme dem andre steder.
Sådan synkroniseres bogmærker på andre browsere end TugaBrowser
Hvis du ikke bruger TugaBrowser, skal du ændre et par trin for at få dette til at fungere på din foretrukne Chrome-baserede browser. Heldigvis er dette meget, meget nemt at gøre. Jeg vil vise dig, hvordan du gør det ved at bruge open source Chromium som eksempel. Her er listen over ting, du skal ændre:
- Skift applikationskonteksten. I stedet for at "TugaBrowser" er indstillet som applikationskontekst, skal du ændre applikationskonteksten til at udløse, når du bruger den foretrukne browser. Bare tryk på konteksten og se efter din app på listen.
- Modificere Handling #12 (Kør Shell-kommandoen) for at pege på din bestemte browsers bogmærkefil. Biblioteket skal se ud som /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Bemærk: de variabler og filnavne, der gemmer den/refererer til den som "TugaBookmarks" kan sikkert ignoreres, du skal bare ændre, hvor Tasker trækker bogmærkefilen fra) Før:
Efter: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
- Modificere Handling #18 (en anden Kør Shell-kommando) for at gemme den opdaterede bogmærkefil i din bestemte browsers datamappe. Igen skal mappen se ud som ovenfor. Før:
Efter: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
- Modificere Handling #23 for at dræbe din foretrukne browser. Dette er så, når du trykker på genstart-knappen i snackbaren, vil Tasker dræbe den rigtige applikation.
- Modificere Handling #25 for at genstarte den samme browser efter eget valg. Dette vil genstarte browseren, efter at den blev dræbt af brugeren, så den kan indlæse det eller de nye bogmærker.
Alt andet kan trygt lades i fred, selvom de oprettede variabel-/filnavne ikke giver mening med netop din browser. Du kan vælge at ændre dem, hvis de generer dig, men sørg for, at du ved, hvad du gør, før du forsøger at gøre det. At have noget Tasker-kendskab vil helt sikkert hjælpe der.
Konklusion
Jeg håber, du finder denne profil nyttig. Jeg ved, at der er meget at tage til her, men det er virkelig vigtigt for dig at læse dette indlæg grundigt igennem, så du forstår, hvad det gør, hvordan det virker, og hvornår det vil virke. Dette tog mig en del trial and error for at få det rigtige, men jeg er ret tilfreds med resultaterne, selvom det virker alt for kompliceret i sidste ende.
Automatisering af denne proces hjælper med at lette noget af byrden ved at synkronisere dine bogmærker med Chrome Sync, selvom det desværre kun vil være en envejssynkronisering og vil altid kræve root-adgang, indtil Google letter på sine begrænsninger, der forhindrer tredjeparts Chrome-browsere i at få adgang til Chrome Synkronisere.
Hvis du har spørgsmål, kommentarer eller bekymringer, så lad os det vide i kommentarerne nedenfor!