Как да синхронизирате отметките на Chrome на работния си плот с браузъри Chrome на трети страни на Android

Урок за това как да синхронизирате своите отметки в Chrome с браузъри Chrome на трети страни като TugaBrowser. Изисква root и е еднопосочен метод за синхронизиране.

През изминалата година браузърите на трети страни, базирани на Chrome на Google, експлодираха в популярност. Тази тенденция започна след публикуването на Code Aurora Forum (CAF). Компилации на Chromium, оптимизирани за устройства Snapdragon през октомври 2015 г. Разработчиците, които се интересуват от създаването на най-добрия браузър, изпълнен с функции, започнаха да разклоняват проекта и добавят функции като нощна режим, блокери на съдържание, режими за пестене на енергия, поддръжка на жестове и още в допълнение към поддръжката за отметки на Chrome чрез Chrome Sync API.

Потребителите се стичаха към проекти като популярния TugaBrowser в нашите форуми, защото тези браузъри предлагат много подобрения в допълнение към съществуващите функции за синхронизиране на Chrome на Google, които не са налични в браузъри, различни от Chrome. За съжаление, Google

изключете достъпа на трети страни до API за синхронизиране на Chrome още през януари, позовавайки се на опасения за сигурността. Google заяви, че този ход не е направен умишлено, за да възпрепятства браузърите Chrome на трети страни, за които дори Chromium с отворен код е класифициран като, но тази корекция за сигурност случайно означава края на синхронизирането на отметки за браузъри Chrome на трети страни.

Понастоящем все още няма начин браузъри като TugaBrowser да синхронизират промените на отметките с Chrome Sync. Но там е начин за синхронизиране на вашите отметки на работния плот с браузъри Chrome на трети страни, при условие че имате root достъп. Методът, който публикувахме за преди, може основно да се обобщи в следните стъпки:

  1. Отворете файла с отметки за вашия браузър Chrome на трета страна и копирайте стойността на контролната сума
  2. Преместете файла с отметки от директорията на Chrome в директорията на вашия браузър Chrome на трета страна, като го презапишете.
  3. Отворете новия файл с отметки и презапишете стойността на контролната сума с тази, която сте копирали за първи път
  4. Принудително затворете/убийте браузъра Chrome на трета страна, така че да презареди своите отметки

Този метод за редактиране на вашите отметки съществува от години като средство за възстановяване на вашите отметки на работния плот в случай нещо се обърка, но използването на тези стъпки, за да получите вашите отметки в браузъри като TugaBrowser, е чудесно приложение на това стар трик. Въпреки че този метод наистина ви позволява да получите своите отметки в Chrome на любимия си браузър Chrome на трета страна, той изисква да правете тези стъпки всеки път, когато добавяте нов маркер в Chrome. Това със сигурност не е никак удобно, затова се опитах да го направя автоматизирайте този процес.

Във видеото по-горе забележете как, когато отворя TugaBrowser, за да покажа моите отметки, се показват 3 отметки. Когато напусна и отворя отново TugaBrowser, a снек-бар показва, че е открита нова отметка, заедно с бутон за рестартиране на TugaBrowser. Когато натисна бутона за рестартиране на браузъра, отварям страницата с отметки и сега виждам, че е добавен нов, четвърти отметка. По същество автоматизирах горните 4 стъпки, за да работят безшумно във фонов режим, и тук публикувам урок, който ви показва как можете да направите и това!

Преди да започна с този урок, има няколко неща, които трябва да спомена:

  • Този метод изисква root достъп. Няма абсолютно никакъв начин да се заобиколи това изискване, съжалявам! Бъркаме се с файлове в /data/data, които не могат да бъдат достъпни без root.
  • Този метод е a еднопосочна синхронизация, което означава, че всички отметки, които добавите към вашия браузър Chrome на трета страна, не се запазват (и всъщност се презаписват). Ще трябва да добавите всички нови отметки от браузър Chrome, който има активирано синхронизиране на Chrome. Разгледах методи за принуждаване на Chrome Sync да приеме моите промени в отметките, но за съжаление не мисля, че е възможно, защото версията на вашите отметки, съхранени на сървъра на Google, изглежда винаги отменя всички промени, които правите направете ръчно.
  • Този метод е безопасно. Вашите отметки не са застрашени от изтриване, защото ние не сме (и не можем) да се забъркваме с копието на Google на вашите отметки, които се съхраняват на техния сървър.

Ако търсите метод за двупосочна синхронизация във вашия браузър Chrome на трета страна, съжаляваме, никога няма да получите такъв метод. Обвинете Google за това. Ако се питате "какъв е смисълът от това", тогава този урок не е за вас. Ако искате да облекчите донякъде болката от премахването на Chrome Sync от Google, тогава се надяваме, че ще намерите този урок за полезен.


Еднопосочно синхронизиране на отметки в Chrome за браузъри Chrome на трети страни

Изисквания:

  • Root достъп
  • Tasker ($2.99)
  • Синкер
  • Плъгин Tasker за снекбар
  • Браузър Google Chrome

Въпреки че казвам, че Tasker е задължителен, може да успеете да се измъкнете с помощта на други приложения за автоматизация в Play Store. Ако решите да направите това, вие сте сами, защото нямам опит с използването им, така че ще трябва сами да адаптирате моя скрипт. Synker е необходим, защото го използваме, за да принудим ръчно опресняване на вашите отметки. Приставката Tasker за лентата за бързо хранене технически не е необходима, но тя осигурява добре изглеждащата лента за закуска, която ме уведомява, че има нови отметки с бутон за рестартиране на приложението. И накрая, трябва да имате Google Chrome (всеки канал е подходящ) инсталиран (и не деактивиран) на вашето устройство, защото той ще ни предостави файла с отметки, който ще копираме.

Още нещо, което трябва да спомена: въпреки че моят урок е изграден с TugaBrowser Имайте предвид, че можете лесно да накарате това да работи с всеки друг браузър, базиран на Chrome, като промените няколко стъпки, които ще очертая в края по-долу.

Урок

Скриптът, който използвам, е доста сложен, с общо 29 действия, така че няма да навлизам в излишни подробности за това как всяко стъпка работи, но просто знайте, че този скрипт по същество автоматизира 4-те ръчни стъпки, описани в началото на статия.

Ето описанието на профила за тези от вас, които вече са експерти в Tasker и искат да опитат да го копират сами.

CAF Bookmark Sync

 Profile: CAF Bookmark Sync (28) 

Приложение: TugaBrowser

Въведете: Проверете отметките на Chrome (27)

A1: Синкер - Принудително синхронизиране [Конфигурация: Принудително синхронизиране 2 доставчик(а) Време за изчакване (секунди):0]

A2: Изчакайте [MS: 0 секунди: 5 минути: 0 часа: 0 дни: 0]

A3: Изпълнение на Shell [ Команда: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Време за изчакване (секунди):0 Използване на корен: При съхраняване на изхода в: Съхраняване на грешки в: съхраняване на резултат В: ]

A4: Прочетете файла [ ​​File:/sdcard/Tasker/Bookmarks To Var:%json]

A5: Разделяне на променливи [Име:%json Разделител:"контролна сума": Изтриване на база: Изкл.]

A6: Търсене на променлива Замяна [ Променлива:%json2 Търсене:(?<=")[^"]+(?=") Игнориране на регистър: Изкл. Многоред: Изкл. Само едно съвпадение: Вкл. Съвпадения в магазина:%контролна сума Замяна на съвпадения: Изкл. Замяна с: ]

A7: Ако [ %ChromeChecksum !Set ]

A8: Задаване на променлива [ Име:%ChromeChecksum To:%checksum (1) Рекурсивни променливи: Off Do Maths: Off Append: Off ]

A9: Друго

A10: Ако [ %ChromeChecksum !~ %checksum (1) ]

A11: Набор от променливи [ Име:%ChromeChecksum To:%checksum (1) Рекурсивни променливи: Off Do Maths: Off Append: Off ]

A12: Стартирайте Shell [ Команда: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Време за изчакване (секунди): 0 Използване на корен: При съхраняване на изхода в: Съхраняване на грешки в: Магазин Резултат в: ]

A13: Прочетете файла [ ​​File:/sdcard/Tasker/TugaBookmarks To Var:%tugajson ]

A14: Разделяне на променлива [Име:%tugajson Splitter:"checksum": Изтриване на база: Изкл.]

A15: Търсене на променлива Замяна [ Променлива:%tugajson2 Търсене:(?<=")[^"]+(?=") Игнориране на главни и малки букви: Изкл. Многоред: Изкл. Само едно съвпадение: Вкл. Съвпадения в магазина:%контролна сума Замяна на съвпадения: Изкл. Замяна с: ]

A16: Търсене на променлива Замяна [ Променлива:%json2 Търсене:(?<=")[^"]+(?=") Игнориране на главни и малки букви: Изключено Многоредово: Изключено Само едно съвпадение: Включено Запазване на съвпаденията В: Замяна на съвпаденията: Включено Замяна с:%контролна сума (1) ]

A17: Напишете файл [ File:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Append: Off Add Newline: Off ]

A18: Стартирайте Shell [ Команда: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Време за изчакване (секунди): 0 Използване на root: Вкл. Съхраняване на изхода в: Съхраняване на грешки в: Съхраняване на резултата в: ]

A19: Snackbar [ Конфигурация: Съобщение: Открити са нови отметки.

Бутон: РЕСТАРТ

Команда: Изчакване (секунди):15 ]

A20: Ако [ %sb_button ~ Бутонът е натиснат ]

A21: Отидете вкъщи [ Страница: 0 ]

A22: Изчакайте [MS: 0 секунди: 2 минути: 0 часа: 0 дни: 0]

A23: Унищожаване на приложението [Приложение: TugaBrowser Използване на корен: Изкл.]

A24: Изчакайте [MS: 0 секунди: 2 минути: 0 часа: 0 дни: 0]

A25: Стартиране на приложение [ Приложение: Данни на TugaBrowser: Изключване от последните приложения: Изключено Винаги стартира ново копие: Изключено ]

A26: Край, ако

A27: Изтриване на файл [ File:/sdcard/Tasker/TugaBookmarks Shred Level: 0 Use Root: Off ]

A28: Край, ако

A29: Край, ако

A30: Изтриване на файл [ File:/sdcard/Tasker/Bookmarks Shred Level: 0 Use Root: Off ]

Прочетете още

Скриптът се активира всеки път, когато Tasker открие, че сте въвели избрания от вас браузър Chrome на трета страна, в моя случай TugaBrowser. Ще трябва да активирате услугата за достъпност на Tasker, така че Tasker да може да открие кога сте в избрания от вас браузър. Тази част може лесно да бъде модифицирана, за да работи с други браузъри, базирани на Chrome, всичко, което трябва да направите, е да изберете в кой браузър искате да работи този скрипт в контекста на приложението в Tasker.

Сега ето кратко описание на това какво постига всеки набор от действия в тази задача.

  • А1-А2: ръчно синхронизирайте отметките на Chrome от сървъра на Google, така че файлът с отметки на инсталираното приложение Chrome да се актуализира. Изчакайте 5 секунди, за да сте сигурни, че има достатъчно време за завършване на синхронизирането
  • A3-A6: копирайте файла с отметки на Chrome на временно местоположение, извлечете JSON от файла в променлива, след което използвайте филтър за регулярен израз, за ​​да извлечете стойността на контролната сума в друга променлива
  • A7-A10: ако Tasker няма зададена глобална променлива %ChromeChecksum (т.е. когато стартирате скрипта за първи път), задайте текущата стойност. Ако има зададена стойност, след това проверете дали стойността, съхранена в променливата на Tasker, съответства на текущата контролна сума във файла с отметки. Ако е така, преминете към A11-A26
  • A11: задайте променливата Tasker, която съдържа контролната сума на Chrome, на текущата контролна сума, извлечена от файла с отметки
  • A12-A15: копирайте файла с отметки на TugaBrowser на временно място, извлечете JSON от файла, след което използвайте филтър за регулярен израз, за ​​да извлечете стойността на контролната сума
  • A16: използвайте стойността на контролната сума, взета от TugaBrowser и я използвайте, за да замените стойността на контролната сума от файла с отметки на Chrome
  • A17-A18: натиснете актуализирания файл с отметка, взет от Chrome, но със стойността на контролната сума на TugaBrowser, в директорията с данни на TugaBrowser
  • A19-A26: покажете снекбар, който ни казва, че са добавени нови отметки. Ако бутонът на снекбара е натиснат, рестартирайте TugaBrowser, в противен случай продължете.
  • A27-A30: изтрийте временните файлове с отметки, с които работихме, и завършете Задачата

Защо това включва толкова много стъпки? За съжаление това е така, защото нямаме лесен начин за директен достъп до (потенциално голяма) JSON структура от данни в маркирайте файлове чрез Tasker или някой от неговите добавки, като AutoTools, без да копирате файла и да извличате съдържанието му в променлива. Ако можехме, тази работа щеше да бъде много по-съкратена, но засега това е, което измислих. Говорих с разработчика на AutoTools по този въпрос и докато той успя да актуализира AutoTools до можете да четете JSON данни от файл, писането на JSON направо във файл не може да се направи чрез Tasker плъгин.

Във всеки случай, самият този скрипт работи изключително бързо, въпреки че някои стъпки изглеждат ненужни, защото аз исках да пусна това там, без да е необходимо да инсталирате ненужни допълнителни плъгини отгоре Tasker. Единствените неща, които забавят този скрипт и защо виждате известно забавяне във видеото, е времето за изчакване, необходимо за Tasker, за да се уверите, че вашите отметки в Chrome са синхронизирани от сървърите на Google, преди да продължите с останалата част сценарий. Със сигурност можете да си поиграете с командите 'wait' в Tasker Task, за да намалите забавянето, ако желаете, но това в крайна сметка зависи от вас.


Изтегляне, импортиране и настройка

Както винаги, ние ще предоставим XML файла на Tasker Profile, който можете да вземете, за да настроите бързо това за себе си. Изтеглете файла .prf.xml по-долу от AndroidFileHost и го запазете във вашата вътрешна памет. Отворете Tasker и деактивирайте режима за начинаещи в Предпочитания. Върнете се към главния екран на Tasker и натиснете продължително върху раздела „Профил“ в лентата с действия в горната част, докато не видите изскачаща опция „импортиране“. Натиснете това и след това отидете до мястото, където сте запазили XML файла, и го изберете, за да го импортирате.

Изтеглете профила „Chrome Bookmark Sync“ от AndroidFileHost

Има 3 много, много важни стъпки (и 1 незадължителна, но необходима стъпка, ако не използвате TugaBrowser), които трябва да предприемете, преди този профил да работи за вас.

  1. Активирайте на TaskerУслуга за достъпност. Можете да го направите, като отворите Настройки и потърсите „достъпност“. Докоснете Tasker, след което активирайте неговата услуга за достъпност. Това е необходимо, защото в противен случай Tasker не може да открие кога използвате TugaBrowser (или друг браузър).
  2. Избери своя Доставчици на Chrome Sync в Synker. Можете да направите това, като отворите задачата „Проверете отметките на Chrome“, след което докоснете Действие №1 с надпис „Синкер – Принудително синхронизиране“. Натиснете иконата на молив, за да изведете екрана за конфигурация на Synker. Превъртете надолу и изберете „Chrome Sync“ за вашия акаунт в Google.
  3. Предоставете на Tasker суперпотребителски достъп. Най-бързият начин да направите това е да накарате Tasker да се опита да извърши действие, което изисква су. Отново в екрана за конфигуриране на задачите „Проверка на отметките на Chrome“, този път натиснете продължително действие №3 с надпис „Изпълни Shell." Натиснете иконата "play", която се появява в долния ляв ъгъл, за да накарате Tasker да изпълни това действие и това само. Tasker ще ви помоли да му предоставите суперпотребителски достъп. Бележка за тези от вас, които използват MagiskSU: Tasker в момента не открива MagiskSU самостоятелно, така че може да изведе грешка, че вашето устройство не е руутнато. Това ще бъде коригирано в следващата актуализация на Tasker, но ако търсите временно решение, старши член на XDA RandomPooka има кратко ръководство за това.

След като сте направили тези 3 неща, този профил вече трябва да започне да работи. При първото ви стартиране на TugaBrowser/браузъра по избор след настройката, Tasker ще запази стойността на контролната сума на файла с отметки на Chrome. Когато тази стойност на контролната сума се промени при последващо стартиране на TugaBrowser/браузър по ваш избор, тогава Tasker ще замени файла с отметки на вашия браузър с този от Chrome.

Имайте предвид, че за първото стартиране на вашия браузър, умишлено не го настроих, така че Tasker ще копира стойността на отметката на Chrome, докато открие промяна. Това означава, че отметките на вашия TugaBrowser/браузър по избор няма да се променят, докато не направите промяна в отметките на Chrome. Направих това, за да имате достъп до TugaBrowser/браузъра по ваш избор, за да запазите вашите несинхронизирани/офлайн отметки, които не съхранявани на сървърите на Google, така че моят профил в Tasker да не ги изтрие, без да имате възможност да ги запазите другаде.


Как да синхронизирате отметки в браузъри, различни от TugaBrowser

В случай, че не използвате TugaBrowser, ще трябва да промените няколко стъпки, за да накарате това да работи на избрания от вас браузър, базиран на Chrome. За щастие, това е много, много лесно да се направи. Ще ви покажа как да го направите, използвайки Chromium с отворен код като пример. Ето списъка с неща, които трябва да промените:

  1. Променете контекста на приложението. Вместо „TugaBrowser“ да бъде зададен като контекст на приложението, променете контекста на приложението, за да се задейства, когато използвате браузъра по избор. Просто докоснете контекста и потърсете приложението си в списъка.
  2. Променете Действие #12 (Изпълнете командата Shell), за да посочите файла с отметки на вашия конкретен браузър. Директорията трябва да изглежда като /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Забележка: променливите и имената на файловете, които го записват/отнасят към него като "TugaBookmarks", могат безопасно да бъдат игнорирани, просто трябва да промените откъде Tasker изтегля файла с отметки) Преди:
    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
  3. Променете Действие #18 (друга команда Run Shell), за да запазите актуализирания файл с отметки в директорията с данни на вашия браузър. Отново, директорията трябва да изглежда по същия начин като по-горе. Преди:
    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 
  4. Променете Действие #23 да убие избрания от вас браузър. Това е така, когато натиснете бутона за рестартиране в снекбара, Tasker ще убие правилното приложение.
  5. Променете Действие #25 за да стартирате отново същия браузър по ваш избор. Това ще стартира отново браузъра, след като е бил унищожен от потребителя, за да може да зареди новите отметки.

Всичко останало може спокойно да бъде оставено, дори ако създадените имена на променливи/файлове нямат смисъл с вашия конкретен браузър. Можете да изберете да ги промените, ако ви притесняват, но се уверете, че знаете какво правите, преди да се опитате да го направите. Познаването на Tasker определено ще помогне там.


Заключение

Надявам се да намерите този профил за полезен. Знам, че тук има какво да се вземе, но наистина е важно да прочетете внимателно тази публикация, за да разберете какво прави това, как работи и кога ще работи. Това ми отне много опити и грешки, за да го направя правилно, но съм доста доволен от резултатите, дори и да изглежда прекалено сложно в крайна сметка.

Автоматизирането на този процес помага за облекчаване на част от тежестта на синхронизирането на вашите отметки с Chrome Sync, въпреки че за съжаление това ще бъде само еднопосочна синхронизация и винаги ще изисква root достъп, докато Google не облекчи ограниченията си, предотвратяващи достъпа на браузъри Chrome на трети страни до Chrome Синхр.

Ако имате някакви въпроси, коментари или притеснения, уведомете ни в коментарите по-долу!