Un tutorial despre cum să vă sincronizați marcajele Chrome cu browsere Chrome terțe, cum ar fi TugaBrowser. Necesită root și este o metodă de sincronizare unidirecțională.
În ultimul an, browserele terțe bazate pe Chrome de la Google au explodat în popularitate. Această tendință a început după ce Forumul Code Aurora (CAF) a început să se publice Build-uri Chromium optimizate pentru dispozitivele Snapdragon în octombrie 2015. Dezvoltatorii interesați să creeze browser-ul suprem, plin de funcții, au început să deschidă proiectul și au adăugat funcții, cum ar fi o noapte mod, blocare de conținut, moduri de economisire a energiei, suport pentru gesturi și multe altele, pe lângă suportul pentru marcajele Chrome prin sincronizarea Chrome API.
Utilizatorii s-au înghesuit la proiecte precum cele populare TugaBrowser pe forumurile noastre, deoarece aceste browsere au oferit multe îmbunătățiri pe lângă funcțiile de sincronizare Chrome existente ale Google, care nu sunt disponibile în browserele non-Chrome. Din păcate, Google
închideți accesul terților la API-ul Chrome Sync în ianuarie, invocând o problemă de securitate. Google a declarat că mutarea nu a fost făcută în mod intenționat pentru a împiedica browserele terțe Chrome, pentru care chiar și Chromium cu sursă deschisă este clasificat ca, dar acest patch de securitate a scris întâmplător sfârșitul sincronizării marcajelor pentru browserele Chrome terțe.În acest moment, browserele precum TugaBrowser nu au nicio modalitate de a sincroniza modificările marcajelor cu Chrome Sync. Dar acolo este o modalitate de a sincroniza marcajele de pe desktop cu browsere Chrome terțe, cu condiția să aveți acces root. Metoda, care am mai postat despre asta, poate fi rezumat practic în acești pași:
- Deschideți fișierul de marcaje pentru browserul dvs. Chrome terță parte și copiați valoarea sumei de verificare
- Împingeți fișierul cu marcaje din directorul Chrome în directorul browserului Chrome terță parte, suprascriindu-l.
- Deschideți noul fișier de marcaje și suprascrieți valoarea sumei de control cu cea pe care ați copiat-o prima dată
- Închideți forțat/omorâți browserul Chrome terță parte, astfel încât acesta să-și reîncarce marcajele
Această metodă de editare a marcajelor există de ani de zile ca un mijloc de a vă restaura marcajele de pe desktop în cazul în care ceva a mers prost, dar folosirea acești pași pentru a obține marcajele în browsere precum TugaBrowser este o aplicație bună a acestui truc vechi. Deși această metodă vă permite într-adevăr să obțineți marcajele dvs. Chrome în browserul dvs. Chrome terță parte preferat, aceasta necesită să faceți acești pași de fiecare dată când adăugați un nou marcaj în Chrome. Cu siguranță nu este deloc convenabil, motiv pentru care am încercat automatiza acest proces.
În videoclipul de mai sus, observați cum, atunci când deschid TugaBrowser pentru a-mi arăta marcajele, sunt afișate 3 marcaje. Când plec și redeschid TugaBrowser, a bar de zi este afișat care îmi spune că a fost detectat un nou marcaj împreună cu un buton pentru a reporni TugaBrowser. Când apăs pe butonul pentru a reporni browserul, deschid pagina de marcaje și acum văd că a fost adăugat un nou, al patrulea marcaj. În esență, am automatizat cei 4 pași de mai sus pentru a funcționa în tăcere în fundal și postez aici un tutorial care vă arată cum puteți face acest lucru!
Înainte de a începe cu acest tutorial, trebuie să menționez câteva lucruri:
- Aceasta metoda necesită acces root. Nu există absolut nicio modalitate de a ocoli această cerință, îmi pare rău! Ne încurcăm cu fișierele din /data/data care nu pot fi accesate fără root.
- Această metodă este a sincronizare unidirecțională, ceea ce înseamnă că toate marcajele pe care le adăugați în browserul dvs. Chrome terță parte nu sunt salvate (și de fapt sunt suprascrise). Va trebui să adăugați orice marcaj noi dintr-un browser Chrome care are sincronizarea Chrome activată. Am căutat metode pentru a forța Chrome Sync să accepte modificările marcajelor mele, dar, din păcate, nu cred că este posibil, deoarece versiunea marcajelor dvs. stocată pe serverul Google pare să suprascrie întotdeauna orice modificare face manual.
- Această metodă este sigur. Marcajele dvs. nu sunt în pericol de a fi șterse, deoarece nu ne încurcăm (și nu putem) să ne încurcăm cu copia Google a marcajelor dvs. care sunt stocate pe serverul lor.
Dacă sunteți în căutarea unei metode de sincronizare bidirecțională în browserul dvs. Chrome terță parte, atunci îmi pare rău, nu vei primi niciodată o astfel de metodă. Da vina pe Google pentru asta. Dacă te întrebi „ce rost are asta”, atunci acest tutorial nu este pentru tine. Dacă doriți să ușurați oarecum durerea de a elimina Google Chrome Sync, atunci sperăm că veți găsi acest tutorial util.
Sincronizare unidirecțională a marcajelor Chrome pentru browsere Chrome terțe
Cerințe:
- Acces rădăcină
- Tasker ($2.99)
- Synker
- Snackbar Tasker Plugin
- Browser Google Chrome
Deși spun că Tasker este necesar, este posibil să reușiți să folosiți alte aplicații de automatizare din Magazinul Play. Dacă alegi să faci asta, ești singur, deoarece nu am experiență în utilizarea lor, așa că va trebui să-mi adaptezi singur scenariul. Synker este necesar deoarece îl folosim pentru a forța o reîmprospătare manuală a marcajelor dvs. Plugin-ul Tasker de snackbar nu este necesar din punct de vedere tehnic, dar este ceea ce oferă snackbar-ul cu aspect elegant, care îmi permite să știu că există noi marcaje cu un buton pentru a reporni aplicația. În cele din urmă, trebuie să aveți Google Chrome (orice canal este în regulă) instalat (și nu dezactivat) pe dispozitiv, deoarece ne va furniza fișierul de marcaje pe care îl vom copia.
Încă un lucru de menționat: deși tutorialul meu este construit cu TugaBrowser rețineți, puteți face cu ușurință acest lucru să funcționeze cu orice alt browser bazat pe Chrome, modificând câțiva pași, pe care îi voi prezenta la sfârșitul de mai jos.
Tutorial
Scriptul pe care îl folosesc este destul de complex, cu 29 de acțiuni în total, așa că nu voi intra în detalii excesive despre cum fiecare pasul funcționează, dar să știți că acest script automatizează în esență cei 4 pași manuali subliniați la începutul articol.
Iată descrierea profilului pentru cei dintre voi care sunt deja experți la Tasker și doresc să încercați să o replicați singuri.
CAF Bookmark Sync
Profile: CAF Bookmark Sync (28)
Aplicație: TugaBrowser
Introduceți: Verificați marcajele Chrome (27)
A1: Synker - Forțare sincronizare [Configurație: Forțare sincronizare 2 furnizor(i) Timeout (secunde):0]
A2: Așteptați [ MS: 0 secunde: 5 minute: 0 ore: 0 zile: 0]
A3: Executați Shell [ Comandă: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Timeout (secunde):0 Utilizați Root: On Store Output In: Store Errors In: Store Result În: ]
A4: Citiți fișierul [Fișier:/sdcard/Tasker/Marcaje la Var:%json]
A5: Diviziunea variabilă [Nume:%json Splitter:"checksum": Ștergeți baza: Dezactivat ]
A6: Căutare variabilă Înlocuiți [ Variabilă:%json2 Căutare:(?<=")[^"]+(?=") Ignorați majuscule/minuscule: Dezactivat mai multe rânduri: Dezactivat doar o potrivire: Activată Potriviri în magazin În:%checksum Înlocuire potriviri: Dezactivat Înlocuire cu: ]
A7: Dacă [ %ChromeChecksum !Set ]
A8: Set de variabile [ Nume:%ChromeChecksum To:%checksum (1) Variabile recurente: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]
A9: Altfel
A10: Dacă [ %ChromeChecksum !~ %checksum (1) ]
A11: Set de variabile [ Nume:%ChromeChecksum To:%checksum (1) Variabile recurente: Dezactivat Faceți matematică: Dezactivat Adăugați: Dezactivat ]
A12: Executați Shell [ Comanda: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Timeout (secunde): 0 Utilizare rădăcină: On Store Ieșire în: Store Erori în: Store Rezultat în: ]
A13: Citiți fișierul [Fișier:/sdcard/Tasker/TugaBookmarks la Var:%tugajson]
A14: Diviziunea variabilă [Nume:%tugajson Splitter:"checksum": Delete Base: Off ]
A15: Căutare variabilă Înlocuiți [ Variabilă:%tugajson2 Căutare:(?<=")[^"]+(?=") Ignorați majuscule: Dezactivat mai multe linii: Dezactivat doar o potrivire: Activată Potriviri în magazin în:%checksum Înlocuire potriviri: Dezactivat Înlocuire cu: ]
A16: Căutare variabilă Înlocuire [ Variabilă:%json2 Căutare:(?<=")[^"]+(?=") Ignorați majuscule: Dezactivat Mai multe linii: Dezactivat Doar o potrivire: Activat Potriviri în magazin: Înlocuire Potriviri: Activat Înlocuiește cu:%checksum (1) ]
A17: Scrieți fișierul [Fișier:/sdcard/Tasker/Marcaje Text:%json1"checksum":%json2 Adăugați: Dezactivat Adăugați linie nouă: Dezactivat ]
A18: Executați Shell [Comandă: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Timeout (secunde): 0 Utilizați Root: Activat Stocați rezultatul în: stocați erorile în: stocați rezultatul în: ]
A19: Snackbar [ Configurare: Mesaj: Au fost detectate noi marcaje.
Buton: RESTART
Comandă: Timeout (secunde): 15 ]
A20: Dacă [ %sb_button ~ Buton Apăsat ]
A21: Du-te acasă [ Pagina: 0 ]
A22: Așteptați [ MS: 0 secunde: 2 minute: 0 ore: 0 zile: 0]
A23: Kill App [Aplicația: TugaBrowser Utilizați rădăcină: Dezactivat]
A24: Așteptați [ MS: 0 secunde: 2 minute: 0 ore: 0 zile: 0]
A25: Lansați aplicația [ Aplicație: Date TugaBrowser: Excludeți din aplicațiile recente: Dezactivat Porniți întotdeauna o copie nouă: Dezactivat ]
A26: Încheiați dacă
A27: Ștergeți fișierul [Fișier:/sdcard/Tasker/TugaBookmarks Nivel de distrugere: 0 Utilizare rădăcină: Dezactivat]
A28: Încheiați dacă
A29: Încheiați dacă
A30: Ștergeți fișierul [Fișier:/sdcard/Tasker/Marcaje Nivel de distrugere: 0 Utilizare rădăcină: Dezactivat ]
citeşte mai mult
Scriptul se activează ori de câte ori Tasker detectează că ați introdus browserul Chrome terț la alegere, în cazul meu, TugaBrowser. Va trebui să activați Serviciul de accesibilitate al Tasker, astfel încât Tasker să poată detecta când vă aflați în browserul ales. Această parte poate fi modificată cu ușurință pentru a funcționa cu alte browsere bazate pe Chrome, tot ce trebuie să faceți este să selectați în ce browser doriți să ruleze acest script în Contextul aplicației din Tasker.
Acum, iată o scurtă descriere a ceea ce realizează fiecare set de acțiuni din această sarcină.
- A1-A2: sincronizați manual marcajele Chrome de pe serverul Google, astfel încât fișierul de marcaje al aplicației Chrome instalat să fie actualizat. Așteptați 5 secunde pentru a vă asigura că este suficient timp pentru finalizarea sincronizării
- A3-A6: copiați fișierul marcaj al Chrome într-o locație temporară, extrageți JSON din fișier într-o variabilă, apoi utilizați un filtru regex pentru a extrage valoarea sumei de control într-o altă variabilă
- A7-A10: dacă Tasker nu are o variabilă globală %ChromeChecksum setată (de ex. prima dată când rulați scriptul), setați-l la valoarea curentă. Dacă are o valoare setată, apoi verificați dacă valoarea stocată în variabila Tasker se potrivește cu suma de control curentă din fișierul marcaj. Dacă da, treceți la A11-A26
- A11: setați variabila Tasker care deține suma de control Chrome la suma de control curent extrasă din fișierul marcaj
- A12-A15: copiați fișierul marcaj al lui TugaBrowser într-o locație temporară, extrageți JSON din fișier, apoi utilizați un filtru regex pentru a extrage valoarea sumei de control
- A16: utilizați valoarea sumei de control luate din TugaBrowser și utilizați-o pentru a înlocui valoarea sumei de control din fișierul de marcaj al Chrome
- A17-A18: împingeți fișierul de marcaj actualizat preluat din Chrome, dar cu valoarea sumei de control a TugaBrowser în directorul de date al TugaBrowser
- A19-A26: arată un snackbar care ne spune că au fost adăugate noi marcaje. Dacă butonul de pe snackbar este apăsat, reporniți TugaBrowser, altfel continuați.
- A27-A30: ștergeți fișierele temporare de marcaj cu care lucram și încheiați Sarcina
De ce implică asta atât de mulți pași? Din păcate, pentru că nu avem o modalitate ușoară de a accesa direct structura de date JSON (potențial mare) din marcați fișiere prin Tasker sau unul dintre pluginurile sale, cum ar fi AutoTools, fără a copia fișierul și a extrage conținutul acestuia într-un variabil. Dacă am putea, această lucrare ar fi mult mai condensată, dar deocamdată asta am venit. Am vorbit cu dezvoltatorul AutoTools despre această problemă și, în timp ce el a putut să actualizeze AutoTools la să poată citi date JSON dintr-un fișier, scrierea JSON direct într-un fișier nu a putut fi făcută prin Tasker conecteaza.
În orice caz, acest script în sine rulează extrem de rapid, în ciuda unor pași care par inutili, deoarece eu am vrut să scot acest lucru acolo fără a fi nevoie să instalați pluginuri suplimentare inutile Tasker. Singurele lucruri care încetinesc acest script și de ce vedeți o oarecare întârziere în videoclip este timpul de așteptare necesar pentru Tasker pentru a vă asigura că marcajele dvs. Chrome au fost sincronizate de pe serverele Google înainte de a continua cu restul scenariu. Cu siguranță vă puteți juca cu comenzile „așteptați” din Tasker Task pentru a reduce întârzierea dacă doriți, dar asta depinde în cele din urmă de dvs.
Descărcați, importați și configurați
Ca întotdeauna, vă vom furniza fișierul XML Tasker Profile pe care îl puteți prelua pentru a configura rapid această configurare. Descărcați fișierul .prf.xml de mai jos de pe AndroidFileHost și salvați-l în memoria internă. Deschideți Tasker și dezactivați modul începător în Preferințe. Reveniți la ecranul principal al lui Tasker și apăsați lung pe fila „Profil” din bara de acțiuni sus, până când vedeți o opțiune de „import”. Apăsați pe acesta și apoi navigați la locul în care ați salvat fișierul XML și selectați-l pentru a-l importa.
Descărcați profilul „Chrome Bookmark Sync” de pe AndroidFileHost
Există 3 pași foarte, foarte importanți (și 1 pas opțional, dar necesar dacă nu rulați TugaBrowser) pe care trebuie să-i faceți înainte ca acest Profil să funcționeze pentru dvs.
- Permite A lui TaskerServiciul de accesibilitate. Puteți face acest lucru deschizând Setări și căutând „accesibilitate”. Atingeți Tasker, apoi activați-i Serviciul de accesibilitate. Acest lucru este necesar deoarece, altfel, Tasker nu poate detecta când utilizați TugaBrowser (sau orice alt browser).
- Alegeti Furnizorii de sincronizare Chrome în Synker. Puteți face acest lucru deschizând sarcina „Verificați marcajele Chrome”, apoi atingând Acțiunea #1 etichetată „Synker - Forțare sincronizare”. Apăsați pictograma creion pentru a afișa ecranul de configurare al lui Synker. Derulați în jos și selectați „Chrome Sync” pentru contul dvs. Google.
- Acordați acces superutilizatorului Tasker. Cea mai rapidă modalitate de a face acest lucru este de a face ca Tasker să încerce să efectueze o acțiune care necesită su. Din nou în ecranul de configurare a activității „Verificați marcajele Chrome”, de data aceasta apăsați lung pe Acțiunea #3 etichetată „Run Shell." Apăsați pictograma „play” care apare în colțul din stânga jos pentru a face Tasker să execute această acțiune și aceasta. numai. Tasker vă va cere să îi acordați acces de superutilizator. Rețineți pentru cei dintre voi care utilizați MagiskSU: Tasker nu detectează în prezent MagiskSU singur, așa că poate genera o eroare care să spună că dispozitivul nu este rootat. Aceasta va fi remediat în următoarea actualizare Tasker, dar dacă sunteți în căutarea unei soluții temporare, XDA Senior Member RandomPooka are o scurt ghid pentru asta.
După ce ați făcut aceste 3 lucruri, acest profil ar trebui să înceapă să funcționeze. La prima lansare a TugaBrowser/browserul la alegere după configurarea acesteia, Tasker va salva valoarea sumei de verificare a fișierului marcaj al Chrome. Când acea valoare a sumei de control se modifică într-o lansare ulterioară a TugaBrowser/browserul ales de dvs., atunci Tasker va înlocui fișierul de marcaj al browserului dvs. cu cel din Chrome.
Rețineți că pentru prima lansare a browserului dvs, nu l-am configurat în mod intenționat, astfel încât Tasker va copia valoarea marcajului Chrome până când detectează o modificare. Aceasta înseamnă că marcajele TugaBrowser/browser-ul ales nu se vor schimba până când nu faceți o modificare în marcajele Chrome. Am făcut acest lucru, astfel încât să puteți accesa TugaBrowser/browserul ales de dvs. pentru a salva marcajele dvs. nesincronizate/offline, nu stocate pe serverele Google, astfel încât profilul meu Tasker să nu le ștergă fără ca tu să ai ocazia să le salvezi în altă parte.
Cum să sincronizați marcajele pe alte browsere decât TugaBrowser
În cazul în care nu utilizați TugaBrowser, va trebui să modificați câțiva pași pentru ca acest lucru să funcționeze pe browserul dvs. bazat pe Chrome ales. Din fericire, acest lucru este foarte, foarte ușor de făcut. Vă voi arăta cum să faceți acest lucru folosind Chromium open-source ca exemplu. Iată lista lucrurilor pe care va trebui să le schimbați:
- Schimbați contextul aplicației. În loc să fie setat „TugaBrowser” ca context de aplicație, modificați contextul aplicației pentru a se declanșa atunci când utilizați browserul ales. Doar atingeți Context și căutați aplicația dvs. în listă.
- Modifica Acțiunea #12 (Run comandă Shell) pentru a indica fișierul de marcaj al browserului dvs. Directorul ar trebui să arate ca /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Notă: variabilele și numele fișierelor care îl salvează/se referă la el ca „TugaBookmarks” pot fi ignorate în siguranță, trebuie doar să schimbați de unde extrage Tasker fișierul Marcaj) Înainte:
După: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
- Modifica Acțiunea #18 (o altă comandă Run Shell) pentru a salva fișierul de marcaj actualizat în directorul de date al browserului dvs. Din nou, directorul ar trebui să arate la fel ca mai sus. Inainte de:
După: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
- Modifica Acțiunea #23 pentru a vă ucide browserul dorit. Acest lucru este așa că atunci când apăsați butonul de repornire din snackbar, Tasker va opri aplicația potrivită.
- Modifica Acțiunea #25 pentru a relansa același browser la alegere. Acest lucru va relansa browserul după ce acesta a fost oprit de utilizator, astfel încât să poată încărca noul(e) marcaj(e).
Orice altceva poate fi lăsat în pace, chiar dacă numele de variabile/fișier create nu au sens cu browserul dvs. Puteți alege să le schimbați dacă vă deranjează, dar asigurați-vă că știți ce faceți înainte de a încerca să faceți acest lucru. A avea o oarecare familiaritate cu Tasker vă va ajuta cu siguranță acolo.
Concluzie
Sper că veți găsi acest profil util. Știu că sunt multe de luat aici, dar este foarte important pentru tine să citești cu atenție această postare, astfel încât să înțelegi ce face, cum funcționează și când va funcționa. Acest lucru mi-a luat o mulțime de încercări și erori pentru a face acest lucru corect, dar sunt destul de mulțumit de rezultate, chiar dacă pare prea complicat până la urmă.
Automatizarea acestui proces ajută la atenuarea unei anumite sarcini a sincronizării marcajelor dvs. cu Chrome Sync, deși, din păcate, va fi doar un sincronizare unidirecțională și va necesita întotdeauna acces root până când Google își ușurează restricțiile care împiedică browserele Chrome terțe să acceseze Chrome Sincronizare.
Dacă aveți întrebări, comentarii sau nelămuriri, spuneți-ne în comentariile de mai jos!