Как установить приватный пользовательский скрипт в 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.