Como desativar extensões do Chrome sem desativá-las em vários dispositivos sincronizados

132

Uso o Chrome em quatro estações de trabalho diferentes e tenho minhas extensões sincronizadas em todas elas.

O problema que tenho é que uma das extensões ( Gestures for Chrome ) funciona muito bem se você possui um mouse real, mas em um trackpad no Ubuntu, apenas atrapalha.

Se eu desabilitá-lo na máquina Ubuntu, ele será desabilitado em todas as instalações do Chrome devido ao seu mecanismo de sincronização interno .

P: Posso desativar seletivamente uma extensão em apenas uma única máquina?

crescer
fonte
4
Clique no menu suspenso Configurações do Chrome -> Configurações avançadas -> Configurações avançadas de sincronização -> Escolha o que sincronizar -> Desmarque a opção Extensões de sincronização -> OK. Em seguida, defina as extensões adequadamente em cada dispositivo. Trabalhou para mim na versão 41 do Chrome.
Eric Leschinski
Eu sei que essa pergunta é muito antiga, tive um problema semelhante, mas eu queria desativar todas as extensões em apenas uma máquina, mas ainda tenho o chrome, lembre-se de minhas credenciais, use uma conta secundária do gmail
Pierre

Respostas:

28

Com base na preocupação de segurança, o Chrome não sincroniza nenhuma extensão que contenha um plug-in NPAPI.

Fonte

O que é um plugin NPAPI?

O código em execução em um plug-in NPAPI possui todas as permissões do usuário atual e não é protegido por sandbox ou protegido contra entrada maliciosa do Google Chrome. Você deve ser especialmente cauteloso ao processar entradas de fontes não confiáveis, como ao trabalhar com scripts de conteúdo ou XMLHttpRequest.

Fonte

Teoria

Se modificarmos sua extensão de maneira que o Chrome a reconheça usando a NPAPI, você estará bem.

Como

  1. Primeiro, você precisa de um .dll fictício de qualquer extensão NPAPI como o Screen Capture (do Google) . Enquanto isso, a extensão foi removida da loja Google Play porque o Google decidiu abandonar o suporte à NPAPI . Mas isso não importa para o nosso cenário. Felizmente, o wiki oficial do Screen Capture ainda contém o código fonte. Não precisamos da extensão completa, apenas a DLL da NPAPI screen_capture.dll. Faça o download diretamente

  2. Segundo, vá para a pasta de extensões que não deve ser sincronizada. No seu caso, Gestures for Chrome .
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Modifique o arquivo manifest.json e adicione o plug-in NPAPI conforme descrito em Stackoverflow ou melhor ainda em developer.chrome.com

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Modifique o arquivo background.html da sua extensão que você não deseja sincronizar, também descrito na resposta do Stackoverflow acima.

    <embed type="application/x-my-extension" id="pluginId">
    <script>
      var plugin = document.getElementById("pluginId");
      var result = plugin.myPluginMethod();  // call a method in your plugin
      console.log("my plugin returned: " + result);
    </script>
    
  5. Ele pode ser necessário para re-ativar o suporte NPAPI no futuro viachrome://flags/#enable-npapi

A partir daqui, você está por sua conta. Eu não sei o suficiente sobre codificação de extensão.
É por isso que é uma teoria :)

nixda
fonte
1
Eu gosto disso por sua engenhosidade. A única desvantagem é que eu precisaria registrar a dll para todas as máquinas Windows nas quais quero executar a extensão, mas isso não é tão trabalhoso quanto único.
growse
1
Por que você não edita os arquivos uma vez e copia toda a pasta de extensão por FTP, USB Stick, Dropbox ou qualquer outra coisa para cada PC e laptop? Existem mais de 2 laptops e 2 PCs da pergunta? O arquivo .DLL é um arquivo que você deve copiar para essa pasta de extensão. Depois disso, você deve editar 2 arquivos. É isso em teoria.
Nixda
3
Bem, o Google decidiu abandonar o suporte ao NPAPI para versões futuras.
Nixda
2
Esta não é uma boa maneira - ele quer bloqueia atualizações ou a DLL é removido quando a extensão recebe uma atualização ..
Izzy
1
O URL para o exemplo ddl é quebrado
Ferrybig
79

Pode ser que não seja o que você está procurando, mas você pode tentar isso. Abra o menu de configurações no Chrome clicando no ícone de três linhas / chaves no canto direito. Agora abra as configurações avançadas de sincronização.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Agora selecione a opção, escolha o que sincronizar e desmarque a opção Extensões . Agora sua extensão não será sincronizada com outros PCs.

avirk
fonte
53
Ter que manter 19 extensões manualmente em sincronia em várias instâncias, só porque eu não quero sincronizar uma única extensão em várias instâncias, parece um pouco ruim.
growse
5
Como eu disse, isso não é o que você está procurando , e o AFAIK ainda não existe uma solução para extensão única. Se alguém souber virá e irá ajudá-lo. Também estou curioso para ver se é possível. A melhor maneira de sincronizar a extensão manualmente, crie uma pasta marcada e apenas coloque o marcador das suas extensões favoritas.
avirk
6
Quando você tem apenas algumas extensões instaladas, essa é definitivamente uma solução mais amigável do que todos os outros hacks propostos.
jturcotte
4
Não é o ideal, mas é melhor do que brincar com a cópia de dll em novas pastas, da minha perspectiva. 1
stevemidgley
4
Boa idéia, se você precisa sincronizar extensões que você pode habilitá-lo temporariamente, em seguida, re-desativar extensões de uma vez, em vez de cada única vez .
Jamie Pate
54

Você pode instalar a extensão que deseja como extensão local.

  1. Encontre o ID da extensão da qual você deseja, chrome://extensionscom o modo de desenvolvedor ativado .

  2. Navegue para o diretório de instalação do Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID} \{Version_Number}

  3. Salve em algum lugar .. Diretório de usuários, talvez?

  4. Volte para chrome://extensionscom o modo de desenvolvedor ativado e pressione Load unpacked extension. E navegue até a nova cópia da extensão.

  5. Você deve ver que possui a extensão duas vezes agora. Desative a verdadeira.

Eu digo Desativar porque há um lado ruim nessa abordagem e você perde as atualizações automáticas e precisará repetir as etapas acima várias vezes toda vez que atualiza.

Se você não tiver certeza de qual é a cópia real e sua nova cópia, procure na tag ID Loaded from: {Path_To_Your_Copy}

WORMSS
fonte
2
De longe a melhor resposta.
FreeAsInBeer
2
Muito mais simples do que a resposta de topo ... o que é obviamente muito informativo
mardlin
1
Erm, se eu instalar uma extensão no modo de desenvolvedor, eu sempre obter um pop-up na inicialização que me pede para desativar esta extensão
nixda
Hmm, deve ter sido algo que o Google adicionou ao Chrome estável.
WORMSS
7

Uma coisa que funciona para mim é interromper manualmente o processo do plug-in sempre que o Chrome começar a usar o Gerenciador de Tarefas do Chrome. Isso pode ser alcançado da seguinte maneira:

  • Menu (no Mac)> Mais ferramentas> Gerenciador de tarefas
  • (no PC) Clique com o botão direito do mouse na barra de menus> Gerenciador de tarefas ou Shift+Esc

Em seguida, basta clicar na extensão que você não deseja executar e clicar em "Finalizar processo".

No trabalho, tenho dois computadores e não quero que os hangouts do Google apareçam nos dois. A única coisa ruim é que você precisa fazer isso toda vez que inicia o Chrome.

wd4ever
fonte
1
I encontrar esta solução mais doloroso que outros ... mas é uma solução, no entanto
Konzo
5

Esta não é uma resposta resoluta, mas outra perspectiva para examinar o problema.

O sistema de sincronização do Chrome não permite de forma alguma, personalizando as classificações por uma única máquina; E qualquer solução com extensões extras que funcione com o sinalizador de disable/enablesua extensão será falhada!

Porque outra máquina que está usando simultaneamente a mesma conta de usuário refletirá a alteração.

Uma maneira de evitar essa troca de informações é o quão bem ele propôs que o @avirk desabilite a sincronização nas extensões, mas parece que essa solução não é apropriada para o seu ambiente.

Depois, proponho mais duas idéias que podem ser adotadas para obter o resultado necessário:

  • Criar uma segunda conta permitiria personalizar seu próprio grupo de extensões (essa solução eu pessoalmente uso para ter um perfil diferente do ScriptSafe em máquinas diferentes)

A outra proposta é um pouco menos convencional e pode ser considerada um hack ruim , mas vou descrevê-lo de todas as maneiras, para que você tenha uma escolha mais ampla.

  • Navegue até a pasta do plug-in em questão: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder e limpe o conteúdo para o arquivo "background_page.html"
    "Este exemplo pode ser aplicado apenas ao plug-in: Gestures for Chrome (TM)"

Isso gera uma exceção ao carregar uma página, que não permitirá que o código de evento na sua extensão seja executado corretamente. Portanto, teremos a desativação local para esta extensão.

Lembre-se de que sempre que receber uma nova atualização para sua extensão, você deve refazer esta operação na pasta da nova versão.

RTOSkit
fonte
1
Eu vim aqui para editar o meu post, e você já postei a minha outra solução que é muito fácil de criar outra conta / perfil para usar Chrome :)
avirk
Isso é realmente bastante útil para mim, porque, no meu caso específico, eu tenho uma extensão quebrada apenas no meu Chromebook e, portanto, deve ser desativada lá, mas eu gostaria de testar uma nova versão quando sair para ver se tem o mesmo bug.
Curt J. Sampson
A segunda opção parece a melhor solução, pois desativa apenas a extensão indesejada de um único computador, exatamente o que o pôster estava pedindo.
11119 Dan Jones
5

Outra solução que encontrei é usar o mecanismo de política incluído no Chrome. O Google oferece a possibilidade de gerenciar extensões por meio de políticas de grupo. Ao colocar a extensão indesejada na lista negra, removemos efetivamente a sincronização deste PC. Podemos explorar esse conhecimento definindo essas opções manualmente.

Aqui está uma breve descrição para PCs com Windows:

  1. Abra o seu Editor do Registro (regedit)
  2. Navegue até HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome - crie-o se ele não existir
  3. Crie uma nova chave chamada "ExtensionInstallBlacklist"
  4. Adicione um novo valor (REG_SZ) e nomeie "1" - se ele já existir, nomeie "2" e assim por diante
  5. Defina os dados desse valor para o ID da extensão que você deseja remover

Ao fazer isso, a extensão será removida na próxima vez em que você iniciar o Chrome. Isso afeta apenas o PC em que você está. Eu verifiquei isso com uma instalação limpa do Chrome. Após o login, todas as extensões foram carregadas - especialmente a que colocamos na lista negra do outro PC.

A documentação para esta configuração de diretiva pode ser encontrada aqui, mostrando também as configurações para diferentes sistemas operacionais:

http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist

Harry_Pootha
fonte
Esta resposta me apontou na direção certa. No linux, crie o arquivo /etc/opt/chrome/policies/managed/policies.jsone adicione o seguinte conteúdo:{ "ExtensionSettings": { "PUT EXTENSION ID HERE": { "installation_mode": "blocked" } }
sherbang
4

Esta é uma pergunta bastante antiga, mas ainda assim algo que está me incomodando. Então aqui estão meus próprios dois centavos.

Você pode usar outra extensão para fazer isso. Eu mesmo alternei entre esses dois plugins: " Extensions Manager (aka Switcher) "

Gerenciador de extensões, aplicativos e temas úteis. Gerenciador de pop-up leve para ativar, desativar, desinstalar extensões, aplicativos de forma rápida e fácil.

ou " SimpleExtManager "

Um menu simples para ativar, desativar e acessar opções de extensões. Outra adição à série 'Simples'. Desta vez é um gerenciador de extensões.

Características incluem:

  • função básica para ativar / desativar, acessar opções e desinstalar extensões via pop-up
  • personalizar o pop-up
  • capacidade de criar grupos de extensão
  • ativar / desativar grupos de extensões via menu pop-up e clique com o botão direito
  • página de evento ativada

Gosto das duas extensões, mas não cheguei a um ponto em que possa dizer qual delas mais gosto. Ambos estão passando por muito desenvolvimento e são atualizados com freqüência.

Squazz
fonte
2
Cite as partes essenciais da resposta nos links de referência, pois a resposta pode se tornar inválida se as páginas vinculadas forem alteradas.
DavidPostill
1
Eu não sabia o que citar nas páginas de plug-ins, pois são sugestões de extensão e não são realmente uma resposta, mas espero que minha edição esteja correta.
Squazz 18/07/2015
1
Só para verificar .. nenhuma dessas extensões permite controlar extensões por máquina, certo? Eles simplesmente agilizam o processo de desligar incessantemente uma extensão enquanto estiver em uma máquina e ligá-la novamente quando você estiver em outra?
apraetor
Excatly @apraetor a funcionalidade para escolher completamente quais são instalados é reservada exclusivamente para o navegador Chrome e o navegador sincroniza que dados
Squazz
3

Aqui está uma solução simples (considerando que você tem 19 extensões e só tem um problema com uma ou duas): após a primeira instalação em cada computador:

  1. Permita que o Google Chrome execute a sincronização inicial.
  2. Após a instalação, vá para as configurações e desative a sincronização de extensões.
  3. Remova a extensão que você deseja.

Isso basicamente mantém todas as extensões do usuário e você pode editá-las manualmente para cada computador.

Embora eu deva admitir que as respostas anteriores foram mais interessantes, isso resolve o seu problema sem muito conhecimento técnico.

Felicidades!

TVDN
fonte
1

Eu ia comentar a excelente resposta de Harry_Pootha que me ajudou muito, mas não sou muito ativo aqui :)

Portanto, existe uma abordagem alternativa que não depende da navegação nos registros pelo Regedit.

Em https://support.google.com/chrome/a/answer/187202?hl=en , eles oferecem um guia passo a passo sobre como aplicar uma grande variedade de políticas de administrador ao Chrome, incluindo a política de lista negra

Para ver a lista completa de políticas do Chrome, consulte a pasta common / no arquivo zip dos modelos de políticas (disponível em todos os idiomas suportados).

As 2 etapas mais importantes para o Windows:

Etapa 1: baixar modelos de política do Chrome

Os modelos do Windows, bem como a documentação de política comum para todos os sistemas operacionais, podem ser encontrados aqui:

Arquivo zip de modelos e documentação do Google Chrome.

Etapa 2: abra o modelo ADM ou ADMX que você baixou

  • Navegue para Iniciar> Executar: gpedit.msc. (Ou execute gpedit.msc no seu terminal)
  • Navegue para Política do Computador Local> Configuração do Computador> Modelos Administrativos.
  • Clique com o botão direito do mouse em Modelos Administrativos e selecione Adicionar / Remover Modelos.
  • Adicione o modelo chrome.adm através da caixa de diálogo.
  • Depois de concluída, uma pasta do Google / Google Chrome aparecerá em Modelos administrativos, se ainda não estiver lá. Se você adicionou o modelo ADM no Windows 7 ou 10, ele aparecerá em Modelos administrativos clássicos / Google / Google Chrome.

Para Linux e Mac, existem guias adicionais vinculados na página do Google, por isso é melhor seguir por lá.

O último passo é habilitar uma política e especificar seu conteúdo . A melhor maneira de fazer isso foi encontrar chrome://policy/uma nova guia e marcar "Mostrar políticas sem valor definido"; isso mostrará todas as políticas disponíveis que podem ser definidas usando o editor de Diretiva de Grupo e cada uma delas vincula à sua documentação.

Observe que, no editor de GP, a política que você procura usa o nome longo encontrado na referida documentação. Portanto, defina "Configurar lista negra de instalação de extensões" como Ativado , clique em Mostrar na GUI de configuração de política e adicione lá os IDs desejados.

Você pode encontrar facilmente os IDs das extensões acessando chrome://extensions/e marcando o 'Modo de desenvolvedor' no canto superior direito.

Agradeço novamente a Harry_Pootha por sua resposta que me ajudou a encontrar tudo isso e usá-lo.

tiby
fonte
0

Bem, provavelmente uma extensão útil que lista as extensões instaladas ( https://github.com/rbrahul/chrome-extension-manager ) e permite escolher a que você deseja desativar e manter essa lista no armazenamento do navegador funcionaria. Sim, ele será desativado globalmente, mas em outro local a mesma extensão usará uma lista diferente, permitindo diferentes extensões.

Bem, se você estiver usando o Chrome ao mesmo tempo em uma máquina diferente (digamos na sua mesa que você tenha um mac, um laptop, um desktop, talvez com alguma máquina virtual em execução), pode ser uma bagunça ...

Talvez em vez de desativar a desativação dos processos, não tenho certeza se é possível fazer isso programaticamente.

emaV
fonte
Leia Como recomendar software para obter as informações mínimas necessárias e outras sugestões sobre como recomendar software para Superusuário. Para manter sua resposta útil, mesmo se os links incluídos quebrarem, edite esses detalhes em sua resposta.
Twisty Imitador de