Pull to refresh

В Chrome появилось расширение, которое маскирует Netflix под деловую видеоконференцию

Browsers IT-companies Video conferencing


Веб-студия Mschf разработала расширение Netflix Hangouts для Chrome, которое маскирует сериалы этого сервиса под деловую видеоконференцию. Расширение запускает имитацию конференции из четырех собеседников в Google Hangouts. В одном из экранов вместо собеседника транслируется сериал с Netflix.

Netflix Hangouts — не первое расширение для Chrome, разработанное Mschf Internet Studios. В 2017 году они представили миру виртуального питомца Tabagotchi, который контролирует количество открытых в браузере вкладок и умирает, если вы открываете их слишком много. Также Mschf Internet Studios запускала канал в Slack, который предлагал тысячу долларов пользователю, угадавшему слово дня при неограниченном количестве попыток. Канал был закрыт уже через неделю, а портал Inc. назвал его «убийцей производительности работников офиса».
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 14K
Comments 7

Google Chrome Extension Habrahabr.ru-Tools-PATCHED

Google Chrome
Топик для тех, кто пользуется расширением Habrahabr.ru-Tools и хочет, чтобы оно опять заработало. Проблема в том, что автор давно не обновляет свое детище, и недавнее изменение Хабры плохо повлияло на работоспособность расширения.

Расширение включает в себя 3 надстройки:
Набор мини-дополнений для Habrahabr:
— HabraToolbar (от ShilovVladislav)
— HabrTree (от dotneter)
— тултип над ником с кармой/рейтингом.

Мне было удобно пользоваться этим расширением, поэтому я его немного починил. Исходные коды на github.com.

Инструкция по установке:
1. Скачиваем архив с исходниками расширения.
2. Если у вас уже установлено это расширение, см. пункт 4.
3. Устанавливаем расширение с официальной страницы.
4. Распаковываем архив с заменой всех файлов в папку %Documents and Settings%\%user%\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions\ekkngamdmcljjgmhlihjiiapfcdladgh\1.2.7_0.
5.…

Alarm: разыскивается автор расширения для немедленного обновления (расширения)!
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 1.9K
Comments 9

Подсветка синтаксиса и другие плюшки для phpmyadmin

Website development *
Стандартному окну выполнения запросов в phpmyadmin не хватает нескольких фич:
  • подсветки синтаксиса — сразу видно опечатку
  • отправка формы по <ctrl>+<enter>
  • исполнение только выделенного текста, а не всего содержимого окна — жить без этого не могу после того как увидел SQL Developer от Оракла
Можно было бы «вшить» этот функционал в исходники самого phpmyadmin, но не везде есть доступ, да и серверов больше трех. Поэтому, решил оформить в виде плагина для Google Chrome.


Скачать из Chrome Web Store

Читать дальше →
Total votes 40: ↑34 and ↓6 +28
Views 1.1K
Comments 30

Переводим Chrome extension на manifest_version 2

Google Chrome
Владельцам расширений (а также приложений) для Хрома уже пора бы задуматься над поддержкой второй версии манифеста.
Если кто не в курсе, то не так давно были объявлены новые изменения и нововведения в разработку расширений для браузера.
Далее будет выборочный перевод двух страниц и мой способ использования шаблонизатора изнутри песочницы.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Views 22K
Comments 5

Extensionizr — шаблонизатор дополнений для хрома

Website development *JavaScript *Google Chrome
Привет хабравчане!
Увидев мой проект в блоге компании Zfort Group (тут) я решил поделится с вами обзором про проект и его реализацией.

Идея: быстро создать базовый шаблон для дополнений хрома, включая конфиг в manifest.json.
Extensionizr.com построен как веб-приложение, и на выходе генерирует zip архив.
Всё происходит на стороне клиента с помощью Javascript, включая архивацию.


Подробности
Total votes 42: ↑36 and ↓6 +30
Views 10K
Comments 24

Удобное редактирование CSS (Chrome + Save CSS + autoIt)

Website development *CSS *
Recovery mode
Sandbox
Многие знают, что в Chrome Development Tools встроен удобный редактор CSS, отображающий изменения мгновенно. Единственная проблема – отсутствие возможности удобного автоматического сохранения изменений.

Для решения задачи автосохранения существуют три расширения для Chrome: DevTools Autosave, Tincr и Save CSS. Так как работа с файлами на диске у расширений невозможна, все они перехватывают событие изменения CSS, а текст измененного файла (или только фрагмент в случае DevTools autosave) отправляется запросом на localhost, на котором уже серверная программа сохраняет непосредственно в файл.

Вышеперечисленные расширения для сохранения в файл используют скрипты на Python, Node.js или Ruby. Мне же, как PHP программисту не связанному с этими языками хотелось простое One click решение для Windows, без необходимости установки ненужных мне в своей работе серверов.

Поэтому я решил написать простенькую утилиту под Windows, решающую эту задачу.
Читать дальше →
Total votes 29: ↑22 and ↓7 +15
Views 16K
Comments 27

IndexedDB — безлимитное хранение данных

Website development *JavaScript *Google Chrome
Sandbox
Добрый день, уважаемое сообщество.
Для тех, кто не в курсе, что такое IndexedDB и с чем его едят, можно почитать здесь.

А мы идем далее.

Безлимит


В конторе в которой я работаю появилась необходимость использования индексированной локальной базы данных на стороне клиента и выбор сразу пал на IndexedDB.

Но как всегда есть одно «НО», это самое «НО» — ограничение размера БД на машине пользователя в размере 5 МБ, что отнюдь нас не устраивало. Так как данная технология планировалась использоваться в админке нашего проекта и все юзеры использовали в качестве дефолтного браузера Google Chrome, то было принято решение поиска обхода того самого ограничение через расширение-прокси. Перелопатив много инфы мы пришли к выводу, что ограничение на размер БД можно убрать использовав специальные флаги в манифесте нашего расширения:
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 14K
Comments 5

История одного Google Chrome расширения

Website development *JavaScript *Google Chrome
Recovery mode
Tutorial
В один прекрасный день, за пару часов до конца работы, мне приходит задача: «Нужно написать приложение для браузера, которое должно по клику пользователя отправлять данные со страницы на сайт клиента. Что за приложение и какой браузер — полностью на ваш выбор...».

Немного поразмыслив я пришел к варианту google chrome extension:

  • Crome использует Blink движок (до апреля 2013 года использовался WebKit), Blink является форком WebKit (а это Safari), так же не забываем новую Opera'у (хотя я все еще использую старую с bookmarks'ами). Таким образом, написав расширения для chrome, мы с минимальными переделками (а то и без них) сможем его портировать на еще 2 браузера
  • Нет опыта работы с API Google Chrome
  • Google все-таки компания добра :)


Когда мысли немного улеглись, первое что я сделал — это ввел в поиске харба "расширение Google Chrome". Увидев обширный вариант статей по данной теме, я со спокойной душой ушел домой полностью уверенный в том, что завтра с утра прочитав их, к концу рабочего дня дело будет 'в шляпе' (как же я тогда ошибался). Прочитав парочку их них я имел общее представление о том как это работает, но этого оказалось мало для воплащения моих идей. Что ж, приступим…
Читать дальше →
Total votes 40: ↑22 and ↓18 +4
Views 66K
Comments 15

Нужно больше хаоса

Cryptocurrencies
Вы всё еще перебираете вручную странички на directory.io в надежде найти непустые кошельки?

Ничего не нашли? Не отчаивайтесь, теперь у вас есть правильный инструмент.

Встречайте расширение для Google Chrome, которое облегчит ваши поиски.
Total votes 31: ↑28 and ↓3 +25
Views 19K
Comments 16

Изменения в правилах Интернет-магазина Chrome: одно расширение — одна функция

Google Developers corporate blog Website development *Google Chrome
Translation
В правилах Интернет-магазина Chrome произошли изменения: теперь у каждого расширения должно быть одно и только одно понятное предназначение. Несмотря на то, что так подразумевалось изначально, не все расширения соблюдали данное правило. Многофункциональные расширения перегружают интерфейс браузера и замедляют его работу. Новые правила помогут справиться с этой проблемой и позволят лучше контролировать работу с браузером.

Когда мы начали задумываться о создании Chrome, многие браузеры представляли собой медленные и не очень удобные программы. Виной всему были расширения – панели инструментов, которые не только замедляли работу браузера, но и громоздились прямо под адресной строкой. Чем больше полезных расширений вы устанавливали, тем меньше оставалось места для ваших любимых сайтов. Вот как это выглядело:

image
Читать дальше →
Total votes 30: ↑16 and ↓14 +2
Views 16K
Comments 11

Chrome extension за выходные

JavaScript *Programming *Google Chrome
Sandbox
image

Проблема

Как обычно поздней ночью, садясь в автобус, я достал телефон, и пока набирал “habr…” он отрубился. Я вслух подумал: “А раньше не мог сказать?”, немного пожалел, что телефоны редко пищат, пока разряжаются. А потом…

Потом мы с приятелем решили подойти к вопросу по-мужски. Он написал программулину для андроида, а я расширил Хром. О последнем и пойдёт речь.

Задача

Итак, идея: андроид-приложение наблюдает за состоянием аккумулятора и периодически уведомляет сервер об уровне заряда. Причём делает это как-нибудь по-умному, чтобы заряд от этого не пострадал. Хром-расширение выставляет свою иконку в специально отведённом месте, иконка показывает заряд батарейки андроида и всячески привлекает внимание, если она совсем почти разряжена. А чтобы всё не казалось слишком простым, реализовать идею надо было за одни выходные. В противном случае баланс ценность/усилия вываливался за рамки бесплатного приложения.

Таким образом, выбор подхода к задаче оказался даже важнее скорости десятипальцевой печати.
Ну я и взялся за дело
Total votes 96: ↑84 and ↓12 +72
Views 56K
Comments 66

Оглавление для Google Docs и Хабрхабра

Хотридер corporate blog Google Chrome

Проблема


Часто, заходя на хабр, я вижу огромную статью. И в какой-то момент понял, что, как и для обычного документа, мне не хватает оглавления для быстрого перемещения внутри статьи.

Решение для Хабра


Так как мы занимаемся созданием проекта HotReader и у нас уже есть большой опыт работы с расширениями, мы решили создать небольшую утилиту для показа оглавления на Хабре.


Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 11K
Comments 16

О том как забирать обратно музыку и видео с ВК средствами браузера Chrome, используя свое расширение

JavaScript *Google Chrome
Recovery mode
Sandbox
Добрый день уважаемые Хабровчане. Сегодня хочу поделиться с Вами кодами на Javascript для возможности перекачивания музыки и видео с ВК своими ручками на свой персональный компьютер. Ведь нетрудно себе представить, как записал клевый клип и музыку, потом закачал их туда, но на твоем компьютере все это добро куда то пропало… Что же, не беда! Мы выкачаем то, что по праву принадлежит нам обратно. Главное, что нам это наш браузер, да сайт позволяют, осталось — пораскинуть мозгами.

Для начала нам надо распарсить аудиофайлы… Итак, возьмемся за класс «area clear_fix» и будем пихать в массив то, что принадлежит к классу «play_new». Сначала присвоим в массиве стили, чтобы отловить положение элементов на странице (в последующем для отображения кнопочек рядышком). Потом получим ссылки из input и имя будущего файла из тега b. Потом нужно будет присваивать новым ссылочкам, которые мы будем создавать атрибут download.

function audio(){
var main_div=document.getElementsByClassName("area clear_fix");
for(var i=0;i<main_div.length;i++){ 
if(main_div[i].parentNode.firstChild.href){
main_div[i].parentNode.firstChild.style.top=main_div[i].getElementsByClassName('play_new')[0].offsetTop+"px";
continue;
}
var _mp3_=main_div[i].getElementsByTagName("input")[0].value.split(",")[0];
var _b_=main_div[i].getElementsByTagName("b")[0];
var _top_=document.getElementById(main_div[0].parentNode.id.replace('audio','play')).offsetTop+"px";
var _t_=main_div[i].getElementsByClassName('play_new')[0].offsetTop+"px";
 var span=main_div[i].getElementsByTagName('span')[0];
 var ispan=span.innerHTML;
  if(span.children[0]){
   var ispan=span.children[0].innerHTML;
  }
var _a_=document.createElement("a");
//_a_.href=""+_mp3_+"&name="+_b_.children[0].innerHTML+"-"+ispan; 
_a_.href = _mp3_.substring(0, _mp3_.indexOf('.mp3') + 4);
_a_.download=trim(_b_.children[0].innerHTML+"-"+ispan)+".mp3";
_a_.title='Скачать '+_b_.children[0].innerHTML+"-"+ispan;
_a_.draggable="true";
_a_.innerHTML='<span style="cursor:copy;padding:6px;width:16px;height:16px;background-color:#5F7D9D;color:#fff;border-radius:2px;"><img src="http://st0.vk.me/images/icons/darr.gif" /></span>';  
_a_.style.zIndex="10";
_a_.style.left="30px";
_a_.style.top=_t_;
_a_.style.position="absolute";
main_div[i].parentNode.insertBefore(_a_,main_div[i].parentNode.firstChild);
_b_.style.paddingLeft="27px";  
}
}



Тут как бы понятно должно быть, все… ну а чтобы отрезать всякий мусор после расширения файла мы применили:
_a_.href = _mp3_.substring(0, _mp3_.indexOf('.mp3') + 4);

В общем уже можно это запустить таким образом через интервал, конечно же если мы находимся на том самом сайте:

setInterval(function(){
  if(window.location.href.indexOf('vk.com')>1) {
    if(document.getElementsByClassName("area clear_fix").length!=0){
        audio();
        }	
  }		
},1000);



Хорошо. Одна функция готова. Пора поведать и о том как скачать видеофайлы…
Читать дальше →
Total votes 11: ↑2 and ↓9 -7
Views 2.2K
Comments 5

Интеграция Transmission в Chromium

Browser extensions
Sandbox
imageЗдравствуйте. Сегодня хочу вам представить расширение, которое умеет интегрировать популярную торрент качалку Transmission в браузер на основе Chromium.

Изначально это был порт подобного расширения для uTorrent. Но процесс портирования api оказался настолько прост, что первая бета была сделана уже через 8 часов.

Когда я задумался над тем нужно или нет адаптировать расширение под Transmission, я просмотрел хром стор и к своему удивлению не нашел там чего-либо подобного.
Ну и кто-то же должен был это сделать.
Читать дальше →
Total votes 70: ↑69 and ↓1 +68
Views 26K
Comments 53

Расширение к Google Chrome способное улучшить качество поиска

Likeastore corporate blog Search engines *Browser extensions
Почти 4 месяца назад, я сделал свой первый пост на Хабре, о том, как сделать социальные лайки полезными для программиста. Уже много воды утекло, пользовательская база перешагнула 10.000 аккаунтов, но поиск, как одна из основных функции приложения, оставался маловостребованным.

И на это было несколько причин — техническая и не-техническая. Техническая проблема состояла в том, что поиск (основанный на MongoDB full text search) был довольно медленным и не давал высокой точности (особенно по русскому языку). Но больше влияла не-техническая составляющая, а именно проблема UX.
Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Views 11K
Comments 8

Что делать, если 2gis.ru — дополнительный шаг в выборе компании?

2ГИС corporate blog Website development *
Задача 2ГИС — сделать выбор фирм в городах быстрым, удобным и приятным. Но, надо признать, мы не способны решить 100% жизненных ситуаций. Зато способны немного помочь в их решении. Как? С помощью расширения для браузеров.

Читать дальше →
Total votes 63: ↑56 and ↓7 +49
Views 19K
Comments 21

Аудио-ботанам: Скробблинг (Last.fm) проигрываемой в SoundCloud музыки из расширения Google Chrome

Browser extensions
В последнее время привычный формат прослушивания музыки на десктопе для меня трансформировался. Теперь я всё реже слушаю MP3 из foobar2000, и всё чаще ленту SoundCloud'а. При этом столь давно любимые персональные чарты и рекомендации от Last.fm в связи с этим становились всё менее и менее актуальными. Так мне пришла идея сделать скробблер SoundCloud'а для Google Chrome…

Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 15K
Comments 7

Search Preview — расширение для Chrome

Google Chrome Browser extensions

О расширении


Данное расширение предоставляет возможность просматривать сайт результата поиска в Google, что значительно сокращает время на поиск и обработку информации.

image

Предыстория


После того как Google закрыла проект Instant Preview, поиск нужной информации стал занимать гораздо больше времени, открытых вкладок и нервов.
После чего я решил исправить данную ситуацию и написать небольшое расширение облегчающее мне жизнь.
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 16K
Comments 21

Много анонимности не бывает — скрываем User-Agent

Google Chrome Browser extensions
Очередной приступ паранойи был вполне обоснован — он наступил после прочтения статьи о методах анонимности в сети, где автор на примере браузера FireFox рассказывал о потенциальных утечках идентификационной информации. И стало интересно — а на сколько озвученные решения применимы, скажем, к браузеру Google Chrome?
Скрыть реальный IP — используем разные VPN сервера, отключить львиную долю отслеживающих скриптов — Adblock Plus и Ghostery, убрать Referer — не вопрос, что то ещё забыли… Ах да — User-Agent — своеобразный «отпечаток», по которому (в связке, скажем, с IP) легко идентифицировать пользователя. И с этим надо было что-то делать. Найденные решения лишь статично изменяли значение User-Agent, чего было явно недостаточно. Тогда и было решено написать плагин для скрытия реального User-Agent'a, а если быть точнее — подменять его на рандомный. Или почти рандомный.

Для нетерпеливых сразу: исходники на GitHub и расширение в Google Webstore.

Читать дальше →
Total votes 44: ↑35 and ↓9 +26
Views 120K
Comments 39

Пишем Chrome расширение на CoffeeScript — подсчет баллов на Coursera

JavaScript *Browser extensions CoffeeScript *
Recovery mode
Sandbox
Знаете, я очень люблю сервис Coursera. Там много отличных курсов, удобно осваивать материал, и, конечно же, общение с “одноклассниками”. Но, поскольку у сервиса до сих пор статус «стартапа», можно понять и простить некоторые недоработки. Например, в процессе прохождения курса, не всегда получаешь оценки «отлично», и приходится сверяться, проходишь ли ты по своему проценту успеваемости на получение сертификата, или нужно поднажать, и оставшиеся задания выполнить качественно и вовремя.

К сожалению, разработчики ресурса не сделали (пока) единого места, в котором просуммированы все баллы, полученные студентом. Ежедневно тысячи студентов вручную считают свои балы, вычисляют свой процент, а это многие человекочасы, портаченные зря. Столкнувшись с этой проблемой не в первый раз, я и решил написать расширение для Google Chrome, являющегося моим основным браузером. А поскольку в основном пишу на стеке RoR, решил писать свое приложение на более привычном мне CoffeeScript, с последующей трансляцией в JavaScript. Об особенностях написания этого расширения и будет моя статья.

Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Views 5.8K
Comments 4
1