Руководство о том, как синхронизировать закладки Chrome со сторонними браузерами Chrome, такими как TugaBrowser. Требуется root и является односторонним методом синхронизации.
За последний год популярность сторонних браузеров на базе Google Chrome резко возросла. Эта тенденция началась после того, как Форум Code Aurora (CAF) начал публиковать Сборки Chromium, оптимизированные для устройств Snapdragon в октябре 2015 года. Разработчики, заинтересованные в создании идеального, многофункционального браузера, начали разделять проект и добавлять такие функции, как ночной режим, блокировка контента, режимы энергосбережения, поддержка жестов и многое другое, помимо поддержки закладок Chrome через Chrome Sync. API.
Пользователи устремились к таким проектам, как популярный ТугаБраузер на наших форумах, потому что эти браузеры предлагают множество улучшений помимо существующих функций синхронизации Google Chrome, которые недоступны в браузерах, отличных от Chrome. К сожалению, Гугл закрыть сторонний доступ к Chrome Sync API
еще в январе, сославшись на соображения безопасности. В Google заявили, что этот шаг не был сделан намеренно, чтобы затруднить работу сторонних браузеров Chrome, для которых даже Хром с открытым исходным кодом классифицируется как, но это исправление безопасности случайно положило конец синхронизации закладок для сторонних браузеров Chrome.В настоящее время такие браузеры, как TugaBrowser, по-прежнему не могут синхронизировать изменения закладок с помощью Chrome Sync. Но есть является способ синхронизации закладок вашего рабочего стола со сторонними браузерами Chrome при условии, что у вас есть root-доступ. Метод, который мы уже писали об этом, можно вкратце свести к следующим шагам:
- Откройте файл закладок стороннего браузера Chrome и скопируйте значение контрольной суммы.
- Перенесите файл закладок из каталога Chrome в каталог стороннего браузера Chrome, перезаписав его.
- Откройте новый файл закладок и перезапишите значение контрольной суммы тем, которое вы скопировали первым.
- Принудительно закройте/уничтожьте сторонний браузер Chrome, чтобы он перезагрузил свои закладки.
Этот метод редактирования закладок существует уже много лет как средство восстановления закладок на рабочем столе в случае, если что-то пошло не так, но использование этих шагов для установки закладок в таких браузерах, как TugaBrowser, является отличным применением этого старый трюк. Хотя этот метод действительно позволяет вам разместить закладки Chrome в вашем любимом стороннем браузере Chrome, он требует от вас выполняйте эти действия каждый раз, когда добавляете новую закладку в Chrome. Это, конечно, совсем не удобно, поэтому я и попытался автоматизировать этот процесс.
Обратите внимание на видео выше: когда я открываю TugaBrowser, чтобы показать свои закладки, отображаются 3 закладки. Когда я выхожу и снова открываю TugaBrowser, Снэк-бар отображается сообщение о том, что обнаружена новая закладка, а также кнопка перезапуска TugaBrowser. Когда я нажимаю кнопку перезапуска браузера, я открываю страницу закладок и вижу, что добавлена новая, четвертая закладка. По сути, я автоматизировал вышеуказанные 4 шага, чтобы они работали в фоновом режиме, и публикую здесь руководство, показывающее, как вы тоже можете это сделать!
Прежде чем я начну изучать этот урок, мне нужно упомянуть несколько вещей:
- Этот метод требуется root-доступ. Обойти это требование невозможно, извините! Мы возимся с файлами в /data/data, к которым невозможно получить доступ без root.
- Этот метод представляет собой односторонняя синхронизацияЭто означает, что любые закладки, которые вы добавляете в сторонний браузер Chrome, не сохраняются (и фактически перезаписываются). Вам придется добавлять любые новые закладки из браузера Chrome, в котором включена синхронизация Chrome. Я изучил способы заставить Chrome Sync принимать изменения моих закладок, но, к сожалению, не думаю, что это целесообразно. возможно, потому что версия ваших закладок, хранящаяся на сервере Google, всегда имеет приоритет над любыми внесенными вами изменениями. сделать вручную.
- Этот метод безопасный. Удаление ваших закладок не повредит, поскольку мы не имеем (и не можем) связываться с копией ваших закладок Google, хранящейся на их сервере.
Если вы ищете метод двусторонней синхронизации в стороннем браузере Chrome, извините, у тебя никогда не будет такого метода. Вините в этом Google. Если вы спрашиваете себя: «Какой в этом смысл?» тогда этот урок не для тебя. Если вы хотите несколько облегчить боль, связанную с удалением Google Chrome Sync, то, надеюсь, это руководство окажется для вас полезным.
Односторонняя синхронизация закладок Chrome для сторонних браузеров Chrome
Требования:
- Корневой доступ
- Таскер ($2.99)
- Синкер
- Плагин Snackbar Tasker
- Браузер Гугл Хром
Хотя я говорю, что необходим Tasker, возможно, вам удастся использовать другие приложения для автоматизации из Play Store. Если вы все же решите это сделать, вы будете предоставлены сами себе, потому что у меня нет опыта их использования, поэтому вам придется самостоятельно адаптировать мой сценарий. Synker необходим, потому что мы используем его для принудительного обновления ваших закладок вручную. Плагин Tasker для закусочной технически необязателен, но именно он обеспечивает аккуратную панель закусок, которая сообщает мне о наличии новых закладок с кнопкой для перезапуска приложения. Наконец, на вашем устройстве должен быть установлен (и не отключен) Google Chrome (любой канал), поскольку он предоставит нам файл закладок, который мы скопируем.
Еще одна вещь, которую следует упомянуть: хотя мое руководство построено на ТугаБраузер Имея в виду, вы можете легко заставить это работать с любым другим браузером на базе Chrome, изменив несколько шагов, которые я опишу в конце ниже.
Руководство
Сценарий, который я использую, довольно сложен и включает в себя 29 действий, поэтому я не буду вдаваться в подробности о том, как выполняется каждое из них. шаг работает, но знайте, что этот сценарий по сути автоматизирует 4 ручных шага, описанных в начале статья.
Вот описание профиля для тех из вас, кто уже является экспертом в Tasker и хочет попробовать воспроизвести его самостоятельно.
Синхронизация закладок CAF
Profile: CAF Bookmark Sync (28)
Приложение: ТугаБраузер
Введите: Проверить закладки Chrome (27)
A1: Synker — принудительная синхронизация [Конфигурация: Принудительная синхронизация 2 поставщиков, тайм-аут (секунды): 0]
A2: Подождите [MS: 0 Секунд: 5 минут: 0 Часов: 0 Дней: 0]
A3: Запустить оболочку [Команда: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Тайм-аут (секунды): 0 Использовать корень: При выводе в хранилище: Ошибки в хранилище: Результат в хранилище В: ]
A4: Прочитайте файл [Файл:/sdcard/Tasker/Bookmarks To Var:%json]
A5: Разделение переменной [Имя:%json Splitter:"checksum": Удалить базу: Выкл.]
A6: Поиск по переменной Заменить [ Переменная:%json2 Поиск:(?<=")[^"]+(?=") Игнорировать регистр: Выкл. Многострочный: Выкл. Только одно совпадение: При совпадении в магазине: %checksum Заменить совпадения: Выкл. Заменить на: ]
A7: Если [ %ChromeChecksum !Set ]
A8: Набор переменных [ Имя:%ChromeChecksum To:%checksum (1) Рекурсивные переменные: Выкл. Выполнение математических вычислений: Выкл. Добавление: Выкл.]
А9: Еще
A10: Если [ %ChromeChecksum !~ %checksum (1) ]
A11: Набор переменных [ Имя:%ChromeChecksum To:%checksum (1) Рекурсивные переменные: Выкл. Выполнение математических вычислений: Выкл. Добавление: Выкл.]
A12: Запустите оболочку [команда: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Тайм-аут (секунды): 0 Использовать корень: При выводе в хранилище: Ошибки в хранилище: В хранилище Результат в: ]
A13: Прочтите файл [File:/sdcard/Tasker/TugaBookmarks в Var:%tugajson]
A14: Разделение переменной [ Имя:%tugajson Splitter:"checksum": Удалить базу: Выкл.]
A15: Поиск по переменной Заменить [ Переменная:%tugajson2 Поиск:(?<=")[^"]+(?=") Игнорировать регистр: Выкл. Многострочный: Выкл. Только одно совпадение: При совпадении в магазине: %checksum Заменить совпадения: Выкл. Заменить на: ]
A16: Поиск по переменной Заменить [ Переменная:%json2 Поиск:(?<=")[^"]+(?=") Игнорировать регистр: Выкл. Многострочный: Выкл. Только одно совпадение: Вкл. Совпадения в магазине: Заменить совпадения: Вкл. Заменить на:%контрольная сумма (1)]
A17: Записать файл [Файл:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Добавить: Выкл. Добавить новую строку: Выкл.]
A18: Запустите оболочку [команда: 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 Использовать Root: Выкл.]
A24: Подождите [MS: 0 Секунды: 2 Минуты: 0 Часы: 0 Дни: 0]
A25: Запустить приложение [Приложение: Данные TugaBrowser: Исключить из последних приложений: Выкл. Всегда начинать новую копию: Выкл.]
A26: Конец, если
A27: Удалить файл [Файл:/sdcard/Tasker/TugaBookmarks Уровень уничтожения: 0 Использовать корень: Выкл.]
A28: Конец, если
A29: Конец, если
A30: Удалить файл [Файл:/sdcard/Tasker/Bookmarks Уровень уничтожения: 0 Использовать корень: Выкл.]
читать далее
Скрипт активируется всякий раз, когда Tasker обнаруживает, что вы вошли в выбранный вами сторонний браузер Chrome, в моем случае TugaBrowser. Вам нужно будет включить службу специальных возможностей Tasker, чтобы Tasker мог определять, когда вы находитесь в выбранном вами браузере. Эту часть можно легко изменить для работы с другими браузерами на базе Chrome. Все, что вам нужно сделать, это выбрать, в каком браузере вы хотите, чтобы этот скрипт запускался, в контексте приложения в Tasker.
Теперь вот краткое описание того, чего достигает каждый набор действий в этой задаче.
- А1-А2: вручную синхронизировать закладки Chrome с сервером Google, чтобы файл закладок установленного приложения Chrome обновился. Подождите 5 секунд, чтобы убедиться, что синхронизации достаточно.
- А3-А6: скопируйте файл закладок Chrome во временное расположение, извлеките JSON из файла в переменную, затем используйте фильтр регулярных выражений, чтобы извлечь значение контрольной суммы в другую переменную.
- А7-А10: если в Tasker не установлена глобальная переменная %ChromeChecksum (т. при первом запуске сценария), установите для него текущее значение. Если для него установлено значение, затем проверьте, соответствует ли значение, хранящееся в переменной Tasker, текущей контрольной сумме в файле закладок. Если да, переходите к A11–A26.
- А11: установите переменную Tasker, содержащую контрольную сумму Chrome, в текущую контрольную сумму, извлеченную из файла закладок.
- А12-А15: скопируйте файл закладок TugaBrowser во временное расположение, извлеките JSON из файла, затем используйте фильтр регулярных выражений для извлечения значения контрольной суммы.
- А16: используйте значение контрольной суммы, взятое из TugaBrowser, и используйте его для замены значения контрольной суммы из файла закладок Chrome.
- А17-А18: вставьте обновленный файл закладок, взятый из Chrome, но со значением контрольной суммы TugaBrowser, в каталог данных TugaBrowser.
- А19-А26: покажите закусочную, сообщающую нам, что были добавлены новые закладки. Если кнопка на снэкбаре нажата, перезапустите TugaBrowser, в противном случае идите дальше.
- А27-А30: удалить временные файлы закладок, с которыми мы работали, и завершить задачу.
Почему это включает в себя так много шагов? К сожалению, это связано с тем, что у нас нет простого способа прямого доступа к (потенциально большой) структуре данных JSON в создавать закладки для файлов через Tasker или один из его плагинов, например AutoTools, без копирования файла и извлечения его содержимого в файл. переменная. Если бы мы могли, эта работа была бы гораздо более сжатой, но на данный момент я придумал вот что. Я разговаривал с разработчиком AutoTools по этому поводу, и хотя ему удалось обновить AutoTools до иметь возможность читать данные JSON из файла, запись JSON прямо в файл не может быть выполнена через Tasker плагин.
В любом случае, сам этот скрипт выполняется очень быстро, несмотря на то, что некоторые шаги кажутся ненужными, потому что я хотел сделать это доступным без необходимости устанавливать какие-либо ненужные дополнительные плагины поверх Таскер. Единственное, что замедляет работу этого сценария и почему вы видите некоторую задержку видео, — это время ожидания, необходимое для Tasker, чтобы убедиться, что ваши закладки Chrome синхронизированы с серверами Google, прежде чем переходить к остальным сценарий. Вы, конечно, можете поэкспериментировать с командами ожидания в задаче Tasker, чтобы уменьшить задержку, если хотите, но в конечном итоге это зависит от вас.
Загрузка, импорт и настройка
Как всегда, мы предоставим XML-файл профиля Tasker, который вы можете получить, чтобы быстро настроить его самостоятельно. Загрузите файл .prf.xml ниже с AndroidFileHost и сохраните его во внутренней памяти. Откройте Tasker и отключите режим новичка в настройках. Вернитесь на главный экран Tasker и нажмите и удерживайте вкладку «Профиль» на панели действий вверху, пока не появится всплывающая опция «Импорт». Нажмите ее, а затем перейдите туда, где вы сохранили XML-файл, и выберите его для импорта.
Загрузите профиль «Синхронизация закладок Chrome» с AndroidFileHost.
Есть 3 очень, очень важных шага (и 1 необязательный, но необходимый шаг, если вы не используете TugaBrowser), которые вам необходимо предпринять, прежде чем этот профиль заработает для вас.
- Давать возможность ТаскераСлужба доступности. Вы можете сделать это, открыв «Настройки» и выполнив поиск «доступность». Нажмите на Tasker, затем включите его службу специальных возможностей. Это необходимо, поскольку в противном случае Tasker не сможет определить, используете ли вы TugaBrowser (или любой другой браузер).
- Выбери свой Поставщики синхронизации Chrome в Synker. Вы можете сделать это, открыв задачу «Проверить закладки Chrome», а затем нажав Действие № 1 с надписью «Synker — Принудительная синхронизация». Нажмите значок карандаша, чтобы открыть экран конфигурации Synker. Прокрутите вниз и выберите «Синхронизация Chrome» для своей учетной записи Google.
- Предоставить Tasker доступ суперпользователя. Самый быстрый способ сделать это — заставить Tasker попытаться выполнить действие, требующее Су. Снова на экране конфигурации задачи «Проверить закладки Chrome», на этот раз нажмите и удерживайте действие № 3 с надписью «Выполнить». Shell». Нажмите значок «Воспроизвести», который появится в левом нижнем углу, чтобы Tasker выполнил это действие, а это только. Tasker попросит вас предоставить ему доступ суперпользователя. Примечание для тех из вас, кто использует MagiskSU: Tasker в настоящее время не обнаруживает MagiskSU самостоятельно, поэтому может выдать ошибку, сообщающую, что ваше устройство не рутировано. Это будет исправлено в следующем обновлении Tasker, но если вы ищете временное решение, старший участник XDA СлучайныйPooka имеет краткое руководство по этому поводу.
После того, как вы выполнили эти три действия, этот профиль должен начать работать. При первом запуске TugaBrowser/любого браузера после настройки Tasker сохранит значение контрольной суммы файла закладок Chrome. Когда значение контрольной суммы изменится при последующем запуске TugaBrowser/выбранного вами браузера, Tasker заменит файл закладок вашего браузера файлом из Chrome.
Обратите внимание, что при первом запуске вашего браузера, я намеренно не настроил его, поэтому Tasker будет копировать значение закладки Chrome, пока не обнаружит изменение. Это означает, что закладки вашего TugaBrowser/браузера не изменятся, пока вы не внесете изменения в закладки Chrome. Я сделал это, чтобы вы могли получить доступ к TugaBrowser/вашему браузеру и сохранить несинхронизированные/автономные закладки, хранятся на серверах Google, поэтому мой профиль Tasker не удаляет их, пока у вас не будет возможности их сохранить. в другом месте.
Как синхронизировать закладки в браузерах, отличных от TugaBrowser
Если вы не используете TugaBrowser, вам нужно будет изменить несколько шагов, чтобы это работало в выбранном вами браузере на базе Chrome. К счастью, это очень и очень легко сделать. Я покажу вам, как это сделать, на примере Chromium с открытым исходным кодом. Вот список того, что вам нужно изменить:
- Изменение контекста приложения. Вместо установки «TugaBrowser» в качестве контекста приложения измените контекст приложения, чтобы он срабатывал при использовании выбранного браузера. Просто нажмите на контекст и найдите свое приложение в списке.
- Изменить Действие № 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
- Изменить Действие № 18 (еще одна команда запуска оболочки), чтобы сохранить обновленный файл закладок в каталоге данных вашего браузера. Опять же, каталог должен выглядеть так же, как указано выше. До:
После: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
- Изменить Действие № 23 чтобы убить ваш браузер по выбору. Это значит, что когда вы нажимаете кнопку перезагрузки в снэкбаре, Tasker убивает нужное приложение.
- Изменить Действие № 25 чтобы перезапустить тот же браузер по вашему выбору. Это перезапустит браузер после того, как он был закрыт пользователем, чтобы он мог загрузить новую закладку(и).
Все остальное можно смело оставить в покое, даже если созданные имена переменных/файлов не имеют смысла для вашего конкретного браузера. Вы можете изменить их, если они вас беспокоят, но убедитесь, что вы знаете, что делаете, прежде чем пытаться это сделать. Некоторое знакомство с Tasker определенно поможет в этом.
Заключение
Я надеюсь, что вы найдете этот профиль полезным. Я знаю, что здесь можно многое понять, но вам действительно важно внимательно прочитать этот пост, чтобы понять, что это делает, как это работает и когда это сработает. Чтобы сделать это правильно, мне потребовалось много проб и ошибок, но я очень доволен результатами, даже если в конечном итоге это кажется слишком сложным.
Автоматизация этого процесса помогает облегчить задачу синхронизации ваших закладок с помощью Chrome Sync, хотя, к сожалению, это будет лишь временная задача. односторонняя синхронизация и всегда будет требовать root-доступа, пока Google не ослабит свои ограничения, запрещающие сторонним браузерам Chrome доступ к Chrome. Синхронизация.
Если у вас есть какие-либо вопросы, комментарии или замечания, сообщите нам об этом в комментариях ниже!