Дополнения для сафари. Запрет возможности активации другого tab-а с помощью скриптов. Сортировка закладок в меню
Не так давно я натолкнулся на очень интересную заметку «Будьте осторожны с расширениями Safari и отключите их автоматическое обновление», опубликованную Лексом Фридманом (Lex Friedman) - постоянным автором Macworld и TidBITS, блоггером, веб-разработчиком и создателем нескольких расширений для Safari. В ней автор рассказывает о проблемах, которые могут поджидать обыкновенных пользователей после установки расширений в браузер. Предлагаю нашим читателям ознакомиться с вольным переводом этой статьи и передаю слово мистеру Фридману.
Я большой фанат расширений Safari. Уже написал и делюсь ими с интернет-общественностью. Но опыт их создания позволил мне понять насколько легко злоумышленник может собрать о вас разнообразную информацию, используя методы, которые не так-то просто будет обнаружить.
Для начала, стоит рассказать о принципе работы расширений: как и веб-страницы, аддон состоит из кода Javascript, CSS и HTML. Мой «Affiliatizer», например, использует Javascript для получения всех ссылок на странице. Затем он проверяет каждую из них с целью найти линк, указывающий на Amazon, и немного изменяет его (добавляет ваш партнерский код) - все с помощью Javascript.
Установленные расширения могут добавлять любой HTML-код на любые просматриваемые веб-страницы. И в этом заключается основная проблема - причем, она намного опасней, чем может показаться на первый взгляд.
Посмотрите на мое новое (на самом деле, безобидное) расширение, которое я назвал . Вместо того, чтобы на странице искать ссылки или изменять шрифты, оно создает новый элемент HTML, который называется
Iframe используется для отображения содержимого одной веб-страницы на другой. Например, создав «страницу Лекса» я могу где-то внутри неё добавить с помощью iframe содержимое «страницы Джона». Веб-сайты, как правило, стараются не использовать такой подход, но эти элементы до сих пор применяются и все современные браузеры их поддерживают.
Расширение Зла при помощи Javascript создает такой iframe на каждой просматриваемой вами странице и в качестве источника фрейма использует адрес http://lexfriedman.com/extensions/evil.php с оговоркой: к запросу я добавляю URL страницы, на которой вы в настоящее время находитесь. Например, когда я открываю Google, в iframe используется такой адрес: http://lexfriedman.com/extensions/evil.php?url=http://www.google.com/ .
Мое расширение, как я уже сказал, безвредно. Кроме адреса сайта, скрипт evil.php еще использует ваш IP (если сможет его получить) без хранения любой подобной информации. И выглядит это так:
Расширение, также, вполне могло создать невидимый iframe, который бы получил доступ содержимому посещенной веб-страницы и создать пользователю определенные проблемы. Вы же не хотите, чтобы я, скажем, прочитал ваши письма в или проверил баланс вашего банковского счета.
Но, что хуже, вредоносный аддон может маскироваться под что-нибудь полезное и даже быть изначально «чистым».
Кроме этого, Safari способна обновлять свои расширения . Браузер каждый раз проверяет наличие новой версии по адресу, указанному разработчиком в своем расширении, и, если находит её, устанавливает без ведома пользователя.
Таким образом, мифическое Точно-Не-Плохое расширение, позволяющее, к примеру, вывести определение слова со страницы, в начале покажется безопасным. А через несколько месяцев его создатель незаметно добавит код, создающий iframe и собирающий личную информацию со всех посещенных вами страниц. И если вы регулярно не следите за изменением версий установленных расширений, то даже не узнаете об обновлении.
В качестве краткосрочного решения этой проблемы можно, как минимум, отключить автоматические обновление для расширений в этом окне:
Но даже установив обновление вручную, вы все равно можете быть обманутым злоумышленником.
К сожалению, сейчас нет простого решения этой проблемы. Safari мог бы блокировать различные элементы, которые используются хакерами, но такой подход значительно «урежет» возможности других расширений. Остается использовать официальный каталог и надеяться на то, что Apple тщательно проверяет расширения на наличие подобных «трюков».
Буду откровенным: я не знаю ни одного такого расширения для . Но не сомневаюсь, что для Chrome или Firefox можно сделать нечто подобное. Кроме этого, я не предлагаю вам совсем отказаться от расширений или бояться их устанавливать. Скорее, вы просто должны иметь представление о возможностях расширений. Убедитесь, что вы доверяете разработчикам, но будьте на чеку.
После перехода на OS X, я стал, в качестве основного браузера, использовать Safari. Пользуясь браузером, уже несколько лет, проблем в работе с ним не возникало. Вот правда плагинов к нему намного меньше чем к Chrome или Firefox, в связи с чем удобство просмотра тех или иных сайтов в различных браузерах очень отличается.
Так, как я уже просто привык к Safari и не хочу переходить на другой браузер, я решил что все не достающие мне плагины можно написать. Плюс ко всему, как оказалось, это очень просто.
Под катом пример создания плагина и публикация его в extensions.apple.com
Подготовка
Для начала нужно выбрать что будете разрабатывать. В связи с тем что я часто слушаю музыку с Soundcloud , а «выпрыгивающие» комментарии на сайте меня сильно раздражают, я решил написать плагин который будет автоматически отключать комментарии при проигрывании.Как это выглядит:
Включенные комментарии
Выключение комментарии
Для разработки плагина понадобится Apple dev акаунт. Зарегистрировать его можно .
После чего нужно получить сертификат для подписи ваших плагинов. Проблем при регистрации и получении сертификата возникнуть не должно, просто следуйте инструкциям на сайте.
Разработка
После установки сертификата разработчика можно приступать к разработке. Для начала нужно активировать режим разработчика в Safari->Настройки->Дополнения->Ставим галочку «Показать меню разработка»Теперь открываем в меню пункт Разработка->Extension builder и настраиваем Ваш плагин, после чего сохраняем его.
Я писал плагин на js с использованием jQuery. Подробно о поддерживаемых языках программирования и возможностях плагинов для браузера Safari можно прочитать .
В папке где вы сохранили скрипт создайте файл plugin.js в нем и будет хранится код плагина.
Мой код для примера
function soundcloud() {
$(document)
.ready(function () {
$(".player")
.each(function () {
$(this)
.children() != undefined && $(this)
.toggleClass("no-comments");
})
})
};
soundcloud();
В Extension builder выберите в пункте «Конечные скрипты» Ваш скрипт и нажмите на Install.
Ваш плагин создан и установлен в Safari.
Подготовка к публикации
Подготовка к публикации у меня заняла больше всего времени. Нужно сделать много мелочей:- Создать иконки с размерами 32x32, 48x48, 64x64, 100x100 пикселей и положить в папку с плагином под именем Icon-32.png, и тд.
- Скриншот плагина с размером 425x275 px.
- Написать короткое и длинное описание плагина.
- Создать web страничку для плагина. (К примеру запись в Вашем блоге где описывается данный плагин.)
- Создать файл манифест обновления плагина (ниже описано как)
- Загрузить плагин на сервер для возможности скачивания его по прямой ссылке.
С иконками, описанием и страницей плагина думаю все понятно, что касательно манифеста, то это просто XML файл в котором описивается текущая версия плагина.
Шаблон такого файла
Пример моего файла
Параметр Safari Developer это номер вашего DEV акаунта в Apple. Его можно найти в Extension builder в правом верхнем углу.
Так же перед публикацией не забудьте на вашем веб сервере добавить в MIME тип.safariextz
Пример для Apache:
AddType application/octet-stream .safariextz
Публикация
Если вы все подготовили то можете смело открывать и отправлять свое творение в Apple на расмотрение.Опубликовал плагин я с второго раза, сначала не получилось, так как я не добавил в плагин иконки. Плагин на рассмотрении у Apple был как первый, так и второй раз 7 дней. Понравилось что дают четкий ответ почему плагин не опубликован, так как понятно что нужно исправить.
Исходный код плагина и остальное доступно на
Вконтакте
В этом году разработчиков под iOS ждал целый мешок подарков — технология низкоуровневой работы с графикой , упрощенный и оптимизированный язык программирования , возможность внедрения в iOS , и расширений. Собственно, в этом материале речь пойдет о для штатного web-обозревателя Safari, которые могут значительно упростить жизнь активному серферу мобильного интернета. Стоит отметить, что большинство приведенных ниже плагинов в том или ином виде используются пользователями десктопных браузеров, а их функционал знаком практически каждому.
WhatFont
Разместим данный плагин на первом месте обзора, так как с его функциями и процессом установки мы вас уже знакомили (). Расширение распространяется бесплатно и позволяет определить шрифт текста на любой web-странице, что весьма полезно для начинающих web-дизайнеров.
Скачать WhatFont (App Store) .
View Source
Еще одна примочка для web-мастеров, отображающая исходный код web-страницы (HTML, JavaScript, CSS). В отличие от предыдущего плагина, View Source является платным расширением — 33 рубля в App Store.
.
TranslateSafari
Большинство из нас частенько работает с зарубежными web-ресурсами, а знание иностранных языков оставляет желать лучшего. В таком случае на помощь придет расширение TranslateSafari, которое позволяет быстро переводить страницы и отдельные фрагменты текста. Стоимость приложения составляет 33 рубля.
Скачать TranslateSafari (App Store) .
Stacks 2
Самое дорогое расширение в данном списке (99 рублей), но в то же время и самое актуальное. При нынешних скачках курсов национальных валют будет весьма удобно иметь под рукой инструмент для автоматической конвертации рублей, гривен, долларов, евро и других денежных единиц прямо в Safari.
Скачать Stacks 2 (App Store) .
Awesome Screenshot
В iOS имеется штатная функция создания скриншотов, но данное расширение работает по совершенно иному принципу. Плагин может зафиксировать изображение всей web-страницы (а не только отображаемого на экране фрагмента). Кроме тог, Awesome Screenshot содержит минимальный набор инструментов для редактирования — карандаш, метки, ножницы.
Скачать Awesome Screenshot (App Store) .
Mail to Self
Кликнув на иконку расширения в панели «шаринга», пользователь отправляет выбранный фрагмент текста, ссылку или изображение на заранее указанный адрес электронной почты — быстро и удобно. Плагин можно загрузить бесплатно.
Скачать Mail to Self (App Store) .
1Password
Одно из первых расширений для Safri, выпущенное разработчиками одноименного приложения практически сразу после активации данной функции в iOS. Плагин являет собой надежный и бесплатный менеджер паролей для web-обозревателя.
Скачать 1Password для iPhone, iPad и iPod Touch (App Store) .
Бесплатное расширение для сохранения web-страниц и последующей работы с ними в режиме оффлайн.
Это правда, что под «Сафари» мало плагинов. И складывается впечатление, что с каждой новой версией «яблочного» браузера их становится все меньше - Apple все никак не устаканит механизмы, которые обеспечивают взаимодействие Safari и плагинов. Пожалуй, именно поэтому пятерка лучших плагинов под эту программу бывалых маководов может не удивить. А новоиспеченным свитчерам стоит взять на заметку каждый из предложенных продуктов.
ClickToFlash
Этот плагин - отличное средство контроля загрузки Flash-роликов. После установки ClickToFlash ни одна «флешка» не запустится без вашего разрешения, что особенно актуально для анимированных и видео-баннеров. Вместо изображения вы увидите прямоугольный блок, закрашенный градиентом под фоновый цвет текущей страницы. Только щелкнув по этому блоку, вы дадите добро на загрузку соответствующего Flash-ролика (отсюда и название плагина).
Так выглядит ClickToFlash в работе: вместо Flash-ролика - прямоугольник с контекстным меню настройки работы плагина в конкретном случае и в рамках текущего сайта.
Поведение ClickToFlash можно настраивать для каждого сайта в отдельности. Конкретные веб-адреса можно внести в «белый список» - на этих ресурсах «флешки» будут загружаться автоматически.
Для YouTube же у плагина есть дополнительная опция - возможность загрузки видеоклипов в формате QuickTime, включая кодек H.264. Правда, YouTube HD в QuickTime почему-то остается недоступно при работе через ClickToFlash. Так что если хочется посмотреть видео в высоком качестве, придется обойтись форматом Flash Video.
Диалог настройки плагина позволяет не только изменить конкретные опции, но и удалить ClickToFlash - без необходимости ручного удаления файла плагина из папки Library.
Общая информация о плагине
Разработчик:
ClickToFlash Developers
Веб-сайт:
Стоимость:
бесплатно
Системные требования:
процессор PowerPC или Intel, операционная система Mac OS X 10.4+, 1 МБ дискового пространства.
Общая информация о плагине
Разработчик:
Cooliris, Inc.
Веб-сайт:
Стоимость:
бесплатно
Системные требования:
процессор Intel, операционная система Mac OS X 10.5+, Safari 3.1+ (только 32-битный режим), 3 МБ дискового пространства.
Хорошо продуманы функции поиска и отображения найденный медиафайлов
+ поиск в Сети и на компьютере
+ работа в полноэкранном и оконном режиме
+ вызов плагина непосредственно с веб-страницы
+ работа с любым веб-ресурсом
Каждый пользователь MacBook (да и других Mac тоже) рано или поздно приходит к Safari. Да, этот браузер местами не так удобен, как Chrome, и не так кастомизируется, как Mozilla, а может, кому-то мила Opera... но он чертовски энергоэффективный и очень шустро/плавно работает. Да и интеграция с сервисами может стать решающим фактором. Дело за малым - слегка прокачать Safari расширениями.
В этом материале я собрал 5 полезных и проверенных мною лично в ежедневном юзе дополнений к Safari.
1. Minimal Status Bar (v.1.17)
Абсолютный маст-хэв для каждого продвинутого пользователя Сети. Крошечная и незаметная в работе надстройка, заставляющая панель состояния (Status Bar) появляться при наведении курсора на активный элемент и скрываться сразу же, как в ней пропадет необходимость. Пользователи Chrome справедливо заметят, что у них в браузере статусбар ведет себя так изначально. Все верно, но раз уж Apple не удосужилась сделать хорошо (резервируя под Status Bar добрый кусок экрана), исправим эту оплошность самостоятельно.
Настройка у расширения всего одна - можно разрешить "разворачивать" сокращенные ссылки. Рекомендую включить.
2. ClickToFlash (v.3.1.5)
Ничуть не менее, а то и более нужное дополнение. Запрещает браузеру автоматически проигрывать флеш-контент (если вообще установлен Flash Player) и к тому же умеет использовать вместо флеша HTML5. Последнее особенно актуально для разномастных сетевых аудио- и видеоплееров.
После установки дополнение пугает страшным меню настроек, но до возникновения каких-то проблем с проигрыванием контента его можно закрыть. Разве что во вкладку Keyboard Shortcuts заглянуть стоит.
3. (v.2.3.1)
Дополнение бережет нервы юзерам Mac. Особенно тем из нас, кому не повезло иметь компьютер с шустрым SSD и кто обходится без прожорливого . Когда активен, NoMoreiTunes блокирует автоматическое открытие iTunes при переходе на страницу магазина Apple в браузере. Вместо редиректа показывается панель с кнопкой "Open in iTunes". Плохо только, что скрыть принудительно панель нельзя.
4. (2.2.10.1)
Расширение, прокачивающее интерфейс сайта YouTube очень полезным меню "Download". Очевидно, что теперь у тебя есть возможность скачивать видео - стримминговые файлы со звуком и разрешением картинки до 720р или же отдельно видео (до 2k) и аудио (128kbps). Но кроме того FastestTube умеет блокировать рекламу и отключать автовоспроизведение.
5. AdBlock
Скажу прямо - AdBlock и его собратья по цеху ненавистны всей веб-индустрии. Они блокируют рекламу, которая в том числе кормит ресурсы С другой стороны, в Сети есть немало сайтов, находиться на которых без такого расширения совершенно невозможно - пестрящие баннерам, выкидывающие поп-апы и прочую крайне навязчивую рекламную гадость странички выведут из себя самого стойкого и терпеливого. Так что поставить AdBlock все же стоит. А потом пойти в настройки расширения и добавить в список исключения те сайты, которые ты готов поддержать своим вниманием. Например, UiP =)