Jak zsynchronizować zakładki Chrome na komputerze stacjonarnym z przeglądarkami Chrome innych firm na Androidzie

Samouczek dotyczący synchronizowania zakładek Chrome z przeglądarkami Chrome innych firm, takimi jak TugaBrowser. Wymaga rootowania i jest metodą synchronizacji jednokierunkowej.

W ciągu ostatniego roku popularność przeglądarek innych firm opartych na przeglądarce Google Chrome gwałtownie wzrosła. Tendencja ta rozpoczęła się po rozpoczęciu publikacji przez Code Aurora Forum (CAF). Kompilacje Chromium zoptymalizowane dla urządzeń Snapdragon w październiku 2015 roku. Programiści zainteresowani stworzeniem najlepszej, pełnej funkcji przeglądarki zaczęli rozwijać projekt i dodawać funkcje, takie jak noc tryb, blokowanie treści, tryby oszczędzania energii, obsługa gestów i wiele więcej, a także obsługa zakładek Chrome poprzez synchronizację Chrome API.

Użytkownicy gromadzili się w projektach takich jak popularne Przeglądarka Tuga na naszych forach, ponieważ te przeglądarki oferują wiele ulepszeń oprócz istniejących funkcji synchronizacji Google Chrome, które nie są dostępne w przeglądarkach innych niż Chrome. Niestety Google'a

wyłącz dostęp innych firm do interfejsu Chrome Sync API w styczniu, powołując się na obawy związane z bezpieczeństwem. Google stwierdził, że posunięcie to nie zostało celowo wykonane, aby utrudniać działanie przeglądarek Chrome innych firm, dla których nawet Chromium o otwartym kodzie źródłowym jest sklasyfikowany jako, ale ta poprawka bezpieczeństwa przypadkowo oznaczała koniec synchronizacji zakładek w przeglądarkach Chrome innych firm.

W tej chwili przeglądarki takie jak TugaBrowser nadal nie mają możliwości synchronizacji zmian zakładek z synchronizacją Chrome. Ale tam Jest sposób na synchronizację zakładek na komputerze z przeglądarkami Chrome innych firm, pod warunkiem, że masz uprawnienia roota. Metoda, która o tym pisaliśmy wcześniejmożna zasadniczo podsumować w następujących krokach:

  1. Otwórz plik zakładek dla przeglądarki Chrome innej firmy i skopiuj wartość sumy kontrolnej
  2. Przenieś plik zakładek z katalogu Chrome do katalogu przeglądarki Chrome innej firmy, zastępując go.
  3. Otwórz nowy plik zakładek i zastąp wartość sumy kontrolnej tą, którą najpierw skopiowałeś
  4. Wymuś zamknięcie/zamknięcie przeglądarki Chrome innej firmy, aby ponownie załadowała swoje zakładki

Ta metoda edytowania zakładek istnieje od lat i pozwala w razie potrzeby przywrócić zakładki na pulpicie coś poszło nie tak, ale wykonanie tych kroków w celu pobrania zakładek w przeglądarkach takich jak TugaBrowser jest fajnym zastosowaniem tego stara sztuczka. Chociaż ta metoda rzeczywiście pozwala na umieszczenie zakładek Chrome w ulubionej przeglądarce Chrome innej firmy, wymaga tego wykonaj te kroki za każdym razem, gdy dodasz nową zakładkę w przeglądarce Chrome. Z pewnością nie jest to wcale wygodne i dlatego próbowałem to zrobić zautomatyzować ten proces.

Na powyższym filmie możesz zobaczyć, jak otwieram TugaBrowser, aby pokazać moje zakładki, widoczne są 3 zakładki. Kiedy wychodzę i ponownie otwieram TugaBrowser, a batonik pojawia się komunikat informujący, że wykryto nową zakładkę wraz z przyciskiem umożliwiającym ponowne uruchomienie TugaBrowser. Kiedy naciskam przycisk ponownego uruchomienia przeglądarki, otwieram stronę zakładek i teraz widzę, że dodano nową, czwartą zakładkę. Zasadniczo zautomatyzowałem powyższe 4 kroki, aby pracować cicho w tle, i publikuję tutaj samouczek pokazujący, jak możesz to zrobić!

Zanim zacznę od tego samouczka, muszę wspomnieć o kilku rzeczach:

  • Ta metoda wymaga dostępu do konta root. Przepraszamy, nie ma możliwości obejścia tego wymogu! Bawimy się plikami w /data/data, do których nie można uzyskać dostępu bez roota.
  • Metoda ta jest synchronizacja jednokierunkowa, co oznacza, że ​​żadne zakładki dodane do przeglądarki Chrome innej firmy nie zostaną zapisane (a w rzeczywistości zostaną zastąpione). Będziesz musiał dodać nowe zakładki z poziomu przeglądarki Chrome, która ma włączoną synchronizację Chrome. Zastanawiałem się nad metodami wymuszenia na Synchronizacji Chrome zaakceptowania zmian w zakładkach, ale niestety nie sądzę, że tak jest jest to możliwe, ponieważ wydaje się, że wersja Twoich zakładek przechowywanych na serwerze Google zawsze zastępuje wszelkie wprowadzone przez Ciebie zmiany zrobić ręcznie.
  • Ta metoda jest bezpieczna. Twoim zakładkom nie grozi żadne niebezpieczeństwo, ponieważ nie możemy (i nie możemy) mieszać z kopią Twoich zakładek przechowywaną na serwerze Google.

Jeśli szukasz metody synchronizacji dwukierunkowej w przeglądarce Chrome innej firmy, przepraszamy, nigdy nie dostaniesz takiej metody. Wińcie za to Google. Jeśli zadajesz sobie pytanie „o co w tym chodzi”, to ten poradnik nie jest dla Ciebie. Jeśli chcesz nieco złagodzić ból związany z usuwaniem przez Google synchronizacji Chrome, mam nadzieję, że ten samouczek okaże się przydatny.


Jednokierunkowa synchronizacja zakładek Chrome dla przeglądarek Chrome innych firm

Wymagania:

  • Dostęp do roota
  • Zadanie ($2.99)
  • Synker
  • Wtyczka Tasker paska przekąsek
  • Przeglądarka Google Chrome

Chociaż mówię, że Tasker jest wymagany, możesz uniknąć korzystania z innych aplikacji do automatyzacji w Sklepie Play. Jeśli zdecydujesz się to zrobić, będziesz zdany na siebie, ponieważ nie mam doświadczenia w ich używaniu, więc będziesz musiał samodzielnie dostosować mój skrypt. Synker jest niezbędny, bo za jego pomocą wymuszamy ręczne odświeżanie zakładek. Wtyczka Tasker z przekąskami nie jest technicznie konieczna, ale to ona zapewnia schludnie wyglądający pasek przekąsek i informuje mnie, że są nowe zakładki z przyciskiem umożliwiającym ponowne uruchomienie aplikacji. Na koniec musisz mieć zainstalowaną (i nie wyłączoną) przeglądarkę Google Chrome (każdy kanał jest w porządku) na swoim urządzeniu, ponieważ dostarczy nam ona plik zakładek, który skopiujemy.

Jeszcze jedna rzecz, o której warto wspomnieć: chociaż mój samouczek jest zbudowany z Przeglądarka Tuga pamiętaj, że możesz łatwo uruchomić to z dowolną inną przeglądarką opartą na Chrome, modyfikując kilka kroków, które opiszę na końcu poniżej.

Instruktaż

Skrypt, którego używam, jest dość złożony i zawiera w sumie 29 akcji, więc nie będę wdawać się w nadmierne szczegóły na temat działania każdej z nich. krok działa, ale pamiętaj, że ten skrypt zasadniczo automatyzuje 4 ręczne kroki opisane na początku artykuł.

Oto opis profilu dla tych z Was, którzy są już ekspertami w Tasker i chcą spróbować samodzielnie go odtworzyć.

Synchronizacja zakładek CAF

 Profile: CAF Bookmark Sync (28) 

Aplikacja: TugaBrowser

Enter: Sprawdź zakładki Chrome (27)

A1: Synker — Wymuś synchronizację [Konfiguracja: Wymuś synchronizację 2 dostawców (ów) Limit czasu (sekundy): 0 ]

A2: Czekaj [MS: 0 sekund: 5 minut: 0 godzin: 0 dni: 0]

A3: Uruchom powłokę [ Polecenie: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Limit czasu (sekundy): 0 Użyj katalogu głównego: W sklepie Wyjście w: Zapisz błędy w: Zapisz wynik W: ]

A4: Przeczytaj plik [Plik:/sdcard/Tasker/Zakładki do Var:%json]

A5: Podział zmiennych [Nazwa:%json Splitter:"suma kontrolna": Usuń bazę: Wył.]

A6: Wyszukiwanie zmiennej Zamień [ Zmienna:%json2 Szukaj:(?<=")[^"]+(?=") Ignoruj ​​wielkość liter: Wył. Wielowierszowe: Wył. Tylko jedno dopasowanie: Wł. Dopasowania w sklepie:% suma kontrolna Zamień dopasowania: Wył. Zastąp przez: ]

A7: Jeśli [%ChromeChecksum !Set]

A8: Zestaw zmiennych [Nazwa:%ChromeChecksum To:%checksum (1) Zmienne cykliczne: Wył. Wykonywanie obliczeń: Wył. Dodawanie: Wył.]

A9: Inaczej

A10: Jeśli [%ChromeChecksum !~%checksum (1) ]

A11: Zestaw zmiennych [Nazwa:%ChromeChecksum Do:%checksum (1) Zmienne powtarzalne: Wył. Wykonywanie obliczeń: Wył. Dodawanie: Wył.]

A12: Uruchom powłokę [polecenie: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Limit czasu (sekundy):0 Użyj katalogu głównego: W sklepie Wyjście w: Zapisz błędy w: Sklep Skutkować w: ]

A13: Przeczytaj plik [Plik:/sdcard/Tasker/TugaBookmarks do Var:%tugajson]

A14: Podział zmiennej [Nazwa:%tugajson Splitter:"suma kontrolna": Usuń bazę: Wył.]

A15: Wyszukiwanie zmiennej Zamień [ Zmienna:%tugajson2 Szukaj:(?<=")[^"]+(?=") Ignoruj ​​wielkość liter: Wył. Wielowierszowe: Wył. Tylko jedno dopasowanie: Wł. Dopasowania w sklepie:% suma kontrolna Zamień dopasowania: Wył. Zastąp przez: ]

A16: Wyszukiwanie zmiennej Zamień [ Zmienna:%json2 Szukaj:(?<=")[^"]+(?=") Ignoruj ​​wielkość liter: Wył. Wielowierszowe: Wył. Tylko jedno dopasowanie: Wł. Przechowuj dopasowania w: Zamień dopasowania: Wł. Zamień na:%suma kontrolna (1) ]

A17: Zapisz plik [Plik:/sdcard/Tasker/Bookmarks Tekst:%json1"checksum":%json2 Dołączanie: wyłączone Dodaj nową linię: wyłączone]

A18: Uruchom powłokę [polecenie: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Limit czasu (sekundy):0 Użyj rootowania: Włączone Zapisz wynik w: Zapisz błędy w: Zapisz wynik w: ]

A19: Pasek Snackbar [Konfiguracja: Komunikat: Wykryto nowe zakładki.

Przycisk: URUCHOM PONOWNIE

Polecenie: Limit czasu (sekundy): 15 ]

A20: Jeśli [%sb_button ~ naciśnięto przycisk]

A21: Idź do domu [ Strona: 0 ]

A22: Czekaj [MS: 0 sekund: 2 minuty: 0 godziny: 0 dni: 0]

A23: Zabij aplikację [Aplikacja: TugaBrowser Użyj roota: Wył.]

A24: Czekaj [MS: 0 sekund: 2 minuty: 0 godziny: 0 dni: 0]

A25: Uruchom aplikację [Aplikacja: TugaBrowser Dane: Wyklucz z ostatnich aplikacji: Wył. Zawsze uruchamiaj nową kopię: Wył.]

O26: Zakończ jeśli

A27: Usuń plik [Plik:/sdcard/Tasker/TugaBookmarks Poziom zniszczenia: 0 Użyj katalogu głównego: Wyłączony]

O28: Zakończ jeśli

O29: Zakończ jeśli

A30: Usuń plik [Plik:/sdcard/Tasker/Bookmarks Poziom zniszczenia: 0 Użyj root: wyłączony]

Czytaj więcej

Skrypt aktywuje się za każdym razem, gdy Tasker wykryje, że uruchomiłeś wybraną przeglądarkę Chrome innej firmy, w moim przypadku TugaBrowser. Będziesz musiał włączyć usługę ułatwień dostępu Taskera, aby Tasker mógł wykryć, kiedy korzystasz z wybranej przeglądarki. Tę część można łatwo zmodyfikować, aby działała z innymi przeglądarkami opartymi na przeglądarce Chrome. Wszystko, co musisz zrobić, to wybrać przeglądarkę, w której chcesz, aby ten skrypt działał, w kontekście aplikacji w Taskerze.

Oto krótki opis tego, co osiąga każdy zestaw działań w tym Zadaniu.

  • A1-A2: ręczna synchronizacja zakładek Chrome z serwerem Google, aby plik zakładek zainstalowanej aplikacji Chrome został zaktualizowany. Poczekaj 5 sekund, aby upewnić się, że masz wystarczająco dużo czasu na zakończenie synchronizacji
  • A3-A6: skopiuj plik zakładek przeglądarki Chrome do lokalizacji tymczasowej, wyodrębnij plik JSON z pliku do zmiennej, a następnie użyj filtra wyrażeń regularnych, aby wyodrębnić wartość sumy kontrolnej do innej zmiennej
  • A7-A10: jeśli Tasker nie ma ustawionej zmiennej globalnej %ChromeChecksum (tj. gdy uruchamiasz skrypt po raz pierwszy), ustaw go na bieżącą wartość. Jeśli ma ustawioną wartość, sprawdź następnie, czy wartość przechowywana w zmiennej Tasker odpowiada bieżącej sumie kontrolnej w pliku zakładek. Jeśli tak, przejdź do A11-A26
  • A11: ustaw zmienną Tasker przechowującą sumę kontrolną Chrome na bieżącą sumę kontrolną wyodrębnioną z pliku zakładek
  • A12-A15: skopiuj plik zakładek TugaBrowser do tymczasowej lokalizacji, wyodrębnij JSON z pliku, a następnie użyj filtra regex, aby wyodrębnić wartość sumy kontrolnej
  • A16: użyj wartości sumy kontrolnej pobranej z TugaBrowser i użyj jej do zastąpienia wartości sumy kontrolnej z pliku zakładek przeglądarki Chrome
  • A17-A18: wypchnij zaktualizowany plik zakładek pobrany z Chrome, ale z wartością sumy kontrolnej TugaBrowser do katalogu danych TugaBrowser
  • A19-A26: pokaż pasek przekąsek informujący nas o dodaniu nowych zakładek. Jeśli naciśnięty zostanie przycisk na pasku przekąsek, uruchom ponownie TugaBrowser, w przeciwnym razie przejdź dalej.
  • A27-A30: usuń tymczasowe pliki zakładek, z którymi pracowaliśmy, i zakończ zadanie

Dlaczego wymaga to tak wielu kroków? Niestety dzieje się tak dlatego, że nie mamy łatwego sposobu bezpośredniego dostępu do (potencjalnie dużej) struktury danych JSON w pliku dodaj zakładki do plików za pomocą Taskera lub jednej z jego wtyczek, takiej jak AutoTools, bez kopiowania pliku i rozpakowywania jego zawartości do pliku zmienny. Gdybyśmy mogli, ta praca byłaby znacznie bardziej skondensowana, ale na razie wymyśliłem to. Rozmawiałem w tej sprawie z twórcą AutoTools i udało mu się zaktualizować AutoTools do wersji móc odczytać dane JSON z pliku, zapisanie JSON bezpośrednio do pliku nie mogło zostać wykonane za pomocą Taskera podłącz.

W każdym razie sam skrypt działa niezwykle szybko, mimo że niektóre kroki wydają się niepotrzebne, ponieważ I chciałem to udostępnić bez konieczności instalowania niepotrzebnych dodatkowych wtyczek Zadanie. Jedyną rzeczą, która spowalnia ten skrypt i dlatego widzisz pewne opóźnienie w filmie, jest niezbędny czas oczekiwania Tasker, aby upewnić się, że Twoje zakładki Chrome zostały zsynchronizowane z serwerami Google, zanim przejdziesz dalej scenariusz. Z pewnością możesz pobawić się poleceniami „czekaj” w zadaniu Tasker, aby zmniejszyć opóźnienie, jeśli chcesz, ale ostatecznie to zależy od Ciebie.


Pobierz, zaimportuj i skonfiguruj

Jak zawsze udostępnimy plik XML profilu Taskera, który możesz pobrać, aby szybko skonfigurować to dla siebie. Pobierz poniższy plik .prf.xml z AndroidFileHost i zapisz go w pamięci wewnętrznej. Otwórz Taskera i wyłącz tryb dla początkujących w Preferencjach. Wróć do głównego ekranu Taskera i naciśnij i przytrzymaj zakładkę „Profil” na pasku akcji u góry, aż zobaczysz wyskakującą opcję „importuj”. Naciśnij to, a następnie przejdź do miejsca, w którym zapisałeś plik XML i wybierz go, aby go zaimportować.

Pobierz profil „Chrome Bookmark Sync” z AndroidFileHost

Istnieją 3 bardzo, bardzo ważne kroki (i 1 opcjonalny, ale konieczny, jeśli nie używasz TugaBrowser), które musisz wykonać, zanim ten profil będzie dla Ciebie odpowiedni.

  1. Włączać TaskeraUsługa dostępności. Możesz to zrobić, otwierając Ustawienia i wyszukując „dostępność”. Stuknij w Tasker, a następnie włącz usługę ułatwień dostępu. Jest to konieczne, ponieważ w przeciwnym razie Tasker nie będzie w stanie wykryć, kiedy używasz TugaBrowser (lub dowolnej innej przeglądarki).
  2. Wybierz swój Dostawcy synchronizacji Chrome w Synker. Możesz to zrobić, otwierając zadanie „Sprawdź zakładki Chrome”, a następnie wybierając działanie nr 1 oznaczone jako „Synker – Wymuś synchronizację”. Naciśnij ikonę ołówka, aby wyświetlić ekran konfiguracji Synkera. Przewiń w dół i wybierz „Synchronizacja Chrome” dla swojego konta Google.
  3. Przyznaj dostęp superużytkownikowi Taskerowi. Najszybszym sposobem na to jest zmuszenie Taskera do wykonania akcji, która tego wymaga su. Ponownie na ekranie konfiguracji zadania „Sprawdź zakładki Chrome”, tym razem naciśnij i przytrzymaj akcję nr 3 oznaczoną „Uruchom Shell.” Naciśnij ikonę „odtwórz”, która pojawi się w lewym dolnym rogu, aby Tasker uruchomił tę akcję, a tę tylko. Tasker poprosi Cię o przyznanie dostępu administratora. Uwaga dla tych z Was, którzy używają MagiskSU: Tasker obecnie nie wykrywa samodzielnie MagiskSU, więc może zgłosić błąd informujący, że Twoje urządzenie nie jest zrootowane. To będzie naprawione w następnej aktualizacji Taskera, ale jeśli szukasz tymczasowego obejścia, starszy członek XDA Losowe Pooka ma krótki poradnik na ten temat.

Po wykonaniu tych 3 rzeczy ten profil powinien teraz zacząć działać. Przy pierwszym uruchomieniu TugaBrowser/wybranej przeglądarki po skonfigurowaniu Tasker zapisze wartość sumy kontrolnej pliku zakładek Chrome. Kiedy wartość sumy kontrolnej zmieni się przy kolejnym uruchomieniu TugaBrowser/wybranej przeglądarki, Tasker zastąpi plik zakładek Twojej przeglądarki plikiem z Chrome.

Pamiętaj, że przy pierwszym uruchomieniu przeglądarki, celowo tego nie skonfigurowałem, więc Tasker skopiuje wartość zakładki Chrome, dopóki nie wykryje zmiany. Oznacza to, że zakładki TugaBrowser/wybranej przeglądarki nie ulegną zmianie, dopóki nie dokonasz zmian w zakładkach przeglądarki Chrome. Zrobiłem to, abyś mógł uzyskać dostęp do TugaBrowser/wybranej przeglądarki i zapisać niezsynchronizowane/offline zakładki nie przechowywane na serwerach Google, więc mój profil Taskera nie usuwa ich bez możliwości ich zapisania gdzie indziej.


Jak zsynchronizować zakładki w przeglądarkach innych niż TugaBrowser

Jeśli nie korzystasz z TugaBrowser, będziesz musiał zmodyfikować kilka kroków, aby działało to w wybranej przeglądarce opartej na Chrome. Na szczęście można to zrobić bardzo, bardzo łatwo. Pokażę Ci, jak to zrobić na przykładzie Chromium o otwartym kodzie źródłowym. Oto lista rzeczy, które musisz zmienić:

  1. Zmień kontekst aplikacji. Zamiast ustawiać „TugaBrowser” jako kontekst aplikacji, zmień kontekst aplikacji, aby uruchamiał się podczas korzystania z wybranej przeglądarki. Po prostu dotknij kontekstu i poszukaj swojej aplikacji na liście.
  2. Modyfikować Akcja nr 12 (polecenie Uruchom powłokę), aby wskazać plik zakładek konkretnej przeglądarki. Katalog powinien wyglądać jak /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Uwaga: zmienne i nazwy plików, które go zapisują/odnoszą się do niego jako „TugaBookmarks”, można bezpiecznie zignorować, wystarczy zmienić miejsce, z którego Tasker pobiera plik zakładek) Przed:
    cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
    Po:
    cp /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
  3. Modyfikować Akcja nr 18 (inne polecenie Uruchom powłokę), aby zapisać zaktualizowany plik zakładek w katalogu danych konkretnej przeglądarki. Ponownie katalog powinien wyglądać tak samo jak powyżej. Zanim:
    cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks
    Po:
    cp /sdcard/Tasker/Bookmarks /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks 
  4. Modyfikować Akcja nr 23 aby zabić wybraną przeglądarkę. Dzieje się tak, gdy naciśniesz przycisk ponownego uruchomienia na pasku przekąsek, Tasker zabije odpowiednią aplikację.
  5. Modyfikować Akcja nr 25 aby ponownie uruchomić tę samą wybraną przeglądarkę. Spowoduje to ponowne uruchomienie przeglądarki po jej zamknięciu przez użytkownika, aby mogła załadować nowe zakładki.

Wszystko inne można bezpiecznie zostawić w spokoju, nawet jeśli utworzone nazwy zmiennych/plików nie mają sensu w konkretnej przeglądarce. Możesz zdecydować się na ich zmianę, jeśli Ci przeszkadzają, ale zanim spróbujesz to zrobić, upewnij się, że wiesz, co robisz. Znajomość Taskera z pewnością będzie w tym pomocna.


Wniosek

Mam nadzieję, że uznasz ten profil za przydatny. Wiem, że jest tu wiele do omówienia, ale naprawdę ważne jest, aby dokładnie przeczytać ten post, aby zrozumieć, co to robi, jak działa i kiedy to zadziała. Poprawne wykonanie tego zadania wymagało wielu prób i błędów, ale jestem całkiem zadowolony z wyników, nawet jeśli ostatecznie wydaje się to zbyt skomplikowane.

Automatyzacja tego procesu pomaga złagodzić część obciążenia związanego z synchronizacją zakładek z synchronizacją Chrome, choć niestety będzie to tylko synchronizacja jednokierunkowa i zawsze będzie wymagać dostępu do konta root, dopóki Google nie złagodzi ograniczeń uniemożliwiających przeglądarkom Chrome innych firm dostęp do Chrome Synchronizuj.

Jeśli masz jakieś pytania, uwagi lub wątpliwości, daj nam znać w komentarzach poniżej!