it-swarm.com.de

Wie installiere ich ein privates User-Skript in Chrome 21+?

In Chrome 20 und älteren Versionen können Sie einfach eine .user.js -Datei in Chrome öffnen und werden aufgefordert, das Benutzerskript zu installieren.

Ab Chrome 21 wird jedoch stattdessen die Datei heruntergeladen, und oben wird eine Warnung mit dem Hinweis angezeigt, dass Erweiterungen, Apps und Benutzerskripts nur aus dem Chrome Web Store hinzugefügt werden können.

Screenshot

Der Link "Weitere Informationen" verweist auf http://support.google.com/chrome_webstore/bin/answer.py?hl=de&answer=2664769 . Auf dieser Seite wird jedoch nichts über Nutzerskripte gesagt, sondern nur über Erweiterungen im .crx Format, Apps und Themes.

Dieser Teil klang interessant:

Unternehmensadministratoren: Sie können URLs angeben, mit denen Erweiterungen, Apps und Designs direkt über die Richtlinie ExtensionInstallSources installiert werden dürfen.

Also habe ich die folgenden Befehle ausgeführt und Chrome und Chrome Canary neu gestartet:

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

Leider scheinen diese Einstellungen nur Erweiterungen, Apps und Themes zu betreffen (wie im Text angegeben), keine Benutzerskripte. (Ich habe einen Fehler gemeldet gefragt, ob diese Einstellung auch für Benutzerskripte gelten soll.)

Haben Sie Ideen zur Installation eines privaten User-Skripts (das ich nicht zum Chrome Web Store hinzufügen möchte) in Chrome 21+?

60
Mathias Bynens

Das Problem bestand darin, dass die unformatierten URLs von Gist.github.com zu einer anderen Domain umgeleitet wurden. Also müssen wir stattdessen diese Befehle verwenden:

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

Das funktioniert!


Wie auch immer, dies scheint ein Workaround zu sein (danke an Paul Horn für den Hinweis):

  1. Laden Sie das Benutzerskript herunter.
  2. chrome://chrome/extensions/ öffnen.
  3. Ziehen Sie die Benutzerskriptdatei auf die Seite, die Sie in Schritt 2 geöffnet haben.
37
Mathias Bynens

Starten Sie Chrome mit dem Schalter --enable-easy-off-store-extension-install .

So verwenden Sie einen Befehlszeilenschalter ( von Chromium.org ):

Unter Windows:

  • Klicken Sie mit der rechten Maustaste auf Ihr "Chrome" -Symbol.
  • Wählen Sie Eigenschaften
  • Platzieren Sie am Ende Ihrer Zielzeile die folgenden Parameter: --enable-easy-off-store-extension-install
  • Es sollte so aussehen: chrome.exe --enable-easy-off-store-extension-install

Unter OS X:

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

  • Für Google Chrome müssen Sie Leerzeichen wie folgt umgehen: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

Unter Linux:

  • chromium-browser --enable-easy-off-store-extension-install
36
Jacob Groß

Nun, es hat ein paar Stunden meines Lebens gedauert, um das herauszufinden. Ich denke, die Google-Ingenieure sind der Meinung, dass wir es nur verdienen, nicht vertrauenswürdige Erweiterungen zu installieren, wenn wir herausfinden können, wie man Tricks macht und durch ihre Reifen springt.

Die Anweisungen in Mathias 'Antwort scheinen für Mac OS X perfekt zu sein, aber ich verwende Linux. Das habe ich unter Linux getan, um die Installation aller Erweiterungen, Apps und Benutzerskripte von Drittanbietern zu vereinfachen (vor Chrome 21). von jeder Website :

  1. Erstellen Sie das Richtlinienverzeichnis (falls es noch nicht existiert):

    Sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Erstellen Sie die Richtliniendatei:

    cd /etc/opt/chrome/policies/recommended/
    
    Sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Starten Sie Chrome neu. Beenden Sie das Programm vollständig über menu -> Exit; schließe nicht einfach dein aktuelles Fenster.


Quellen:

Anmerkungen:

  • <all_urls> (oben verwendet) ist ein spezielles Muster gemäß den URL-Übereinstimmungsdokumenten . Gut zu wissen.
  • Gemäß den Linux-Richtliniendokumenten enthalten die Verzeichnisse /etc/opt/chrome/policies/{managed,recommended}/ JSON-Richtliniendateien. Wenn Konflikte zwischen Einträgen auftreten, überschreibt managedrecommended.
10
jnylen