Изменение политики установки юзерскриптов в Google Chrome.
В браузере Chrome версии 21 появилось новшество, известное ещё с её бета-версии: при попытке установить юзерскрипт браузер выдаёт провокационное, но некорректное по сути сообщение (в баре на странице вверху):
Расширения, приложения и пользовательские скрипты могут быть добавлены только из Интернет-магазина Chrome. Подробнее…
Ещё 20 августа было всё нормально, но с установкой новой версии политика начала действовать.
На самом деле, как они дальше поясняют, это утверждение неверно и представляет собой, по сути, дешёвый провокационный трюк, подталкивающий авторов опубликовать расширения в их «магазине». Выгода небольшая, но прямая, потому что регистрация автора — платная (однократно 5$), и часть авторов пойдут на это, потому что не каждый пользователь нажмёт ссылку «Подробнее...» и так и будет думать, что устанавливать расширения стало возможным только из «магазина». Даже поиск в Яндексе показывает такой типичный ход мыслей пользователей:
И даже часть авторов в масштабе всего мира — это довольно много, счёт пойдёт, думается на десятки тысяч; можно ожидать ликующие отчёты маркетологов в служебной переписке компании уже в первый месяц нововведений.
Однозначно, это что-то новое в мире настольных браузеров, ранее встречавшееся только в Аппсторе и подобных закрытых средах. Что ж, читаем дальше, можно ли продолжить использование расширений и скриптов в этом браузере, не внося денег в не имеющий отношения к вам магазин.
По клику на "Подробнее..." видим страницу:
Мы стремимся сделать работу в Интернете более безопасной. Для этого мы недавно изменили правила добавления в браузер расширений, которых нет в Интернет-магазине Chrome. Раньше любой веб-сайт мог предложить вам добавить в браузер свое расширение. В последней же версии Google Chrome пользователь должен явно указать, что хочет установить такой компонент, добавив его на странице «Расширения».
Причины изменений
Чтобы вы могли безопасно работать в Интернете, группа аналитиков и технических специалистов проверяет все расширения в нашем магазине. Это позволяет найти вредоносные программы и не дать им попасть в магазин. К сожалению, мы не можем гарантировать надежность расширений на других веб-сайтах. Например, хакеры могут создавать сайты, которые автоматически запускают установку вредоносных программ. Такие расширения могут тайно отслеживать все данные, которые вы вводите в Интернете. Это позволяет злоумышленникам использовать информацию в своих целях.
Благодаря изменениям в процедуре установки расширений веб-сайты не могут автоматически запускать этот процесс, а вы получаете возможность лучше контролировать расширения, которые добавляете в Chrome.
Разработчикам: если вы распространяете расширение с помощью своего веб-сайта, рекомендуем вам добавить его в Интернет-магазин Chrome. Дополнительные инструкции по добавлению продуктов в Интернет-магазин Chrome и использованию встроенных средств, позволяющих устанавливать расширение прямо с вашего сайта, можно найти на веб-сайте Google для разработчиков.
Администраторам корпоративных систем: вы можете указать URL, с которых разрешено устанавливать расширения, приложения и темы, непосредственно в правилах ExtensionInstallSources.
Инструкции по добавлению расширений с других веб-сайтов
Рекомендуется добавлять расширения только с тех сайтов, которым вы доверяете. Чтобы сделать это в Chrome, выполните указанные ниже действия.
1. Загрузите файл расширения с веб-сайта и сохраните его на компьютере.
2. Нажмите на значок гаечного ключа на панели инструментов.
3. Выберите Инструменты > Расширения.
4. Найдите сохраненный файл и перетащите его на страницу «Расширения».
5. В открывшемся диалоговом окне проверьте список разрешений. Чтобы продолжить, нажмите кнопку Установить.
Выводы такие.
Да, начиная с изменения формата собственных расширений Хрома, начавшихся 1-1.5 месяца назад, они ведут планомерную работу по перекрыванию источников взлома браузера с использованием вредоносных юзерскриптов и расширений. Правда, 1.5 года назад они «невзначай» ввели плату (одноразовую) для разработчиков на право публикации расширений, даже бесплатных. Поэтому, если разработчик делает расширение для себя или для узкого круга знакомых или для небольшого сообщества вокруг сайта (что чаще всего бывает), он уже не может опубликовать расширение в «магазине», не вступив в денежные отношения с создателем браузера — один раз, но придётся сделать платёж, что примерно равно регистрации с помощью мобильного — компания узнаёт о держателе счёта дополнительную информацию.
В общем, для защиты от хакеров, для поиска нарушителей это даже хорошо (похожую схему платных писем предлагала MS для защиты от спаммеров), хотя, наверное, без труда найдутся способы создания фиктивного счёта. С третьей стороны, они утверждают, что каждое приложение проходит проверку, поэтому получаемые деньги, очевидно, тратятся на поддержку службы проверки, а это будут немалые расходы, если она нужна действительно эффективной.
Получение статуса разработчика для других браузеров
Для сравнения, Safari создаёт статус разработчика (Start developing Safari extensions today) с лицензией на год, но бесплатно (для расширений). (Существует Safari 5.1.7 for Windows от мая 2012, задвинуто сюда support.apple.com/kb/DL1531 (us), ru.)
Firefox никогда не производил попыток монетизировать процесс вовлечения разработчиков; у него есть раздел сайта с аддонами, на нём может зарегистрироваться любой пользователь или разработчик, что не составляет напряжения или проблемы. Пользователи могут составлять списки (подборки) своих аддонов, следить за списками других и писать отзывы, а разработчики — ещё и публиковать расширения (аддоны, темы, обои).
Opera проводит тоже политику модерации разработчиков, но на бесплатной основе. Разработчик должен зарегистрироваться: my.opera.com/community/terms-of-service/ (англ., гугл-транс-руc.), но в условиях нет ни слова на платность. Гугл, конечно, перешёл границы необходимости бесплатной популяризации и уже может позволить подкручивать гайки, а у Оперы пока не очень велик объём модерации.
Кроме того, Опера имеет встроенную поддержку юзерскриптов и юзерстилей 2 способами — для всех сайтов и посайтово. Способ установки — самый сложный из всех остальных браузеров, но осиливаемый пользователями.
IE… Ну, они вообще ничего не делают в плане поддержки расширений, за них делают другие (в том числе и браузеры). Имеется лишь примитивная возможность установки мультисайтовых (для всех сайтов сразу) юзерстилей по аналогии с похожей функцией Сафари, но существующей с версии IE7.
Оставшиеся возможности для Chrome
Однако, в Chrome предусмотрены, судя по тексту правил, и 2 обходных способа (и снова, не все) установки расширений и юзерскриптов: через прописывание специального тега с кодом разработчика расширения прямо на вебстранице (смешно — если есть доступ к странице и коду, то зачем юзерскрипты) или через установку из локального файла, как описано в 5 пунктах инструкции. Второе удлиняет процесс инсталляции, что правильно с точки зрения развеивания зомбированности пользователя, не осознающего свои действия в окне браузера и считающего их безопасными. Впрочем, и на 5 пунктов можно прозомбировать, но уже сложнее убедить проделать нетипичную цепочку действий в системе по сравнению с работой в окне браузера.
Значит, некоторый прогресс в безопасности есть, права разработчика не ущемлены, из зоны бесплатности он и его браузер не вышли. Надо всего лишь не размещать скрипты в «Магазине» или однократно заплатить Гуглу 5$ за такое право.
Теперь придётся описать длинную инструкцию по установке расширения в браузер Chrome не из его «магазина». Она почти побивает рекорды сложности Оперы, ссылка на инструкцию к которой приведена выше.
Есть ещё третий способ исхитриться (подсказывают из Chromium): при запуске браузера указать параметр --enable-easy-off-store-extension-install — установка расширений останется такой же простой, как прежде. В Windows удобно будет поставить параметр в ярлык, написав в его свойствах (к примеру):
С:Program FilesGoogleChromeApplicationchrome.exe --enable-easy-off-store-extension-install
Инструкция по установке юзерскрипта из userscripts.org
Находимся на странице описания скрипта, с которой обычно инсталлируют юзерскрипт.
1. Нажать на кнопку «Install». Видим процесс загрузки в баре файлов внизу страницы.
2. Получить расширение, загруженное в компьютер как файл (бар загрузок внизу) и «отлуп» вверху (ла-ла-ла-"… только из Интернет-магазина").
3. Не верим провокации и действуем по плану "Це": открываем страницу расширений браузера.
(Или по закладке с адресом chrome://chrome/extensions/ .)
4. Если расширение уже установлено в виде прежней версии, удаляем старую версию (обязательно, иначе сохранится старая до перезагрузки браузера).
5. Открыть из нижнего бара папку, содержащую скачанный файл юзерскрипта.
(Вот он, выделенный уже в момент просмотра.)
6. Перетащить файл юзерскрипта на список расширений, так, чтобы появилась надпись «Чтобы установить расширение, перетащите его».
(Появление надписи принципиально, потому что если мы перетащим и бросим НЕ на список расширений, а рядом с ним, тоже появится сакраментальная жёлтая надпись вверху — якобы, Хром не разрешает устанавливать расширения не из магазина.)
Обратите внимание, что допустимое ранее бросание юзерскрипта на любую другую открытую страницу тоже приведёт к сакраментальной фразе из пункта 2. Установить скрипт можно, лишь открыв страницу расширений. Если обнаружен такой диалог — это уже неправильный ход установки, вслед за ним будет «пункт 2».
Не делать так:
7. Отпускаем файл, получаем стандартное предупреждение безопасности.
8. После согласия с установкой получаем беспроблемно установленный юзерскрипт, которым можно пользоваться без перезагрузки браузера, лишь с перезагрузкой страницы сайта, для которого он предназначен.
Заключение
Вначале Chrome сразу стал лидером по простоте установки расширений. Бросок на любую страницу, пара кликов подтверждений — готово. Или клик по ссылке и пара подтверждений. Сейчас имеем сложный многоступенчатый процесс, если только ссылка не находится в «магазине». Лидером простоты снова стал Firefox, исторически первый браузер, введший юзерскрипты в их общепризнанном ныне виде.
Процесс забрасывания скрипта в файле в окошко расширений — это типичный способ отладки юзерскриптов, который знаком разработчику. Но он будет нов и сложен (или хотя бы необычен) для пользователя, поэтому пользователи, скорее всего, будут активнее хотеть простой ссылки в «магазине», чем даже скрипта с известного и признанного userscripts.org. С другой стороны, это даст время подумать, стоит ли доверять скрипту, находящемуся не в магазине — ведь магазинные скрипты обещают контролировать, модерировать, что создатели браузера не могли бы обеспечить на любом другом сайте.
Некоторые пользователи будут использовать запуск Хрома с параметром --enable-easy-off-store-extension-install — он позволит забыть о политике и заниматься делом. Скорее всего, это будет удобно для тех, кто слишком часто ставит расширения, чтобы выполнять каждый раз несложную, но многоходовую процедуру установки через сохраняемый файл.
Ссылки:
* List of Chromium Command Line Switches, 2012-09-02
* habrahabr.ru/post/111666/ — Создание и публикация расширения [Opera], январь 2011
* Написание расширения для Оперы и Хрома: взгляд на процесс, 28 ноября 2011
* Установка юзерскриптов в Опере в общих случаях и для защищённых страниц (https), 25 марта 2012
* support.apple.com/kb/DL1531 — Safari 5.1.7 for Windows, May 09, 2012
* developer.apple.com/programs/safari/ — Apple Developer Programs for Safari Extensions
P.S. Подскажите, как пишутся сообщения в английской версии Хрома, чтобы внести их в инструкцию.
Автор: spmbt