Como sincronizar os favoritos do Chrome na sua área de trabalho com navegadores Chrome de terceiros no Android

Um tutorial sobre como sincronizar seus favoritos do Chrome com navegadores Chrome de terceiros, como o TugaBrowser. Requer root e é um método de sincronização unilateral.

No ano passado, a popularidade de navegadores de terceiros baseados no Chrome do Google explodiu. Essa tendência começou depois que o Code Aurora Forum (CAF) começou a publicar Compilações do Chromium otimizadas para dispositivos Snapdragon em outubro de 2015. Os desenvolvedores interessados ​​em criar o navegador definitivo e cheio de recursos começaram a bifurcar o projeto e adicionaram recursos como um navegador noturno modo, bloqueadores de conteúdo, modos de economia de energia, suporte a gestos e muito mais, além do suporte para favoritos do Chrome por meio do Chrome Sync API.

Os usuários migraram para projetos como o popular TugaBrowser em nossos fóruns porque esses navegadores ofereciam muitas melhorias além dos recursos de sincronização existentes do Google Chrome que não estão disponíveis em navegadores que não sejam do Chrome. Infelizmente, o Google

encerrar o acesso de terceiros à API Chrome Sync em janeiro, citando uma preocupação de segurança. O Google afirmou que a mudança não foi feita intencionalmente para prejudicar navegadores Chrome de terceiros, para os quais até mesmo o cromo de código aberto é classificado como, mas este patch de segurança significou incidentalmente o fim da sincronização de favoritos para navegadores Chrome de terceiros.

No momento, navegadores como o TugaBrowser ainda não têm como sincronizar as alterações de favoritos com o Chrome Sync. Mas lá é uma maneira de sincronizar os favoritos da sua área de trabalho com navegadores Chrome de terceiros, desde que você tenha acesso root. O método, que já postamos sobre antes, pode ser basicamente resumido nestas etapas:

  1. Abra o arquivo de favoritos do seu navegador Chrome de terceiros e copie o valor da soma de verificação
  2. Envie o arquivo de favoritos do diretório do Chrome para o diretório do navegador Chrome de terceiros, substituindo-o.
  3. Abra o novo arquivo de favoritos e substitua o valor da soma de verificação pelo que você copiou primeiro
  4. Forçar o fechamento/eliminação do navegador Chrome de terceiros para que ele recarregue seus favoritos

Este método de edição de seus favoritos existe há anos como um meio de restaurar seus favoritos na área de trabalho, caso algo deu errado, mas usar essas etapas para obter seus favoritos em navegadores como o TugaBrowser é uma aplicação interessante disso velho truque. Embora esse método realmente permita que você obtenha seus favoritos do Chrome em seu navegador Chrome de terceiros favorito, ele exige que você siga estas etapas sempre que adicionar um novo favorito no Chrome. Isso certamente não é nada conveniente, e foi por isso que tentei automatizar esse processo.

No vídeo acima, observe como quando abro o TugaBrowser para mostrar meus favoritos, são mostrados 3 favoritos. Quando saio e reabro o TugaBrowser, aparece um lanchonete é mostrado informando que um novo favorito foi detectado junto com um botão para reiniciar o TugaBrowser. Quando pressiono o botão para reiniciar o navegador, abro a página de favoritos e agora vejo que um novo quarto favorito foi adicionado. Essencialmente, automatizei as 4 etapas acima para trabalhar silenciosamente em segundo plano e estou postando um tutorial aqui mostrando como você também pode fazer isso!

Antes de começar este tutorial, há algumas coisas que preciso mencionar:

  • Este método requer acesso root. Não há absolutamente nenhuma maneira de contornar esse requisito, desculpe! Estamos mexendo com arquivos em/data/data que não podem ser acessados ​​sem root.
  • Este método é um sincronização unidirecional, o que significa que todos os favoritos adicionados ao navegador Chrome de terceiros não serão salvos (e, na verdade, serão substituídos). Você terá que adicionar novos favoritos de um navegador Chrome com a Sincronização do Chrome ativada. Pesquisei métodos para forçar a Sincronização do Chrome a aceitar as alterações dos meus favoritos, mas infelizmente não acho que seja possível porque a versão dos seus favoritos armazenados no servidor do Google parece sempre substituir quaisquer alterações que você fazer manualmente.
  • Este método é seguro. Seus favoritos não correm o risco de serem apagados, porque não estamos (e não podemos) mexer com a cópia dos seus favoritos do Google, que está armazenada em seu servidor.

Se você está procurando um método de sincronização bidirecional em seu navegador Chrome de terceiros, desculpe, você nunca conseguirá esse método. Culpe o Google por isso. Se você está se perguntando "qual é o sentido disso", então este tutorial não é para você. Se você deseja aliviar um pouco a dor de o Google remover a sincronização do Chrome, esperamos que este tutorial seja útil.


Sincronização unilateral de favoritos do Chrome para navegadores Chrome de terceiros

Requisitos:

  • Acesso raiz
  • Tasker ($2.99)
  • Sinker
  • Plug-in Tasker da barra de lanches
  • Navegador Google Chrome

Embora eu diga que o Tasker é obrigatório, você pode conseguir usar outros aplicativos de automação na Play Store. Se você decidir fazer isso, estará por sua conta, porque não tenho experiência em usá-los, então você mesmo terá que adaptar meu script. O Synker é necessário porque o usamos para forçar uma atualização manual dos seus favoritos. O plugin snackbar Tasker não é tecnicamente necessário, mas é o que fornece a aparência elegante da snackbar que me permite saber que há novos favoritos com um botão para reiniciar o aplicativo. Por fim, você deve ter o Google Chrome (qualquer canal está bom) instalado (e não desativado) em seu dispositivo, pois ele nos fornecerá o arquivo de favoritos que copiaremos.

Mais uma coisa a mencionar: embora meu tutorial seja construído com TugaBrowser em mente, você pode facilmente fazer com que isso funcione com qualquer outro navegador baseado no Chrome, modificando algumas etapas, que descreverei no final abaixo.

Tutorial

O script que estou usando é bastante complexo, com 29 ações no total, por isso não entrarei em detalhes excessivos sobre como cada etapa funciona, mas saiba que este script automatiza essencialmente as 4 etapas manuais descritas no início do artigo.

Aqui está a descrição do perfil para aqueles que já são especialistas em Tasker e desejam tentar replicá-lo sozinhos.

Sincronização de favoritos CAF

 Profile: CAF Bookmark Sync (28) 

Aplicativo: TugaBrowser

Digite: Verifique os favoritos do Chrome (27)

A1: Synker - Forçar sincronização [Configuração: Forçar sincronização de 2 provedores (s) Tempo limite (segundos): 0]

A2: Aguarde [MS: 0 segundos: 5 minutos: 0 horas: 0 dias: 0]

A3: Execute Shell [Comando: cp /data/data/com.android.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/Bookmarks Tempo limite (segundos): 0 Use Root: On Store Output In: Armazene erros em: Armazene o resultado Em: ]

A4: Ler arquivo [Arquivo:/sdcard/Tasker/Bookmarks para Var:%json]

A5: Divisão de variável [Nome:% json Splitter:"checksum": Excluir Base: Desativado]

A6: Substituição de pesquisa de variável [Variável:%json2 Pesquisa:(?<=")[^"]+(?=") Ignorar maiúsculas e minúsculas: Desativado Multilinha: Desativado Somente uma correspondência: Na loja Correspondências em:%checksum Substituir correspondências: Desativado Substitua por: ]

A7: Se [% ChromeChecksum! Definir]

A8: Conjunto de variáveis ​​[Nome:%ChromeChecksum To:%checksum (1) Variáveis ​​recursivas: Off Do Maths: Off Append: Off ]

A9: Caso contrário

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

A11: Conjunto de variáveis ​​[Nome:%ChromeChecksum To:%checksum (1) Variáveis ​​recursivas: Off Do Maths: Off Append: Off ]

A12: Execute Shell [comando: cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks Tempo limite (segundos):0 Use Root: On Store Saída em: Armazena erros em: Store Resulta em: ]

A13: Ler arquivo [Arquivo:/sdcard/Tasker/TugaBookmarks para Var:%tugajson]

A14: Divisão de variável [Nome:%tugajson Divisor:"checksum": Excluir Base: Desativado]

A15: Substituição de pesquisa de variável [Variável:%tugajson2 Pesquisa:(?<=")[^"]+(?=") Ignorar maiúsculas e minúsculas: Desativado Multilinha: Desativado Somente uma correspondência: Na loja Correspondências em:%checksum Substituir correspondências: Desativado Substitua por: ]

A16: Substituição de pesquisa de variável [Variável:%json2 Pesquisa:(?<=")[^"]+(?=") Ignorar maiúsculas e minúsculas: Desativado Multilinha: Desativado Somente uma correspondência: Ligado Armazenar correspondências em: Substituir correspondências: Ligado Substitua por:% soma de verificação (1)]

A17: Gravar arquivo [Arquivo:/sdcard/Tasker/Bookmarks Text:%json1"checksum":%json2 Anexar: Off Adicionar nova linha: Off ]

A18: Execute Shell [comando: cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks Tempo limite (segundos):0 Usar raiz: ativado Armazenar saída em: Armazenar erros em: Armazenar resultado em:]

A19: Snackbar [Configuração: Mensagem: Novos favoritos detectados.

Botão: REINICIAR

Comando: Tempo limite (segundos): 15]

A20: Se [% sb_button ~ Botão pressionado]

A21: Vá para casa [ Página: 0 ]

A22: Aguarde [MS: 0 segundos: 2 minutos: 0 horas: 0 dias: 0]

A23: Kill App [App: TugaBrowser Use Root: Off]

A24: Aguarde [MS: 0 segundos: 2 minutos: 0 horas: 0 dias: 0]

A25: Iniciar aplicativo [App: Dados do TugaBrowser: Excluir de aplicativos recentes: Desativado Sempre iniciar nova cópia: Desativado]

A26: Terminar se

A27: Excluir arquivo [Arquivo:/sdcard/Tasker/TugaBookmarks Nível de destruição: 0 Usar raiz: Desligado]

A28: Terminar se

A29: Terminar se

A30: Excluir arquivo [Arquivo:/sdcard/Tasker/Bookmarks Nível de destruição: 0 Usar raiz: Desativado]

consulte Mais informação

O script é ativado sempre que Tasker detecta que você entrou no navegador Chrome de terceiros de sua escolha, no meu caso, TugaBrowser. Você precisará ativar o Serviço de Acessibilidade do Tasker para que o Tasker possa detectar quando você está no navegador de sua escolha. Esta parte pode ser facilmente modificada para funcionar com outros navegadores baseados no Chrome, tudo que você precisa fazer é selecionar em qual navegador deseja que este script seja executado no contexto do aplicativo no Tasker.

Agora, aqui está uma breve descrição do que cada conjunto de ações nesta tarefa está realizando.

  • A1-A2: sincronize manualmente os favoritos do Chrome do servidor do Google para que o arquivo de favoritos do aplicativo Chrome instalado seja atualizado. Aguarde 5 segundos para garantir que haja tempo suficiente para a sincronização ser concluída
  • A3-A6: copie o arquivo de favoritos do Chrome para um local temporário, extraia o JSON do arquivo em uma variável e use um filtro regex para extrair o valor da soma de verificação em outra variável
  • A7-A10: se Tasker não tiver uma variável global %ChromeChecksum definida (ou seja, sua primeira vez executando o script), defina-o com o valor atual. Se tiver um valor definido, verifique em seguida se o valor armazenado na variável Tasker corresponde à soma de verificação atual no arquivo de favoritos. Se sim, vá para A11-A26
  • A11: defina a variável Tasker que contém a soma de verificação do Chrome para a soma de verificação atual extraída do arquivo de favoritos
  • A12-A15: copie o arquivo de favoritos do TugaBrowser para um local temporário, extraia o JSON do arquivo e use um filtro regex para extrair o valor da soma de verificação
  • A16: use o valor da soma de verificação obtido do TugaBrowser e use-o para substituir o valor da soma de verificação do arquivo de favoritos do Chrome
  • A17-A18: envie o arquivo de favoritos atualizado retirado do Chrome, mas com o valor da soma de verificação do TugaBrowser, para o diretório de dados do TugaBrowser
  • A19-A26: mostre uma lanchonete informando que novos favoritos foram adicionados. Se o botão da snackbar for pressionado, reinicie o TugaBrowser, caso contrário siga em frente.
  • A27-A30: exclua os arquivos de favoritos temporários com os quais estávamos trabalhando e finalize a tarefa

Por que isso envolve tantas etapas? Infelizmente é porque não temos uma maneira fácil de acessar diretamente a estrutura de dados JSON (potencialmente grande) no marcar arquivos por meio do Tasker ou de um de seus plug-ins, como o AutoTools, sem copiar o arquivo e extrair seu conteúdo em um variável. Se pudéssemos, este trabalho seria muito mais condensado, mas por enquanto foi isso que eu descobri. Falei com o desenvolvedor do AutoTools sobre esse assunto e, embora ele tenha conseguido atualizar o AutoTools para ser capaz de ler dados JSON de um arquivo, escrever JSON diretamente em um arquivo não poderia ser feito através do Tasker plugar.

De qualquer forma, este script é executado de forma extremamente rápida, apesar de algumas etapas parecerem desnecessárias, porque eu queria divulgar isso sem que você precisasse instalar plug-ins adicionais desnecessários além de Tasker. A única coisa que retarda esse script, e por que você vê algum atraso no vídeo, é o tempo de espera necessário para Tasker para garantir que seus favoritos do Chrome foram sincronizados com os servidores do Google antes de prosseguir com o restante do roteiro. Você certamente pode brincar com os comandos ‘esperar’ na tarefa Tasker para diminuir o atraso, se desejar, mas isso depende de você.


Baixar, importar e configurar

Como sempre, forneceremos o arquivo XML do perfil Tasker que você pode obter para configurá-lo rapidamente. Baixe o arquivo .prf.xml abaixo em AndroidFileHost e salve-o em seu armazenamento interno. Abra o Tasker e desative o Modo Iniciante em Preferências. Volte para a tela principal do Tasker e mantenha pressionada a guia “Perfil” na barra de ação na parte superior até ver uma opção “importar” aparecer. Pressione-o e navegue até onde você salvou o arquivo XML e selecione-o para importá-lo.

Baixe o perfil "Chrome Bookmark Sync" em AndroidFileHost

Existem 3 etapas muito importantes (e 1 etapa opcional, mas necessária se você não estiver executando o TugaBrowser) que você precisa seguir antes que este perfil funcione para você.

  1. Habilitar TaskerServiço de acessibilidade. Você pode fazer isso abrindo Configurações e pesquisando por “acessibilidade”. Toque em Tasker e ative seu serviço de acessibilidade. Isto é necessário porque caso contrário o Tasker não conseguirá detectar quando você está usando o TugaBrowser (ou qualquer outro navegador).
  2. Escolha o seu Provedores de sincronização do Chrome no Synker. Você pode fazer isso abrindo a tarefa "Verificar favoritos do Chrome" e tocando na Ação nº 1 chamada "Synker - Forçar sincronização". Pressione o ícone de lápis para abrir a tela de configuração do Synker. Role para baixo e selecione “Sincronização do Chrome” para sua conta do Google.
  3. Conceda acesso de superusuário ao Tasker. A maneira mais rápida de fazer isso é fazer com que Tasker tente executar uma ação que exija su. Novamente na tela de configuração da tarefa "Verificar favoritos do Chrome", desta vez mantenha pressionada a ação nº 3 chamada "Executar Shell." Pressione o ícone "play" que aparece no canto inferior esquerdo para fazer Tasker executar esta ação, e esta apenas. Tasker solicitará que você conceda acesso de superusuário. Observação para aqueles que usam MagiskSU: Atualmente, o Tasker não detecta o MagiskSU por conta própria, portanto, pode ocorrer um erro informando que seu dispositivo não está enraizado. Isto será corrigido na próxima atualização do Tasker, mas se você estiver procurando uma solução temporária, Membro Sênior do XDA RandomPooka tem um breve guia para isso.

Depois de fazer essas três coisas, este perfil deve começar a funcionar. Na primeira inicialização do TugaBrowser/seu navegador preferido após configurá-lo, Tasker salvará o valor da soma de verificação do arquivo de favoritos do Chrome. Quando esse valor da soma de verificação for alterado em uma inicialização subsequente do TugaBrowser/seu navegador de escolha, o Tasker substituirá o arquivo de favoritos do seu navegador pelo do Chrome.

Observe que para a primeira inicialização do seu navegador, eu intencionalmente não o configurei para que o Tasker copie o valor do marcador do Chrome até detectar uma alteração. Isso significa que os favoritos do TugaBrowser/navegador de sua escolha não serão alterados até que você faça uma alteração nos favoritos do Chrome. Eu fiz isso para que você possa acessar o TugaBrowser/navegador de sua preferência para salvar seus favoritos não sincronizados/offline, não armazenados nos servidores do Google para que meu perfil Tasker não os apague sem que você tenha a chance de salvá-los em outro lugar.


Como sincronizar favoritos em navegadores diferentes do TugaBrowser

Caso você não esteja usando o TugaBrowser, você precisará modificar algumas etapas para que isso funcione no navegador Chrome de sua escolha. Felizmente, isso é muito, muito fácil de fazer. Vou mostrar como fazer isso usando o Chromium de código aberto como exemplo. Aqui está a lista de coisas que você precisa mudar:

  1. Alterar o contexto do aplicativo. Em vez de "TugaBrowser" ser definido como o Contexto da Aplicação, altere o Contexto da Aplicação para ser acionado ao usar o navegador de sua escolha. Basta tocar no Contexto e procurar seu aplicativo na lista.
  2. Modificar Ação #12 (Execute o comando Shell) para apontar para o arquivo de favoritos do seu navegador específico. O diretório deve ser semelhante a /data/data/PACKAGE.NAME/app_chrome/Default/Bookmarks. (Nota: as variáveis ​​​​e nomes de arquivos que o salvam/se referem a ele como "TugaBookmarks" podem ser ignorados com segurança, você só precisa alterar de onde Tasker está extraindo o arquivo Bookmark) Antes:
    cp /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
    Depois:
    cp /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks /sdcard/Tasker/TugaBookmarks
  3. Modificar Ação #18 (outro comando Run Shell) para salvar o arquivo de favoritos atualizado no diretório de dados do seu navegador específico. Novamente, o diretório deve ser semelhante ao anterior. Antes:
    cp /sdcard/Tasker/Bookmarks /data/data/tugapower.codeaurora.browser/app_chrome/Default/Bookmarks
    Depois:
    cp /sdcard/Tasker/Bookmarks /data/data/org.chromium.chrome/app_chrome/Default/Bookmarks 
  4. Modificar Ação #23 para matar o navegador de sua escolha. Isso ocorre quando você pressiona o botão reiniciar na barra de lanches e o Tasker encerra o aplicativo correto.
  5. Modificar Ação #25 para reiniciar o mesmo navegador de sua escolha. Isso reiniciará o navegador após ele ter sido eliminado pelo usuário para que possa carregar o(s) novo(s) marcador(es).

Todo o resto pode ser deixado de lado com segurança, mesmo que os nomes de variáveis/arquivos criados não façam sentido para o seu navegador específico. Você pode optar por alterá-los se eles o incomodarem, mas certifique-se de saber o que está fazendo antes de tentar fazê-lo. Ter alguma familiaridade com Tasker certamente ajudará nisso.


Conclusão

Espero que você ache este perfil útil. Eu sei que há muito o que aprender aqui, mas é muito importante que você leia esta postagem com atenção para entender o que isso faz, como funciona e quando funcionará. Isso exigiu muitas tentativas e erros para acertar, mas estou muito feliz com os resultados, mesmo que pareça muito complicado no final.

Automatizar esse processo ajuda a aliviar um pouco o fardo de sincronizar seus favoritos com o Chrome Sync, embora, infelizmente, isso só seja um problema. sincronização unidirecional e sempre exigirá acesso root até que o Google diminua suas restrições, impedindo que navegadores Chrome de terceiros acessem o Chrome Sincronizar.

Se você tiver alguma dúvida, comentário ou preocupação, deixe-nos saber nos comentários abaixo!