Иногда разработчики “Желают странного” (С) А. Б. Стругацкие, из-за этого появляются необычные проекты, вроде запуска Doom на терминалах для считывания банковских карт и других, еще менее приспособленных для этого, девайсах. Чаще всего такое получается в результате тренировок, когда программист осваивает новую тему и реализует тестовый проект не в виде традиционного “Hello, Word!”, а чего-то более изощренного. Но ведь не все занимаются портированием древних шутеров на смарт-часы, есть и другие области разработки, более прикладные, но не менее интересные. Предположим, что человеку наскучило смотреть на длинные логи в консоли и grep’ать из них данные для отладки, хочется добавить интерактива и наглядности в свое обучение. Инструменты для этого выбираются самые разные, кто-то пользуется обычным графическим выводом, кто-то выводит данные через простенький сайт, а кто-то… пишет расширения для браузера!
В этой статье я расскажу вам о нескольких не самых практичных (хотя о практичных — тоже расскажу), но необычных расширениях. Они вряд ли войдут в подборку типа: “Топ-10 самых полезных расширений для разработчика” или пригодятся для розыгрыша коллег, но заставят озадаченно почесать затылок: “Ну и фантазия у автора!..” или просто улыбнуться.
Начну с одного из самых бесполезных, но милых расширений, которое явно писалось студентом, изучавшего нейронные сети и натаскивающего их на распознавание лиц, в частности — поиск глаз на фотографиях. Сложно понять, что двигало им, когда он публиковал свое творчество в официальных маркетах для браузеров, но теперь каждый может скачать и установить Googlifier, расширение, которое ищет на сайте фотографии с лицами, потом на них распознает глаза и рисует поверх мультяшные “зенки”, которые стоят в заголовке поста.
Если кто-то является большим поклонником Vim, то ему может прийтись по вкусу расширение cVim. Оно практически полностью повторяет интерфейс этого неоднозначного редактора. С его помощью можно, не прикасаясь к мышке, выполнить любое действие в браузере, от переключения между вкладками и перехода по ссылкам, до выделения текста.
Следующее расширение TabFS — изюминка этой подборки, одно из самых необычных и изощренных, что мне попадались за последнее время. Его задачей является монтирование вкладок браузера, как директорий в виртуальной файловой системе! Это открывает совершенно новые сценарии работы с браузером, кардинально отличающиеся от всего, что было привычно раньше.
Поддерживаются браузеры Chrome и FireFox, но расширения нет в их интернет-магазинах. Его надо скачать и установить самому, а виртуальная файловая система вкладок работает только на Linux или Mac OS. Разберем процесс настройки этого необычного продукта.
Для экономии места и времени, я опишу тут установку для FireFox на системе Ubuntu, желающие настроить его для Chrome или на Mac OS найдут инструкцию на сайте разработчика, действия отличаются минимально.
Сначала надо склонировать репозиторий
$ git clone https://github.com/osnr/TabFS.git
И установить расширение в браузере. Для этого надо открыть настройки находящиеся по адресу:
about:debugging#/runtime/this-firefox
и загрузить в браузер файл из директории репозитория extension/manifest.json
.После этого надо установить FUSE
sudo apt install libfuse-dev</code>
А потом создать точку монтирования и скомпилировать файловую систему
<code>$ cd fs
$ mkdir mnt
$ make
$ cd ..
$ ./install.sh firefox
Все готово, осталось перезагрузить расширение в браузере и вкладки появятся на нашем жестком диске.
Откроем несколько страничек в браузере:
В одной директории файлы отсортированы по заголовкам, в другой но номеру вкладки, отдельные файлы содержат адрес страницы, ее содержимое и заголовок. Имея текст страниц в виде файлов на диске, можно поднять парсинг на совершенно новый уровень, операции с данными открытых сайтов выполняются стандартными командами bash, такими как: rm, cat и grep, или скриптами на Python, к примеру.
Выведем список открытых вкладок по их заголовкам (здесь подразумевается, что пользователь находится в директории репозитория fs/mnt и все команды вводятся с учетом этого):
$ ls tabs/by-title
GitHub_-_osnr_TabFS_____Mount_your_browser_tabs_as_a_filesystem._34
Levelord__an_Ordinary_Moscow_Resident__Interview_with_the_Creator_of_Duke_Nukem___RUVDS.com_corporate_blog___Habr_33
Make_it_easier_to_get_finished__Interview_with_John_Romero__developer_of_Doom___RUVDS.com_corporate_blog___Habr_32
Making_Games_for_a_Living__11_tips_from_Levelord___RUVDS.com_corporate_blog___Habr_31
TabFS_10
The_one_who_resurrected_Duke_Nukem__interview_with_Randy_Pitchford__magician_from_Gearbox___RUVDS.com_corporate_blog___Habr_30
А теперь закроем в браузере все страницы Хабра из блога компании RuVDS:
$ rm tabs/by-title/*RUVDS*
И останется только две:
$ ls tabs/by-title
GitHub_-_osnr_TabFS_____Mount_your_browser_tabs_as_a_filesystem._34
TabFS_10
Если нажать в браузере несколько раз Ctrl-Shift-T, то вкладки откроются снова и на диске появятся новые файлы. Можно сохранить текст всех открытых вкладок в отдельный файл:
cat tabs/by-id/*/text.txt > ~/text-of-all-tabc.txt
И потом обработать его скриптом, который будет, к примеру, искать определенные слова в статьях или считать комментарии. Проект постепенно развивается, при желании можно получить изображения со страницы, а не только текст. Похоже, что даже сам автор этого расширения не очень хорошо представляет все сценарии использования, некоторые примеры с его сайта выглядят несколько натянуто, о чем он сам не стесняется говорить.
На закуску еще несколько расширений попроще. Одно из них чем-то напоминает то, что с глазами, но ищет уже не глаза, а “NSFW глаза”. Точнее — картинки с порно и эротикой. NSFW Filter блюрит “запрещенку” в хлам, чтобы не смущать коллег заглядывающих в твой монитор :) Увы, но посмотреть всем известный сайт не выйдет, потому что, даже на максимально безопасных настройках, расширение пропускает часть картинок. Особенно тяжело расширению дается детектирование групповухи.
Хотя, от случайного захода на порносайт в процессе серфинга, оно спасет.
Раз речь зашла про развлекательные ресурсы, то контролю за развлечениями посвящено другое расширение: History trends. Оно анализирует историю браузера и ведет подробную статистику — куда ты заходил, сколько раз и сколько времени провел на разных сайтах. Расширение поможет собрать статистику своей собственной прокрастинации, или ваших сотрудников, если вы начальник и установите его на компьютеры ваших работников:
Впрочем, не обязательно использовать интернет только для развлечения. У журналистов новостные сайты — это хлеб насущный, где они собирают материал для публикаций. Вот только некоторые порталы требуют подписку для доступа к полным текстам некоторых статей, что может быть довольно разорительно, если приходится делать фактчекинг не на одном-двух сайтах, а на десятках. Помочь в этом позволяет расширение Bypass Paywalls. Оно прикидывается поисковым ботом и “проходит” через заглушки с требованием заплатить. Что логично, расширение удалено из всех официальных браузерных магазинов, потому ставить его придется вручную, качая напрямую с GitHub. Жаль только, что русские сайты в списке практически не представлены, но разработчик поддерживает связь со своими пользователями и можно попросить его добавить новые адреса. Последнее обновление было два месяца назад, так что есть надежда, что проект не заброшен и можно попробовать договориться с программистом.
В завершении подборки, расскажу еще об одном расширении, которое упрощает работу с Internet Archive. Оно называется Wayback Machine и позволяет быстро просмотреть, как выглядел открытый сайт несколько лет назад. Можно посмотреть как прошлые, так и самую первую версию сайта, а еще отправить его “архивироваться”:
Хотите глянуть, как выглядел Хабр сразу после редизайна с новым доменом? Пожалуйста:
Всем удачного серфинга!
Если у вас есть на примете интересные и необычные расширения, мало известные широкой общественности — пишите о них в комментариях!
Paranoich
Самое странное расширение, по слухам, существовало для браузера Chrome и носило название «Nothing». Делало именно то, что и указанно в названии. И не более.
Ныне не существует, но есть «Nothing on the internet». Говорят, что с чуть большим функционалом. Не проверял.
kloppspb
Угу. Проще же в комменте ляпнуть, чем проверить.
Paranoich
Открою вам тайну: не все пользуются Хромом.
Вам виднее.
С Рождеством вас.