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

60

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

In Chrome 21 und höher wird jedoch stattdessen die Datei heruntergeladen und oben eine Warnung mit der Aufschrift "Erweiterungen, Apps und Benutzerskripts können nur aus dem Chrome Web Store hinzugefügt werden" angezeigt.

Bildschirmfoto

Der Link "Weitere Informationen" verweist auf http://support.google.com/chrome_webstore/bin/answer.py?hl=de&answer=2664769. Diese Seite enthält jedoch keine Informationen zu Nutzerskripten, nur zu Erweiterungen im .crxFormat. Apps und Themen.

Dieser Teil klang interessant:

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

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, bei dem ich gefragt wurde, ob diese Einstellung auch für Benutzerskripte gelten soll.)

Ideen zum Installieren eines privaten Benutzerskripts (das ich nicht zum Chrome Web Store hinzufügen möchte) in Chrome 21+?

Mathias Bynens
quelle
Haben Sie versucht, den Entwicklermodus unter Einstellungen -> Erweiterungen zu aktivieren? Ich bin mir nicht sicher, ob es funktionieren wird, aber du kannst es versuchen.
Rhyuk
@ Ryuk Danke für den Vorschlag. Ich hatte jedoch den Entwicklermodus aktiviert - das scheint keinen Unterschied zu machen.
Mathias Bynens

Antworten:

37

Das Problem war, dass gist.github.comdie unformatierten URLs auf eine andere 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. Öffnen chrome://chrome/extensions/.
  3. Ziehen Sie die Benutzerskriptdatei auf die Seite, die Sie in Schritt 2 geöffnet haben.
Mathias Bynens
quelle
Dies scheint besser zu sein, als den Befehl zum Öffnen von Chromium bearbeiten zu müssen. Vielen Dank!
Btleffler
@btleffler Außer, dass Sie jedes Mal durch diesen Rahmen springen müssen, anstatt die Änderung einmal vorzunehmen.
Eugene Beresovsky
NB. Beim Ziehen und Ablegen müssen Sie die Datei genau auf der Nachricht ablegen. Nirgendwo sonst auf der Seite funktioniert es nicht.
Oberst Panic
funktioniert die Drag & Drop-Methode zum Hinzufügen von Erweiterungen weiterhin? Bei Chrome 24 unter OSX sieht es nicht so aus.
Viktor
Es ist zu erwähnen, dass github das Hosten von benutzergenerierten Inhalten auf <Benutzername> .github.com (über "Github Pages" - pages.github.com ) ermöglicht. Nur ein Hinweis für alle, für die dies ein Sicherheitsrisiko darstellen würde.
mh.
36

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

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
Jacob Groß
quelle
1
Sie müssen Chrome vollständig beenden und nicht nur ein neues Fenster über das Symbol öffnen. (Das ist übrigens Quatsch von Google)
Jonathan.
1
Ja, dies greift in das "böse" Territorium der IMO ein.
Juni
Das hat funktioniert ... :) Die Antwort von @MathiasBynens funktionierte unter MacOS / Chrome25
Lipis
Ich habe ein Problem unter Windows. Dl2.joxi.net/drive/0005/3037/338909/141218/3935c61eb8.jpg
gstackoverflow
1
Ich bin mir ziemlich sicher, dass das irgendwann nach August 2014 nicht mehr funktioniert. Scheint jetzt überhaupt nicht mehr zu funktionieren.
Brock Adams
10

Nun, es hat ein paar Stunden meines Lebens gedauert, um es 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. Folgendes habe ich unter Linux getan, um die Installation aller Erweiterungen, Apps und Benutzerskripte von Drittanbietern von jeder Website aus zu vereinfachen (vor Chrome 21) :

  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/etc/opt/chrome/policies/{managed,recommended}/ enthalten die Verzeichnisse JSON-Richtliniendateien. Wenn Konflikte zwischen Einträgen auftreten, werden diese managedüberschrieben recommended.
jnylen
quelle
2
Ich wusste es nicht <all_urls>- sehr nützlich. Vielen Dank!
Mathias Bynens
Bestätigt, um in Fedora 18 zu arbeiten. Toller Beitrag, extrem hilfreich!
ehime
Genial! Drag and Drop hat vorher nicht funktioniert, und jetzt funktioniert es!
Billyswong