Comment installer un script d'utilisateur privé dans Chrome 21+?

60

Dans Chrome 20 et les versions antérieures, vous pouvez simplement ouvrir n’importe quel .user.jsfichier dans Chrome et vous inviter à installer le script utilisateur.

Toutefois, dans Chrome 21 et les versions ultérieures, le fichier est téléchargé à la place et affiche un avertissement en haut indiquant «Les extensions, les applications et les scripts utilisateur ne peuvent être ajoutés qu'à partir du Chrome Web Store».

Capture d'écran

Le lien "En savoir plus" pointe vers http://support.google.com/chrome_webstore/bin/answer.py?hl=fr&answer=2664769 , mais cette page ne dit rien sur les scripts utilisateur, mais uniquement sur les extensions au .crxformat, applications et thèmes.

Cette partie semblait intéressante:

Administrateurs d'entreprise: vous pouvez spécifier les URL autorisées à installer des extensions, des applications et des thèmes directement via la ExtensionInstallSourcesstratégie .

J'ai donc lancé les commandes suivantes, puis redémarré Chrome et 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/*"

Malheureusement, ces paramètres ne semblent affecter que les extensions, les applications et les thèmes (comme il est dit dans le texte), pas les scripts utilisateur. (J'ai signalé un bogue demandant que ce paramètre affecte également les scripts utilisateur.)

Des idées sur la façon d'installer un script d'utilisateur privé (que je ne souhaite pas ajouter au Chrome Web Store) dans Chrome 21+?

Mathias Bynens
la source
Avez-vous essayé d'activer le mode développeur dans Paramètres -> Extensions? Je ne sais pas si ça va marcher, mais vous pouvez l'essayer.
Rhyuk
@Rhyuk Merci pour la suggestion. J'avais le mode développeur activé, cependant - ne semble pas faire une différence.
Mathias Bynens le

Réponses:

37

Le problème était que gist.github.comles URL brutes étaient redirigées vers un autre domaine. Nous devons donc utiliser ces commandes à la place:

# 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/*"

Cela marche!


Quoi qu'il en soit, cela semble être une solution de contournement (merci à Paul Horn pour le conseil):

  1. Téléchargez le script utilisateur.
  2. Ouvert chrome://chrome/extensions/.
  3. Faites glisser le fichier de script utilisateur et déposez-le sur la page que vous avez ouverte à l'étape 2.
Mathias Bynens
la source
Cela semble mieux que de devoir modifier la commande utilisée pour ouvrir Chromium. Merci!
Btleffler
@btleffler Sauf que vous devrez sauter à travers ce cerceau à chaque fois, plutôt que de faire le changement une fois.
Eugene Beresovsky le
NB Lorsque vous faites un glisser-déposer, vous devez déposer le fichier exactement sur le message. N'importe où ailleurs sur la page ne fonctionnera pas.
colonel Panic
la méthode d’ajout d’extensions par glisser-déposer fonctionne-t-elle toujours? Cela ne semble pas être le cas sur Chrome 24 sous OSX.
Viktor
Il convient de mentionner que github permet l'hébergement de contenu généré par l'utilisateur sur <nom d'utilisateur> .github.com (via "Github Pages" - pages.github.com ). Juste un avertissement pour ceux pour qui cela poserait un problème de sécurité.
mh.
36

Lancez Chrome avec le --enable-easy-off-store-extension-installcommutateur .

Pour utiliser un commutateur de ligne de commande (à partir de Chromium.org ):

Sous Windows:

  • Faites un clic droit sur votre icône "Chrome".
  • Choisissez des propriétés
  • A la fin de votre ligne cible, placez ces paramètres: --enable-easy-off-store-extension-install
  • Cela devrait ressembler à: chrome.exe --enable-easy-off-store-extension-install

Sous OS X:

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

  • Pour Google Chrome, vous devez échapper à des espaces tels que: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

Sous Linux:

  • chromium-browser --enable-easy-off-store-extension-install
Jacob Groß
la source
1
Vous devez quitter Chrome complètement et ne pas simplement ouvrir une nouvelle fenêtre à partir de l'icône. (ce sont des ordures de Google btw)
Jonathan.
1
Oui, cela empiète sur le territoire "diabolique" de l'OMI.
Jnylen
Cela a fonctionné ... :) La réponse de @MathiasBynens n'a pas fonctionné sous MacOS / Chrome25
Lipis
J'ai un problème sur windows dl2.joxi.net/drive/0005/3037/338909/141218/3935c61eb8.jpg
gstackoverflow
1
Je suis sûr que cela a cessé de fonctionner après août 2014. Cela ne semble pas fonctionner du tout maintenant.
Brock Adams
10

Eh bien, cela a pris quelques heures de ma vie à comprendre. J'imagine que les ingénieurs de Google pensent que nous ne méritons d'installer des extensions non fiables que si nous pouvons comprendre comment réaliser des tours et sauter par-dessus leurs cerceaux.

Les instructions de la réponse de Mathias semblent être parfaitement adaptées à Mac OS X, mais j'utilise Linux. Voici ce que j'ai fait sous Linux pour permettre une installation plus facile (de style antérieur à Chrome-21) de toutes les extensions, applications et scripts utilisateur tiers à partir de n'importe quel site Web :

  1. Créez le répertoire des stratégies (s'il n'existe pas déjà):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Créez le fichier de stratégie:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Redémarrez Chrome. Quittez complètement le programme via menu -> Exit; ne fermez pas simplement votre fenêtre actuelle.


Sources:

Remarques:

  • <all_urls>(utilisé ci-dessus) est un modèle spécial en fonction des documents de correspondance d'URL . Bon à savoir sur.
  • Selon les documents de règles Linux , les répertoires /etc/opt/chrome/policies/{managed,recommended}/contiennent des fichiers de règles JSON. Si les entrées sont en conflit, managedannule recommended.
Jnylen
la source
2
Je ne savais pas <all_urls>- très utile. Merci!
Mathias Bynens
Confirmé de travailler dans Fedora 18. Post génial, extrêmement utile!
ehime
Impressionnant! Le glisser-déposer ne fonctionnait pas avant, et maintenant ça marche!
billyswong