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


60

В 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+?


Вы пробовали включить режим разработчика в Настройки -> Расширения? Не уверен, что это сработает, но вы можете попробовать.
— Rhyuk

@Rhyuk Спасибо за предложение. Я включил режим разработчика, хотя - кажется, не имеет значения.
— Матиас Биненс

Ответы:


37

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

# 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. Open chrome://chrome/extensions/.
  3. Перетащите файл пользовательского скрипта на страницу, открытую на шаге 2.

Это кажется лучше, чем редактирование команды, используемой для открытия Chromium. Спасибо!
— Btleffler

@btleffler За исключением того, что вам придется каждый раз перепрыгивать через этот обруч, а не вносить изменения один раз.
— Евгений Бересовский

NB. При перетаскивании, вы должны поместить файл точно в сообщение. В другом месте на странице не будет работать.
— Полковник Паник

работает ли способ добавления расширений методом перетаскивания? Похоже, что на Chrome 24 на OSX.
— Виктор

Следует отметить, что github позволяет размещать пользовательский контент на <username> .github.com (через «Страницы Github» - pages.github.com ). Просто хедз-ап для тех, для кого это будет проблемой безопасности.
— тк.

36

Запустите 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

1
Вы должны полностью выйти из Chrome, а не просто открыть новое окно со значком. (это чушь Google между прочим)
— Джонатан.

1
Да, это посягает на «злую» территорию ИМО.
— Jnylen

Это сработало ... :) Ответ @MathiasBynens не работает на MacOS / Chrome25
— Lipis


1
Уверен, что это перестало работать после августа 2014 года. Кажется, сейчас это не работает вообще.
— Брок Адамс

10

Ну, это заняло пару часов моей жизни, чтобы понять. Я предполагаю, что инженеры 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; не просто закройте текущее окно.


Источники:

Примечания:

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

2
Я не знал о <all_urls>- очень полезно. Спасибо!
— Матиас Биненс

Подтвержден для работы в Fedora 18. Потрясающий пост, очень полезный!
— ehime

Потрясающие! Перетаскивание раньше не работало, а теперь работает!
— billyswong
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.