Как установить частный скрипт пользователя в Chrome 21+?

В Chrome 20 и более ранних версиях вы можете просто открыть любой файл .user.js в Chrome, и он предложит вам установить скрипт пользователя.

Тем не менее, в Chrome 21 и выше он загружает файл вместо этого и отображает предупреждение, в котором говорится: «Расширения, приложения и пользовательские скрипты можно добавлять только из Интернет-магазина Chrome».

Скриншот

Ссылка «Подробнее» указывает на http://support.google.com/chrome_webstore/bin/answer.py?hl=ru&answer=2664769 , но эта страница ничего не говорит о пользовательских сценариях, только о расширениях в .crx Формат, приложения и темы.

Эта часть звучала интересно:

Администраторы предприятия. Вы можете указать URL-адреса, которым разрешено устанавливать расширения, приложения и темы напрямую через политику ExtensionInstallSources .

Итак, я выполнил следующие команды, затем перезапустил Chrome и 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/*" 

К сожалению, эти настройки влияют только на расширения, приложения и темы (как говорится в тексте), а не на пользовательские скрипты. (Я подал ошибку, требуя, чтобы этот параметр также повлиял на пользовательские скрипты.)

Любые идеи о том, как установить частный пользовательский скрипт (который я не хочу добавлять в Интернет-магазин Chrome) в Chrome 21+?

    Запустите Chrome с помощью переключателя --enable-easy-off-store-extension-install .

    Чтобы использовать переключатель командной строки ( от Chromium.org ):

    В Windows:

    • Щелкните правой кнопкой мыши значок «Chrome».
    • Выберите свойства
    • В конце целевой линии поместите эти параметры: --enable-easy-off-store-extension-install
    • Он должен выглядеть так: chrome.exe --enable-easy-off-store-extension-install

    В OS X:

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

    • Для Google Chrome вам необходимо избежать пробелов: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

    В Linux:

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

    Проблема заключалась в том, что исходные URL-адреса gist.github.com перенаправлялись в другой домен. Итак, мы должны использовать эти команды:

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

    Это работает!


    Во всяком случае, это кажется обходным путем (спасибо Полю Хорну за подсказку):

    1. Загрузите скрипт пользователя.
    2. Откройте chrome://chrome/extensions/ .
    3. Перетащите файл сценария пользователя на страницу, которую вы открыли на шаге 2.

    Ну, это заняло пару часов моей жизни, чтобы понять. Думаю, инженеры Google думают, что мы только заслуживаем установки ненадежных расширений, если мы сможем понять, как делать трюки и прыгать через их обручи.

    Инструкции в ответе Матиаса выглядят для Mac OS X, но я использую Linux. Вот что я сделал в Linux, чтобы упростить установку (до Chrome-21) всех сторонних расширений, приложений и пользовательских скриптов с любого веб-сайта :

    1. Создайте каталог политик (если он еще не существует):

       sudo mkdir -p /etc/opt/chrome/policies/recommended/ 
    2. Создайте файл политики:

       cd /etc/opt/chrome/policies/recommended/ sudo tee easy_install_extensions.json <<EOF { "ExtensionInstallSources": ["<all_urls>"] } EOF 
    3. Перезапустите Chrome. Полностью выйти из программы через menu -> Exit ; Не просто закрывайте текущее окно.


    Источники:

    • Эта страница рекомендует перетаскивание, которое не работает для меня
    • Документация для соответствующей политики
    • Правила сопоставления URL-адресов
    • Как установить политики Chromium в Linux

    Заметки:

    • <all_urls> (используется выше) является специальным шаблоном в соответствии с документами соответствия URL . Полезно знать.
    • В соответствии с документами политики Linux каталоги /etc/opt/chrome/policies/{managed,recommended}/ содержат файлы политики JSON. Если конфликты вхождения конфликтуют, recommended переопределить переопределения.
    Давайте будем гением компьютера.