Como instalar um script de usuário particular no Chrome 21+?

61

No Chrome 20 e versões mais antigas, você poderia simplesmente abrir qualquer .user.js arquivo no Chrome e ele solicitará que você instale o script do usuário.

No entanto, no Chrome 21 e superior, ele faz o download do arquivo e exibe um aviso na parte superior dizendo "Extensões, aplicativos e scripts de usuário só podem ser adicionados na Chrome Web Store".

Screenshot

O link "Saiba mais" aponta para http://support.google.com/chrome_webstore/bin/answer.py?hl=pt_PT&answer=2664769 , mas essa página não diz nada sobre scripts de usuário, apenas sobre extensões em .crx formato, aplicativos e temas.

Esta parte soou interessante:

Administradores de Empresas: Você pode especificar URLs que podem instalar extensões, aplicativos e temas diretamente por meio de a ExtensionInstallSources política .

Então, eu executei os seguintes comandos e reiniciei o Chrome e o Chrome Canary:

defaults write com.google.Chrome ExtensionInstallSources -array "https://gist.github.com/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://gist.github.com/*"

Infelizmente, essas configurações parecem afetar apenas extensões, aplicativos e temas (como diz o texto), não scripts de usuário. (Eu tenho Arquivado um bug pedindo para fazer essa configuração afetar os scripts do usuário também.

Alguma idéia de como instalar um script de usuário particular (que eu não quero adicionar à Chrome Web Store) no Chrome 21+?

Mathias Bynens
fonte
Você já tentou ativar o modo de desenvolvedor em Configurações - & gt; Extensões Não tenho certeza se vai funcionar, mas você pode tentar.
Rhyuk
@Rhyuk Obrigado pela sugestão. Eu tinha o modo de desenvolvedor ativado, no entanto, não parece fazer diferença.
Mathias Bynens

Respostas:

37

O problema era que gist.github.com As URLs cruas redirecionam para um domínio diferente. Então, temos que usar esses comandos em vez disso:

# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"

Isso funciona!


Enfim, isso parece ser uma solução alternativa (graças a Paul Horn para a dica):

  1. Baixe o script do usuário.
  2. Abrir chrome://chrome/extensions/.
  3. Arraste e solte o arquivo de script do usuário na página que você abriu na etapa 2.
Mathias Bynens
fonte
Isso parece melhor do que ter que editar o comando usado para abrir o Chromium. Obrigado!
btleffler
@btleffler Exceto que você terá que pular através desse aro toda vez, em vez de fazer a mudança uma vez.
Eugene Beresovsky
NB Ao arrastar e soltar, você precisa soltar o arquivo exatamente na mensagem. Em qualquer outro lugar da página não funcionará.
Colonel Panic
é a maneira de arrastar e soltar de adicionar extensões ainda funcionando? Não parece assim no Chrome 24 no OSX.
Viktor
Vale mencionar que o github permite a hospedagem de conteúdo gerado pelo usuário em & lt; username & gt; .github.com (via "Github Pages" - pages.github.com ). Apenas um heads-up para qualquer um para quem isso seria uma preocupação de segurança.
mh.
36

Inicie o Chrome com a --enable-easy-off-store-extension-install interruptor .

Para usar um comutador de linha de comando ( do Chromium.org ):

No Windows:

  • Clique com o botão direito no seu ícone "Chrome".
  • Escolher propriedades
  • No final da sua linha de destino, coloque estes parâmetros: --enable-easy-off-store-extension-install
  • Deve se parecer com: chrome.exe --enable-easy-off-store-extension-install

No OS X:

  • /Applications/Chromium.app/Contents/MacOS/Chromium --enable-easy-off-store-extension-install

  • Para o Google Chrome, você precisará fugir de espaços como este: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

No Linux:

  • chromium-browser --enable-easy-off-store-extension-install
Jacob Groß
fonte
1
Você tem que sair do chrome completamente, não basta abrir uma nova janela no ícone. (isso é lixo do Google btw)
Jonathan.
1
Sim, isso está invadindo o território "mal" IMO.
jnylen
Isso funcionou ... :) A resposta do @MathiasBynens não funcionou no MacOS / Chrome25
Lipis
Funcionou!! Muito útil, obrigado !!
Joe Coder
1
Tenho certeza que isso parou de funcionar depois de agosto de 2014. Parece que não funciona agora.
Brock Adams
10

Bem, isso levou algumas horas da minha vida para descobrir. Acho que os engenheiros do Google acham que merecemos apenas instalar extensões não confiáveis, se conseguirmos descobrir como fazer truques e pular seus aros.

As instruções em A resposta de Mathias olha para ser spot-on para Mac OS X, mas eu uso o Linux. Aqui está o que eu fiz no Linux para facilitar a instalação (pré-Chrome-21-estilo) de todos extensões de terceiros, aplicativos e scripts de usuário de qualquer site :

  1. Crie o diretório de políticas (se ainda não existir):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Crie o arquivo de políticas:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Reinicie o Chrome. Saia completamente do programa via menu -> Exit; não feche apenas sua janela atual.


Fontes:

Notas:

jnylen
fonte
2
Eu não sabia <all_urls> - muito útil. Obrigado!
Mathias Bynens
Confirmado para trabalhar no Fedora 18. Post incrível, extremamente útil!
ehime
Impressionante! Arrastar e soltar não funcionou antes e agora funciona!
billyswong