Jak zainstalować prywatny skrypt użytkownika w Chrome 21+?

60

W przeglądarce Chrome 20 i starszych wersjach możesz po prostu otworzyć dowolny .user.jsplik w przeglądarce Chrome, aby wyświetlić monit o zainstalowanie skryptu użytkownika.

Jednak w Chrome 21 i nowszych pobiera plik, a u góry wyświetla ostrzeżenie „Rozszerzenia, aplikacje i skrypty użytkownika można dodawać tylko z Chrome Web Store”.

Zrzut ekranu

Link „Dowiedz się więcej” wskazuje na http://support.google.com/chrome_webstore/bin/answer.py?hl=pl&answer=2664769 , ale ta strona nie mówi nic o skryptach użytkowników, tylko o rozszerzeniach w .crxformacie, aplikacje i motywy.

Ta część brzmiała interesująco:

Administratorzy Przedsiębiorstwo: Można określić adresy URL, które są dozwolone instalować rozszerzenia, aplikacje i motywy bezpośrednio do ExtensionInstallSourcespolityki .

Uruchomiłem następujące polecenia, a następnie ponownie uruchomiłem Chrome i 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/*"

Niestety te ustawienia wpływają tylko na rozszerzenia, aplikacje i motywy (jak napisano w tekście), a nie na skrypty użytkownika. ( Złożyłem błąd z prośbą, aby to ustawienie miało również wpływ na skrypty użytkownika).

Masz jakieś pomysły na temat instalacji prywatnego skryptu użytkownika (którego nie chcę dodawać do Chrome Web Store) w Chrome 21+?

Mathias Bynens
źródło
Czy próbowałeś włączyć tryb programisty w Ustawieniach -> Rozszerzenia? Nie jestem pewien, czy to zadziała, ale możesz spróbować.
Rhyuk,
@Rhyuk Dzięki za sugestię. Miałem jednak włączony tryb programisty - nie robi to żadnej różnicy.
Mathias Bynens,

Odpowiedzi:

37

Problem polegał na tym gist.github.com, że nieprzetworzone adresy URL przekierowują do innej domeny. Dlatego zamiast tego musimy użyć tych poleceń:

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

To działa!


W każdym razie wydaje się to obejściem (dzięki Paulowi Hornowi za podpowiedź):

  1. Pobierz skrypt użytkownika.
  2. Otwarte chrome://chrome/extensions/.
  3. Przeciągnij i upuść plik skryptu użytkownika na stronie otwartej w kroku 2.
Mathias Bynens
źródło
Wydaje się to lepsze niż edytowanie polecenia używanego do otwierania Chromium. Dzięki!
btleffler
@btleffler Tyle że będziesz musiał przeskakiwać przez ten obręcz za każdym razem, zamiast wprowadzać zmiany raz.
Eugene Beresovsky
NB. Przeciągając i upuszczając, musisz upuścić plik dokładnie na wiadomość. Nigdzie indziej na stronie nie będzie działać.
Pułkownik Panic
czy metoda dodawania rozszerzeń metodą przeciągnij i upuść nadal działa? Nie wygląda to tak w Chrome 24 na OSX.
Viktor,
Należy wspomnieć, że github zezwala na hosting treści generowanych przez użytkowników na <nazwa_użytkownika> .github.com (przez „Strony Github” - pages.github.com ). Tylko heads-up dla każdego, dla kogo byłoby to zagrożenie bezpieczeństwa.
mh.
36

Uruchom Chrome za pomocą --enable-easy-off-store-extension-installprzełącznika .

Aby użyć przełącznika wiersza polecenia ( z Chromium.org ):

W systemie Windows:

  • Kliknij prawym przyciskiem myszy ikonę „Chrome”.
  • Wybierz właściwości
  • Na końcu linii docelowej umieść te parametry: --enable-easy-off-store-extension-install
  • Powinno to wyglądać następująco: chrome.exe --enable-easy-off-store-extension-install

W systemie OS X:

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

  • W przeglądarce Google Chrome musisz uciec od takich spacji: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

W systemie Linux:

  • chromium-browser --enable-easy-off-store-extension-install
Jacob Groß
źródło
1
Musisz całkowicie wyjść z Chrome, a nie tylko otworzyć nowe okno z ikony. (to śmieci Google btw)
Jonathan.
1
Tak, to wkracza na terytorium „zła” IMO.
jnylen
To działało ... :) Odpowiedź @MathiasBynens nie działała na MacOS / Chrome25
Lipis
Mam problem w systemie
gstackoverflow
1
Jestem całkiem pewien, że przestało działać jakiś czas po sierpniu 2014 roku. Wygląda na to, że w ogóle nie działa.
Brock Adams,
10

Cóż, zajęło mi to kilka godzin życia. Myślę, że inżynierowie Google uważają, że zasługujemy na zainstalowanie niezaufanych rozszerzeń tylko wtedy, gdy potrafimy wymyślić sztuczki i skakać przez ich obręcze.

Instrukcje w odpowiedzi Mathiasa wydają się być precyzyjne dla Mac OS X, ale używam Linuksa. Oto, co zrobiłem w systemie Linux, aby umożliwić łatwiejszą instalację (w stylu wcześniejszym niż Chrome-21) wszystkich rozszerzeń, aplikacji i skryptów użytkownika innych firm z dowolnej witryny :

  1. Utwórz katalog polityk (jeśli jeszcze nie istnieje):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Utwórz plik zasad:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Uruchom ponownie Chrome. Całkowicie wyjdź z programu za pośrednictwem menu -> Exit; nie zamykaj tylko bieżącego okna.


Źródła:

Uwagi:

jnylen
źródło
2
Nie wiedziałem o <all_urls>- bardzo przydatne. Dzięki!
Mathias Bynens
Potwierdzony do pracy w Fedorze 18. Niesamowity post, niezwykle pomocny!
ehime
Niesamowite! Przeciąganie i upuszczanie wcześniej nie działało, a teraz działa!
billyswong