Slik synkroniserer du Chrome-bokmerkene for skrivebordet med tredjeparts Chrome-nettlesere på Android

En veiledning om hvordan du synkroniserer Chrome-bokmerkene dine med tredjeparts Chrome-nettlesere som TugaBrowser. Krever root og er en enveis synkroniseringsmetode.

I løpet av det siste året har tredjeparts nettlesere basert på Googles Chrome eksplodert i popularitet. Denne trenden startet etter at Code Aurora Forum (CAF) begynte å publisere Chromium-bygg optimalisert for Snapdragon-enheter i oktober 2015. Utviklere som var interessert i å lage den ultimate, funksjonsfylte nettleseren begynte å forkaste prosjektet og la til funksjoner som en natt modus, innholdsblokkere, strømsparingsmoduser, geststøtte og mer i tillegg til støtte for Chrome-bokmerker gjennom Chrome Sync API.

Brukere strømmet til prosjekter som det populære TugaBrowser på forumene våre fordi disse nettleserne tilbød mange forbedringer i tillegg til Googles eksisterende Chrome-synkroniseringsfunksjoner som ikke er tilgjengelige i ikke-Chrome-nettlesere. Dessverre, Google slå av tredjepartstilgang til Chrome Sync API tilbake i januar, med henvisning til en sikkerhetsbekymring. Google uttalte at flyttingen ikke var med vilje for å hindre tredjeparts Chrome-nettlesere, som til og med

åpen kildekode Chromium er klassifisert som, men denne sikkerhetsoppdateringen stavet forresten slutten på bokmerkesynkronisering for tredjeparts Chrome-nettlesere.

På dette tidspunktet er det fortsatt ingen måte for nettlesere som TugaBrowser å synkronisere bokmerkeendringer med Chrome Sync. Men det er en måte å synkronisere skrivebordsbokmerkene dine med tredjeparts Chrome-nettlesere, forutsatt at du har root-tilgang. Metoden, som vi har skrevet om før, kan i utgangspunktet oppsummeres i disse trinnene:

  1. Åpne bokmerkefilen for din tredjeparts Chrome-nettleser og kopier sjekksumverdien
  2. Skyv bokmerkefilen fra Chromes katalog til tredjeparts Chrome-nettleserens katalog, og overskriv den.
  3. Åpne den nye bokmerkefilen og overskriv kontrollsumverdien med den du først kopierte
  4. Tving-lukk/drep tredjeparts Chrome-nettleseren slik at den laster inn bokmerkene på nytt

Denne metoden for å redigere bokmerkene dine har eksistert i årevis som et middel for å gjenopprette bokmerkene på skrivebordet i tilfelle noe gikk galt, men å bruke disse trinnene for å få bokmerkene dine på nettlesere som TugaBrowser er en fin applikasjon av dette gammelt triks. Selv om denne metoden faktisk lar deg få Chrome-bokmerkene dine på din favoritt tredjeparts Chrome-nettleser, krever den at du gjør disse trinnene hver gang du legger til et nytt bokmerke i Chrome. Det er absolutt ikke praktisk i det hele tatt, og det var derfor jeg prøvde å gjøre det automatisere denne prosessen.

I videoen ovenfor, legg merke til hvordan når jeg åpner TugaBrowser for å vise frem bokmerkene mine, vises det 3 bokmerker. Når jeg forlater og åpner TugaBrowser igjen, en snackbar vises som forteller meg at et nytt bokmerke har blitt oppdaget sammen med en knapp for å starte TugaBrowser på nytt. Når jeg trykker på knappen for å starte nettleseren på nytt, åpner jeg bokmerkesiden og ser nå at et nytt, fjerde bokmerke er lagt til. I hovedsak har jeg automatisert de 4 trinnene ovenfor for å jobbe stille i bakgrunnen, og jeg legger ut en veiledning her som viser deg hvordan du også kan gjøre dette!

Før jeg begynner med denne opplæringen, er det et par ting jeg må nevne:

  • Denne metoden krever root-tilgang. Det er absolutt ingen vei rundt dette kravet, beklager! Vi roter med filer i /data/data som ikke kan nås uten root.
  • Denne metoden er en enveis synkronisering, noe som betyr at eventuelle bokmerker du legger til i tredjeparts Chrome-nettleseren ikke lagres (og faktisk overskrives). Du må legge til nye bokmerker fra en Chrome-nettleser som har Chrome-synkronisering aktivert. Jeg har sett på metoder for å tvinge Chrome Sync til å godta bokmerkeendringene mine, men dessverre tror jeg ikke det er mulig fordi versjonen av bokmerkene dine som er lagret på Googles server ser ut til å alltid overstyre eventuelle endringer du lage manuelt.
  • Denne metoden er sikker. Bokmerkene dine er ikke til skade for å bli slettet, fordi vi ikke roter (og kan ikke) rote med Googles kopi av bokmerkene dine som er lagret på serveren deres.

Hvis du leter etter en toveis synkroniseringsmetode på tredjeparts Chrome-nettleseren din, beklager du, du vil aldri få en slik metode. Klandre Google for det. Hvis du spør deg selv "hva er poenget med dette", da er ikke denne opplæringen noe for deg. Hvis du ønsker å lette smerten ved at Google fjerner Chrome Sync, vil du forhåpentligvis finne denne veiledningen nyttig.


Enveis Chrome-bokmerkesynkronisering for tredjeparts Chrome-nettlesere

Krav:

  • Rot tilgang
  • Tasker ($2.99)
  • Synker
  • Snackbar Tasker Plugin
  • Google Chrome-nettleseren

Selv om jeg sier at Tasker er nødvendig, kan du kanskje slippe unna med å bruke andre automatiseringsapper i Play Store. Hvis du velger å gjøre det, er du på egenhånd fordi jeg ikke har noen erfaring med å bruke dem, så du må tilpasse skriptet mitt selv. Synker er nødvendig fordi vi bruker det til å tvinge frem en manuell oppdatering av bokmerkene dine. Snackbar Tasker-plugin er teknisk sett ikke nødvendig, men det er det som gir den pene snackbaren som forteller meg at det er nye bokmerker med en knapp for å starte appen på nytt. Til slutt må du ha Google Chrome (enhver kanal er i orden) installert (og ikke deaktivert) på enheten din fordi den vil gi oss bokmerkefilen vi vil kopiere.

En ting til å nevne: selv om opplæringen min er bygget med TugaBrowser Husk at du enkelt kan få dette til å fungere med en hvilken som helst annen Chrome-basert nettleser ved å endre noen få trinn, som jeg vil skissere på slutten nedenfor.

Opplæringen

Skriptet jeg bruker er ganske komplekst, med totalt 29 handlinger, så jeg vil ikke gå i overdreven detalj om hvordan hver trinn fungerer, men bare vit at dette skriptet i hovedsak automatiserer de 4 manuelle trinnene som er skissert i begynnelsen av artikkel.

Her er profilbeskrivelsen for de av dere som allerede er eksperter på Tasker og vil prøve å kopiere den selv.

CAF Bookmark Sync

 Profile: CAF Bookmark Sync (28) 

Applikasjon: TugaBrowser

Enter: Sjekk Chrome-bokmerker (27)

A1: Synker - Tving synkronisering [ Konfigurasjon: Tving synkronisering 2-leverandør(er) Tidsavbrudd (sekunder):0 ]

A2: Vent [ MS: 0 sekunder: 5 minutter: 0 timer: 0 dager: 0 ]

A3: Kjør Shell [ Kommando: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Tidsavbrudd (sekunder):0 Bruk rot: På butikkutgang i: lagringsfeil i: butikkresultat I: ]

A4: Les fil [ File:/sdcard/Tasker/Bookmarks To Var:%json ]

A5: Variabel Split [ Navn:%json Splitter:"sjekksum": Slett base: Av ]

A6: Variabelt søk Erstatt [ Variabel:%json2 Søk:(?<=")[^"]+(?=") Ignorer store og små bokstaver: Av Multi-Line: Off Bare ett treff: På Butikktreff I:%checksum Erstatt treff: Av Erstatt med: ]

A7: Hvis [ %ChromeChecksum !Set ]

A8: Variable Set [ Navn:%ChromeChecksum To:%checksum (1) Gjentaksvariabler: Av Gjør matematikk: Av Legg til: Av ]

A9: Ellers

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

A11: Variable Set [ Navn:%ChromeChecksum To:%checksum (1) Gjentaksvariabler: Av Gjør matematikk: Av Legg til: Av ]

A12: Kjør Shell [ Kommando: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Tidsavbrudd (sekunder):0 Bruk Root: På Butikk Utgang Inn: Lagre feil i: Butikk Resultere i: ]

A13: Les fil [ File:/sdcard/Tasker/TugaBookmarks To Var:%tugajson ]

A14: Variabel Split [ Navn:%tugajson Splitter:"sjekksum": Slett base: Av ]

A15: Variabelt søk Erstatt [ Variabel:%tugajson2 Søk:(?<=")[^"]+(?=") Ignorer store og små bokstaver: Av Multi-Line: Off Bare ett treff: På Butikktreff I:%checksum Erstatt treff: Av Erstatt med: ]

A16: Variabelt søk Erstatt [ Variabel:%json2 Søk:(?<=")[^"]+(?=") Ignorer store og små bokstaver: Av Multi-Line: Off Bare ett treff: På Butikktreff i: Erstatt treff: På Erstatt med:%sjekksum (1) ]

A17: Skriv fil [ File:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Legg til: Av Legg til ny linje: Av ]

A18: Kjør Shell [ Kommando: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Tidsavbrudd (sekunder):0 Bruk rot: På Lagre utdata i: Lagre feil i: Lagre resultat i: ]

A19: Snackbar [ Konfigurasjon: Melding: Nye bokmerker oppdaget.

Knapp: START på nytt

Kommando: Tidsavbrudd (sekunder):15 ]

A20: Hvis [ %sb_button ~ knapp trykket ]

A21: Gå hjem [ Side: 0 ]

A22: Vent [ MS: 0 sekunder: 2 minutter: 0 timer: 0 dager: 0 ]

A23: Kill App [ App: TugaBrowser Bruk Root: Av ]

A24: Vent [ MS: 0 sekunder: 2 minutter: 0 timer: 0 dager: 0 ]

A25: Start app [ App: TugaBrowser Data: Ekskluder fra nylige apper: Av Start alltid ny kopi: Av ]

A26: Avslutt If

A27: Slett fil [ File:/sdcard/Tasker/TugaBookmarks Shred Level: 0 Use Root: Off ]

A28: Avslutt If

A29: Avslutt If

A30: Slett fil [ File:/sdcard/Tasker/Bookmarks Shred Level: 0 Use Root: Off ]

Les mer

Skriptet aktiveres hver gang Tasker oppdager at du har gått inn i din valgte tredjeparts Chrome-nettleser, i mitt tilfelle TugaBrowser. Du må aktivere Tasker's Accessibility Service slik at Tasker kan oppdage når du er i nettleseren du ønsker. Denne delen kan enkelt endres for å fungere med andre Chrome-baserte nettlesere, alt du trenger å gjøre er å velge hvilken nettleser du vil at dette skriptet skal kjøre på i Application Context i Tasker.

Her er en kort beskrivelse av hva hvert sett med handlinger i denne oppgaven oppnår.

  • A1-A2: synkroniser Chrome-bokmerker manuelt fra Googles server slik at bokmerkefilen til den installerte Chrome-appen oppdateres. Vent 5 sekunder for å sikre at det er nok tid til at synkroniseringen kan fullføres
  • A3-A6: kopier Chromes bokmerkefil til en midlertidig plassering, pakk ut JSON fra filen til en variabel, og bruk deretter et regex-filter for å trekke ut kontrollsumverdien til en annen variabel
  • A7-A10: hvis Tasker ikke har en global variabel %ChromeChecksum-sett (dvs. første gang du kjører skriptet), sett det til gjeldende verdi. Hvis den har et verdisett, sjekk deretter om verdien som er lagret i Tasker-variabelen samsvarer med gjeldende kontrollsum i bokmerkefilen. Gå i så fall videre til A11-A26
  • A11: Sett Tasker-variabelen som holder Chrome-sjekksummen til gjeldende kontrollsum som er hentet fra bokmerkefilen
  • A12-A15: kopier TugaBrowsers bokmerkefil til en midlertidig plassering, trekk ut JSON fra filen, og bruk deretter et regex-filter for å trekke ut kontrollsumverdien
  • A16: bruk sjekksumverdien hentet fra TugaBrowser og bruk den til å erstatte sjekksumverdien fra Chromes bokmerkefil
  • A17-A18: skyv den oppdaterte bokmerkefilen hentet fra Chrome, men med TugaBrowsers kontrollsumverdi inn i TugaBrowsers datakatalog
  • A19-A26: vis en snackbar som forteller oss at nye bokmerker er lagt til. Hvis knappen på snackbaren trykkes inn, start TugaBrowser på nytt, ellers gå videre.
  • A27-A30: slett de midlertidige bokmerkefilene vi jobbet med, og avslutt oppgaven

Hvorfor innebærer dette så mange trinn? Dessverre er det fordi vi ikke har en enkel måte å få direkte tilgang til den (potensielt store) JSON-datastrukturen i bokmerke filer gjennom Tasker eller en av plugin-modulene som AutoTools uten å kopiere filen og trekke ut innholdet i en variabel. Hvis vi kunne, ville dette arbeidet vært mye mer fortettet, men foreløpig er det dette jeg har kommet frem til. Jeg har snakket med utvikleren av AutoTools om denne saken, og mens han var i stand til å oppdatere AutoTools til kunne lese JSON-data fra en fil, skrive JSON rett til en fil kunne ikke gjøres gjennom Tasker plugg inn.

I alle fall kjører dette skriptet i seg selv ekstremt raskt til tross for at noen trinn virker unødvendige, fordi jeg ønsket å få dette ut uten at du trenger å installere unødvendige ekstra plugins på toppen av Tasker. Det eneste som bremser dette skriptet, og hvorfor du ser noen forsinkelser i videoen, er ventetiden som er nødvendig for Tasker for å sikre at Chrome-bokmerkene dine er synkronisert fra Googles servere før du går videre med resten av manus. Du kan sikkert leke med "vent"-kommandoene i Tasker-oppgaven for å redusere forsinkelsen hvis du vil, men det er til syvende og sist opp til deg.


Last ned, importer og konfigurer

Som alltid vil vi gi Tasker Profile XML-filen som du kan hente for raskt å sette opp selv. Last ned .prf.xml-filen nedenfor fra AndroidFileHost og lagre den på internminnet ditt. Åpne Tasker og deaktiver nybegynnermodus i Innstillinger. Gå tilbake til Taskers hovedskjerm og trykk lenge på "Profil"-fanen i handlingslinjen øverst til du ser et "import"-alternativ dukker opp. Trykk på den og naviger deretter til der du lagret XML-filen og velg den for å importere den.

Last ned «Chrome Bookmark Sync»-profilen fra AndroidFileHost

Det er 3 veldig, veldig viktige trinn (og 1 valgfritt, men nødvendig trinn hvis du ikke kjører TugaBrowser) du må ta før denne profilen fungerer for deg.

  1. Muliggjøre Tasker sinTilgjengelighetstjeneste. Du kan gjøre det ved å åpne Innstillinger og søke etter «tilgjengelighet». Trykk på Tasker og aktiver deretter tilgjengelighetstjenesten. Dette er nødvendig fordi ellers ikke kan Tasker oppdage når du bruker TugaBrowser (eller en annen nettleser).
  2. Velg din Chrome Sync-leverandører i Synker. Du kan gjøre dette ved å åpne "Sjekk Chrome-bokmerker"-oppgaven og deretter trykke på handling #1 merket "Synker - Force sync." Trykk på blyantikonet for å få frem Synkers konfigurasjonsskjerm. Rull ned og velg "Chrome Sync" for Google-kontoen din.
  3. Gi Tasker-superbrukertilgang. Den raskeste måten å gjøre dette på er å få Tasker til å prøve å utføre en handling som krever su. Igjen inne i "Sjekk Chrome Bookmarks" Oppgavekonfigurasjonsskjermen, denne gangen trykk lenge på handling #3 merket "Kjør" Shell." Trykk på "spill"-ikonet som dukker opp i nedre venstre hjørne for å få Tasker til å kjøre denne handlingen, og denne bare. Tasker vil be deg om å gi den superbrukertilgang. Merk til de av dere som bruker MagiskSU: Tasker oppdager for øyeblikket ikke MagiskSU på egen hånd, så det kan gi en feilmelding som sier at enheten din ikke er forankret. Dette vil bli fikset i neste Tasker-oppdatering, men hvis du leter etter en midlertidig løsning, XDA Senior Member RandomPooka har en kort veiledning for det.

Etter at du har gjort disse 3 tingene, bør denne profilen nå begynne å fungere. På den første lanseringen av TugaBrowser/din valgte nettleser etter at du har konfigurert dette, vil Tasker lagre sjekksumverdien til Chromes bokmerkefil. Når denne sjekksumverdien endres i en påfølgende lansering av TugaBrowser/din valgte nettleser, vil Tasker erstatte nettleserens bokmerkefil med den fra Chrome.

Merk at for første oppstart av nettleseren din, jeg satte den ikke opp med vilje, så Tasker vil kopiere Chromes bokmerkeverdi til den oppdager en endring. Dette betyr at bokmerkene til TugaBrowser/nettleseren du velger, ikke endres før du gjør en endring i Chromes bokmerker. Jeg gjorde dette slik at du kan få tilgang til TugaBrowser/din nettleser for å lagre dine usynkroniserte/frakoblede bokmerker ikke lagret på Googles servere slik at Tasker-profilen min ikke sletter dem uten at du har mulighet til å lagre dem andre steder.


Hvordan synkronisere bokmerker på andre nettlesere enn TugaBrowser

I tilfelle du ikke bruker TugaBrowser, må du endre noen få trinn for å få dette til å fungere på din valgte Chrome-baserte nettleser. Heldigvis er dette veldig, veldig enkelt å gjøre. Jeg vil vise deg hvordan du gjør det ved å bruke åpen kildekode Chromium som eksempel. Her er listen over ting du må endre:

  1. Endre applikasjonskonteksten. I stedet for at "TugaBrowser" er satt som applikasjonskontekst, endre applikasjonskonteksten for å utløse når du bruker den valgte nettleseren. Bare trykk på konteksten og se etter appen din i listen.
  2. Endre Handling #12 (Kjør Shell-kommandoen) for å peke på nettleserens bokmerkefil. Katalogen skal se ut som /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Merk: variablene og filnavnene som lagrer den/refererer til den som "TugaBookmarks" kan trygt ignoreres, du trenger bare å endre hvor Tasker henter bokmerkefilen fra) Før:
    cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
    Etter:
    cp /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
  3. Endre Handling #18 (en annen Kjør Shell-kommando) for å lagre den oppdaterte bokmerkefilen i nettleserens datakatalog. Igjen skal katalogen se ut som ovenfor. Før:
    cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks
    Etter:
    cp /sdcard/Tasker/Bookmarks /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks 
  4. Endre Handling #23 for å drepe nettleseren din. Dette er slik at når du trykker på omstart-knappen i snackbaren, vil Tasker drepe den riktige applikasjonen.
  5. Endre Handling #25 for å restarte den samme nettleseren du velger. Dette vil starte nettleseren på nytt etter at den ble drept av brukeren, slik at den kan laste inn de nye bokmerkene.

Alt annet kan trygt stå i fred, selv om de opprettede variabel-/filnavnene ikke gir mening med din nettleser. Du kan velge å endre dem hvis de plager deg, men sørg for at du vet hva du gjør før du prøver å gjøre det. Å ha litt Tasker-kjennskap vil definitivt hjelpe der.


Konklusjon

Jeg håper du finner denne profilen nyttig. Jeg vet at det er mye å ta tak i her, men det er veldig viktig for deg å lese gjennom dette innlegget nøye slik at du forstår hva dette gjør, hvordan det fungerer og når det vil fungere. Dette tok meg mye prøving og feiling for å få dette riktig, men jeg er ganske fornøyd med resultatene, selv om det virker altfor komplisert til slutt.

Automatisering av denne prosessen bidrar til å lindre noe av byrden med å synkronisere bokmerkene dine med Chrome Sync, men dessverre vil det bare alltid være en enveissynkronisering og vil alltid kreve rottilgang inntil Google letter på restriksjonene som hindrer tredjeparts Chrome-nettlesere fra å få tilgang til Chrome Synkroniser.

Hvis du har spørsmål, kommentarer eller bekymringer, gi oss beskjed i kommentarene nedenfor!