Come installare uno script utente privato in Chrome 21+?


60

In Chrome 20 e versioni precedenti, potresti semplicemente aprire qualsiasi .user.jsfile in Chrome e ti richiederebbe di installare lo script utente.

Tuttavia, in Chrome 21 e versioni successive, scarica invece il file e visualizza un avviso in alto che dice "Estensioni, app e script utente possono essere aggiunti solo dal Chrome Web Store".

Immagine dello schermo

Il link "Ulteriori informazioni" rimanda a http://support.google.com/chrome_webstore/bin/answer.py?hl=it&answer=2664769 , ma quella pagina non dice nulla sugli script degli utenti, ma solo sulle estensioni in .crxformato, app e temi.

Questa parte sembrava interessante:

Amministratori aziendali: è possibile specificare URL a cui è consentito installare estensioni, app e temi direttamente tramite il ExtensionInstallSourcescriterio .

Quindi, ho eseguito i seguenti comandi, quindi ho riavviato Chrome e 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/*"

Purtroppo, queste impostazioni sembrano influenzare solo le estensioni, le app e i temi (come si dice nel testo), non gli script degli utenti. (Ho segnalato un bug che chiede di fare in modo che questa impostazione influisca anche sugli script degli utenti.)

Qualche idea su come installare uno script utente privato (che non voglio aggiungere al Chrome Web Store) in Chrome 21+?


Hai provato ad abilitare la modalità sviluppatore in Impostazioni -> Estensioni? Non sono sicuro che funzionerà, ma puoi provarlo.
Rhyuk,

@Rhyuk Grazie per il suggerimento. Avevo abilitato la modalità sviluppatore, tuttavia - non sembra fare la differenza.
Mathias Bynens,

Risposte:


37

Il problema era che gist.github.comgli URL non elaborati reindirizzano a un dominio diverso. Quindi, dobbiamo usare questi comandi invece:

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

Questo funziona!


Comunque, questa sembra essere una soluzione alternativa (grazie a Paul Horn per il suggerimento):

  1. Scarica lo script utente.
  2. Aprire chrome://chrome/extensions/.
  3. Trascina e rilascia il file di script utente nella pagina che hai aperto al passaggio 2.

Sembra meglio che dover modificare il comando usato per aprire Chromium. Grazie!
Btleffler,

@btleffler Tranne che dovrai saltare quel cerchio ogni volta, invece di apportare la modifica una volta.
Eugene Beresovsky,

NB. Quando si trascina la selezione, è necessario rilasciare il file esattamente sul messaggio. In qualsiasi altra parte della pagina non funzionerà.
Colonnello Panic,

il metodo di trascinamento della selezione delle estensioni funziona ancora? Non sembra così su Chrome 24 su OSX.
Viktor,

Vale la pena ricordare che github consente l'hosting di contenuti generati dagli utenti su <username> .github.com (tramite "Pagine Github" - pages.github.com ). Solo un avvertimento per chiunque per cui questo sarebbe un problema di sicurezza.
mh.

36

Avvia Chrome con l' --enable-easy-off-store-extension-installinterruttore .

Per utilizzare un'opzione della riga di comando ( da Chromium.org ):

Su Windows:

  • Fai clic destro sull'icona "Chrome".
  • Scegli le proprietà
  • Alla fine della linea target, posizionare questi parametri: --enable-easy-off-store-extension-install
  • Dovrebbe apparire come: chrome.exe --enable-easy-off-store-extension-install

Su OS X:

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

  • Per Google Chrome dovrai uscire dagli spazi in questo modo: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

Su Linux:

  • chromium-browser --enable-easy-off-store-extension-install

1
Devi chiudere Chrome completamente, non solo aprire una nuova finestra dall'icona. (questa è spazzatura di Google tra l'altro)
Jonathan.

1
Sì, questo sta invadendo il territorio "malvagio" dell'IMO.
jnylen,

Questo ha funzionato ... :) La risposta di @MathiasBynens non ha funzionato su MacOS / Chrome25
Lipis


1
Abbastanza sicuro che questo abbia smesso di funzionare dopo agosto 2014. Non sembra funzionare affatto ora.
Brock Adams,

10

Bene, ci sono volute un paio d'ore della mia vita per capire. Immagino che gli ingegneri di Google pensino che meritiamo di installare estensioni non affidabili solo se riusciamo a capire come fare trucchi e saltare attraverso i loro cerchi.

Le istruzioni nella risposta di Mathias sembrano essere esatte per Mac OS X, ma io uso Linux. Ecco cosa ho fatto su Linux per consentire un'installazione più semplice (pre-Chrome-21) di tutte le estensioni, app e script utente di terze parti da qualsiasi sito Web :

  1. Creare la directory delle politiche (se non esiste già):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Creare il file delle politiche:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Riavvia Chrome. Uscire completamente dal programma tramite menu -> Exit; non solo chiudere la finestra corrente.


fonti:

Appunti:


2
Non sapevo <all_urls>- molto utile. Grazie!
Mathias Bynens,

Confermato di lavorare in Fedora 18. Post fantastico, estremamente utile!
ehime,

Eccezionale! Il trascinamento della selezione non funzionava prima e ora funziona!
Billyswong,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.