web-dev-qa-db-fra.com

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

Dans Chrome 20 et les versions antérieures, vous pouvez simplement ouvrir n’importe quel fichier .user.js 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".

Screenshot

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 format .crx, les applications et les thèmes.

Cette partie semblait intéressante:

Administrateurs d'entreprise: Vous pouvez spécifier les URL permettant d'installer des extensions, des applications et des thèmes directement via la stratégie ExtensionInstallSources .

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 déposé un bogue demandant à ce paramètre d'affecter également les scripts utilisateur.)

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

60
Mathias Bynens

Le problème était que les URL brutes de Gist.github.com redirigent 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 l'indice):

  1. Téléchargez le script utilisateur.
  2. Ouvrez 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.
37
Mathias Bynens

Démarrez Chrome avec le commutateur --enable-easy-off-store-extension-install .

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

Sous Windows:

  • Faites un clic droit sur votre icône "Chrome".
  • Choisissez des propriétés
  • À 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
36
Jacob Groß

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 dans leurs cerceaux.

Les instructions dans La réponse de Mathias semble être parfaite pour Mac OS X, mais j'utilise Linux. Voici ce que j'ai fait sous Linux pour permettre une installation plus aisée (antérieure à Chrome-21) de de toutes extensions tierces, applications et scripts utilisateur . depuis 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 règles:

    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:

Notes:

  • <all_urls> (utilisé ci-dessus) est un modèle spécial basé sur les documents de correspondance d'URL . Bon à savoir sur.
  • Selon les documents de stratégie Linux , les répertoires /etc/opt/chrome/policies/{managed,recommended}/ contiennent des fichiers de stratégie JSON. Si les entrées sont en conflit, managed remplace recommended.
10
jnylen