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

116

Eu 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 ( Gestos para o Chrome ) funciona muito bem se você tem um mouse real, mas em um trackpad no Ubuntu, ele só atrapalha.

Se eu desativá-lo na máquina Ubuntu, ele será desativado em todas as instalações do Chrome devido a sua sincronização interna mecanismo .

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

    
por growse 04.01.2013 / 11:10

9 respostas

27

Based on the security concern, Chrome doesn't sync any extension which contains an NPAPI plugin.

Origem

O que é um plugin NPAPI?

Code running in an NPAPI plugin has the full permissions of the current user and is not sandboxed or shielded from malicious input by Google Chrome in any way. You should be especially cautious when processing input from untrusted sources, such as when working with content scripts or XMLHttpRequest.

Fonte

Teoria

Se modificarmos sua extensão de modo que o Chrome reconheça a extensão usando NPAPI, tudo bem.

Como

  1. Primeiro, você precisa de um arquivo .dll falso de qualquer extensão NPAPI como Captura de tela (pelo Google) . No entanto, a extensão foi removida da Google Play Store porque o Google decidiu para eliminar o apoio do NPAPI . Mas isso não importa para o nosso cenário. Felizmente, o wiki oficial da Captura de tela ainda contém o código-fonte. Nós não precisamos da extensão completa, apenas o NPAPI .dll screen_capture.dll . Faça o download diretamente

  2. Em segundo lugar, vá para a pasta de extensões que não deve ser sincronizada. No seu caso, Gestos para o Chrome .% ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk.12.1_0

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

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Modifique o arquivo background.html de 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 reativar o suporte a NPAPI no futuro via chrome://flags/#enable-npapi

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

    
por 09.01.2013 / 21:10
75

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

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.

    
por 09.01.2013 / 16:59
46

Você pode instalar a extensão desejada como extensão local.

  1. Encontre o ID da extensão desejada em chrome://extensions com o modo de desenvolvedor ativado .

  2. Navegue até 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. Retorne para chrome://extensions com modo de desenvolvedor ativado e pressione Load unpacked extension . E navegue até a nova cópia da extensão.

  5. Você deve ver que você tem a extensão duas vezes agora. Desative a real.

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 sempre que atualizar.

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

    
por 14.09.2013 / 04:41
7

Uma coisa que funciona para mim é eliminar manualmente o processo do plug-in sempre que o Chrome começa a usar o Gerenciador de tarefas do Chrome. Isto pode ser conseguido da seguinte forma:

    Menu
  • (no Mac) > Mais ferramentas > Gerenciador de Tarefas
  • (no PC) Clique com o botão direito 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 sejam exibidos em ambos. A única coisa ruim é que você tem que fazer isso toda vez que iniciar o chrome.

    
por 28.09.2015 / 18:35
4

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, personalizar as classificações por uma única máquina; E qualquer solução com extensões extras que funcione com o sinalizador disable/enable em sua extensão, falhará!

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 @ avirk é desativar a sincronização em extensões, mas parece que esta solução não é apropriada para o seu ambiente.

Depois, vou propor mais duas ideias que podem ser adotadas para obter o resultado desejado:

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

The other proposal is a little less conventional and could be considered a bad hack, but I will describe it in every way, so that you have a wider choice.

  • Navegue até a pasta do plug-in em questão: %código% e limpa o conteúdo no 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 do evento em seu ramal seja executado corretamente. Portanto, teremos a desativação local para essa extensão.

Remember that any time you receive a new update for your extension,you must redo this operation in the new version folder.

    
por 13.01.2013 / 06:49
4

Esta é uma pergunta bastante antiga, mas ainda é algo que tem me incomodado. Então aqui estão os meus dois centavos.

Você pode usar outra extensão para fazer isso. Eu mesmo tenho alternado entre esses dois plugins: " Gerenciador de extensões (também conhecido como Alternador) "

Handy extensions, applications & themes manager. Light popup manager to enable, disable, uninstall extensions, applications quickly and easy.

ou " SimpleExtManager "

A simple menu to enable, disable and access options of extensions. Another addition to the 'Simple' series. This time its an extension manager.

Features include:

  • basic function to enable/disable, access options and uninstall extensions via popup
  • customize the popup
  • ability to create extension groups
  • enable/disable extension groups via popup and right-click menu
  • event page enabled

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

    
por 18.07.2015 / 18:11
3

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 para este PC. Podemos explorar esse conhecimento definindo essas opções manualmente.

Aqui está uma breve descrição para os 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-o como "1" - se 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 que você iniciar seu Chrome. Isso afeta apenas o PC em que você está. Eu verifiquei isso por ter 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 desta configuração de política pode ser encontrada aqui, mostrando também as configurações para diferentes sistemas operacionais:

link

    
por 28.05.2018 / 14:07
2

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 individual:

  1. Permitir que o Google Chrome realize a sincronização inicial.
  2. Após a instalação, vá para as configurações e desative a sincronização de extensão.
  3. Remova a extensão desejada.

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

Embora eu tenha que admitir que as respostas anteriores foram mais interessantes, isso resolve seu problema sem muita habilidade tecnológica.

Felicidades!

    
por 27.04.2018 / 16:43
0

Bem, provavelmente uma extensão útil que lista as extensões instaladas ( link ) e permite que você escolha aquela que você deseja desabilitar 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 para permitir extensões diferentes.

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

Talvez em vez de desativar a eliminação dos processos, mas não tenho certeza de que seja possível fazer programaticamente.

    
por 20.03.2018 / 16:00