Search
Write a publication
Pull to refresh
22
0
Александр Ф. Михайлов @chelaxe

User

Send message

Пишем расширение для Chrome «загрузка аудиозаписей с Вконтакте», часть 2

Reading time6 min
Views17K
Продолжим писать наше расширение для Chrome, которое добавляет ссылку «Скачать» для каждой аудиозаписи вконтакте.
В прошлый раз мы изменяли наш раздел Мои Аудиозаписи так.
Было изначально: Стало с расширением:
Оригинал Результат


Но, в тот раз, у нашего расширения был существенный недостаток: оно не работало при переходе со страницы на страницу.
Если зайти на главную страницу, потом перейти в Мои Аудиозаписи, то ссылки у песен не появлялись.
Напомню, вконтакте при переходе со страницы на страницу не обновляет страницу в классическом понимании, а программно изменяет разметку страницы, и обновляет адресную строку. Это не является классическим браузерным переходом на новую страницу, и поэтому наше расширение не обновлялось.
Давайте это исправим.

Как и прежде, наше расширение будет состоять из трех файлов — файла описания (manifest.json), внедряемого js скрипта (vk_inject.js), и внедряемого файла стилей (vk_styles.css).
Читать дальше →

Реанимация роутера TP-LINK 3020

Reading time3 min
Views61K
Доброго времени суток всем.

Решил поделиться своим опытом реанимации Wi-Fi роутера TP-LINK 3020.

Началось все с того, что от вынужденного безделья решил я поиграться с прошивками CyberWRT. И это плохо кончилось. Я даже сам не совсем понял, что произошло. Скорее всего дело было в том, что с роутером я работал через WiFi, который раздавался точно таким же роутером с заводской прошивкой и дефолтными настройками. Видимо в какой-то момент произошел сброс настроек испытуемого, соответственно конфликт IP адресов, и получил я красивый кирпич, моргающий всеми светодиодами в циклическом ребуте.

Не надо так делать.

Читать дальше →

Новый adware встраивается непосредственно в браузер

Reading time3 min
Views89K

Появился новый вид adware, который встраивается в сам браузер.


Очередной компьютер с жалобой на рекламу в браузере — как обычно по словам пользователя ничего не запускалось, но факт налицо — реклама вылазит почти на каждом сайте из всех щелей и подменяются поисковые запросы. Обычно большинство подобных проблем решаются сразу же за пять минут с помощью AntiSMS, затем проверяется журнал работы программы и при необходимости подчищаются хвосты вроде сторонних расширений в браузерах, но не в этом случае. Сходу не помогло ничего из обычных средств, даже антивирусы не видели в системе никаких проблем, а потому стало интересно — откуда же берётся реклама?
Читать дальше →

Web Bundle — дело RarJPEG живет

Reading time2 min
Views20K
На днях состоялся первый релиз набора инструментов для упаковки различных веб-ресурсов в один файл — Web Bundle. Принцип его работы точно такой же, как для ресурсов, включаемых в EXE файлы — произвольные файлы упаковываются в один файл-контейнер, а на клиентской стороне доступ к ним организуется по имени файла с помощью API. Только в данном случае в качестве контейнера используется изображение в формате PNG. Клиентская часть представляет из себя небольшую JS-библиотечку, позволяющую загружать, декодировать и извлекать отдельные файлы из таких ресурсов.
Читать дальше →

Основные ловушки при использовании кэша в HTML5-приложениях

Reading time5 min
Views19K
Кэш приложений, также известный как AppCache, на сегодняшний день является одной из самых острых тем для веб-разработчиков. AppCache позволяет дать возможность посетителям вашего сайта загружать сайт, когда они офлайн. Вы даже можете сохранять части вашего сайта, такие как изображения, таблицы стилей или веб-шрифты в кэше на компьютере пользователя. Это может помочь быстрее загружать ваш сайт, тем самым снижая нагрузку на ваш сервер.

Чтобы использовать AppCache, создается файл описания с расширением «appcache», например, manifest.appcache. В этом файле можно перечислить все файлы, которые должны кэшироваться. Чтобы включить эту функцию на вашем сайте, необходимо включить ссылку на этот файл описания на вашей веб-странице в html-элемент следующим образом:
Читать дальше →

Пример простейшего cgi сервера

Reading time7 min
Views43K
Думаю многие знают, как работает CGI взаимодействие между клиентом и сервером: клиент получает от сервера и отдает серверу данные через стандартные stdin и stdout. Многие наверное даже сами писали CGI клиентов, ведь по сути — любой скрипт для веб-сервера это и есть CGI-клиент.
А многие ли задавались вопросом, как именно происходит эта «магия»? Каким образом стандартные функции для ввода/вывода вместо экрана взаимодействуют с сервером?

Результаты поиска ответа в сети меня не удовлетворили и я решил сам написать простейший CGI сервер, который сможет:
  • Запускать дочерний процес — CGI скрипт
  • Передавать скрипту переменные окружения и переменные командной строки
  • Принимать от скрипта ответ
  • Завершаться, когда завершится процесс клиента

Кроме этого, мне хотелось, чтобы клиент и сервер компилировались как в Windows, так и в Linux.
Подробности

Let's Lab. IS-IS routing protocol. Часть 3

Reading time2 min
Views13K
Привет, Хабр!

Вы когда-нибудь пробовали стрелять из лука? Наверное, не самое популярное занятие. А как насчёт коньков и роликов? Сотни раз я видел, как люди, экипированные всевозможными защитными приспособлениями на всех частях тела, подвергаясь всемирному закону тяготения, наносят себе травмы. Тогда как опытные спортсмены месяцами катаются без единого падения.

Всему виной — отсутствие практики. Проведите за книжками хоть целый месяц, и, вероятно, вы добьётесь меньшего, чем за 2 недели с лабой на изучаемую тематику.

IS-IS легко можно назвать странным протоколом. Но такой он только в теории. На практике мы встречаемся с теми же проблемами, что караулили нас во время использования других IGP-протоколов. Основная его цель – распространение маршрутной информации и принятие решений по её добавлению в таблицу маршрутизации.

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

Смотрите в этой части:

— Базовая настройка IS-IS на Cisco IOS и IOS-XR;
— Установление соседства между маршрутизаторами;
— Дебаг и разбор дампа трафика при обнаружении соседа;
— Метрика протокола и его настройка;
— Hello и Hold таймеры и их причуды;
— Hello-padding;
— Линки с множественным доступом и DIS;
— Обмен между L1 и L2 базами. Значение ATT bit;
— Анонс префиксов из BGP в IS-IS;
— External маршруты и их метрика;
— Как избежать петель при импорте из L2 в L1;
— Ассиметричная маршрутизация и Suboptimal routing;
— Будь крутым, настрой роль каждого линка правильно.



Под катом нет текстовой статьи. Только ссылки на литературу и источники.
Читать дальше →

Защита от прослушивания разговоров — строим безопасную SIP телефонию своими руками

Reading time7 min
Views77K
image
Привет, Хабр!
В этот раз хочу рассказать о технологиях шифрования VoIP звонков, о том какую защиту дают разные подходы и как организовать наиболее защищенную от прослушивания голосовую связь с технологическими гарантиями безопасности.
В статье я постараюсь доступно изложить особенности таких технологий как SIP\TLS, SRTP и ZRTP. И продемонстрирую конкретные схемы использования на примере нашего сервиса ppbbxx.com

Читать дальше →

IPv6 — это весело, часть 2

Reading time14 min
Views166K
Введение: Добрый день или вечер, или даже ночь дорогие хабравчане. В данной статье продолжим изучать особенности протокола IPv6 и его отличия от IPv4. В данной статье будет минимальное количество теории и максимальное количество настройки. Начнем с настройки DHCPV6 и рассмотрим особенности работы этого протокола на основе протокола IPv6, также посмотрим на то, как настраиваются протокола динамической маршрутизации на основе IPv6. Оборудования для настройки выберем Cisco (в третей части Juniper).

IPV6 — это весело. Часть 1
Читать дальше →

Коллизия хэш-функции MAC-адреса

Reading time4 min
Views66K
Доброго времени суток, коллеги.

Как говорит народная мудрость, век живи — век учись.
Довелось недавно столкнуться вживую с явлением, описанным в заголовке, о чем и пойдет речь ниже.

Читать дальше →

Про MAC-таблицы в коммутаторах

Reading time8 min
Views164K
Привет, Хабр!
Случается так, что иногда хочется отойти от скупой теории и перейти к практике. Сейчас как раз такой случай. Желание возникло на фоне воспоминаний того, как мы делали коммутатор. Он — вещь довольно простая, делов-то — пересылай пакеты с порта на порт, да статистику веди. Все оказалось немного сложнее.


Читать дальше →

Как зайти на Linux-сервер на сером IP из Android-системы c мобильным интернетом, используя ipv6

Reading time3 min
Views26K
Начну с того, что в сети подобного материала для новичков не нашёл. В этой публикации хочу просто описать некоторый приобретённый мной опыт, впрочем, эта инструкция вполне рабочая и я ею сейчас пользуюсь.



В связи с переездом в новый дом был получен и новый провайдер, выдающий только серый IP. Благо NAT его не симметричный. В моём скромном домашнем сервере на основе Raspberry pi установлена Debian-подобная система. Я создал себе простые бытовые радости: торренто-качалка и небольшое файловое облако, чтобы бросать туда по FTP накопившиеся фото. И абсолютно естественно то, что администрировать и отправлять фото было удобно непосредственно со смартфона на Android. Но серый IP лишил меня всего этого, а покупать реальный — статичный или хотя бы динамический желания не было. Что ж, пришлось начать поиск решения проблемы. Очень быстро я наткнулся на выход — ipv6.

Чтобы не описывать долго алгоритм моих действий и поисков, расскажу коротко, что именно было сделано.
Читать дальше →

Пишем расширение для Chrome «загрузка аудиозаписей с Вконтакте»

Reading time5 min
Views17K
В магазине расширений chrome наверняка уже есть загрузчики песен с вконтакте, но мы попробуем написать свой.
Наше расширение будет добавлять ссылку в каждую из песен раздела Мои Аудиозаписи, которая будет скачивать песню.

Выглядеть должно примерно так:
Изначально: Попробуем сделать так:

Давайте начнем.
Вообще, писать расширения не так уж и сложно. Расширение — это всего лишь это файл-описание + html/js/css контент. Наше будет состоять из трех файлов — файла описания (manifest.json), внедряемого js скрипта (vk_inject.js), и внедряемого файла стилей vk_styles.css).
Читать дальше →

Снифаем выходную ноду Tor’а и анализируем получившийся контент

Reading time12 min
Views95K


Концепция «сеть поверх сети» появилась далеко не вчера. Еще в середине прошлого десятилетия «Хакер» писал о луковой и чесночной маршрутизации в лице Tor и I2P и даже публиковал обзоры соответствующего софта в рубрике «Шароwarez», но настоящий интерес к ним в обществе появился на волне известных инфоповодов и громких разоблачений последнего времени. Что же представляют собой даркнеты? Кто там живет? Чем они интересуются, чем дышат, что покупают и что продают? Попробуем разобраться с этим по-хакерски: с помощью снифера и прямого погружения.
Читать дальше →

Еще один вариант динамического DNS на своей площадке или как я отказался от dyndns

Reading time4 min
Views33K
Уже давно использовал сервис от компании dyndns, который позволял привязать доменное имя к динамическому ip-адресу компьютера. Удобно администрировать клиента, удобно клиенту из дома подключиться к рабочему компьютеру. Но с некоторых пор сервис начал затягивать гайки.

Сначала можно было пользоваться одним доменным именем на учетной записи бесплатно. Позже доменное имя начало сбрасываться каждый месяц — это периодически требовало усилий по восстановлению работы. Другие бесплатные сервисы не приглянулись и в какой-то момент я подписался на их платную услугу за $25 в год, что дало мне возможность использовать до 30 доменных имен.

Было неудобство — клиентская программа под Windows визуализирует все доменные имена моей учетки при настройке и любой клиент случайно или умышленно может повредить привязку чужого доменного имени. В общем, гнетет, но терпимо. На прошлой неделе пришла пора продлевать на год подписку. Цена выросла до $30, да и рубль упал к этому моменту до 60 руб за доллар. Жалко мне стало рублей и я таки решил дожать динамический DNS на своей площадке.
Читать дальше →

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time5 min
Views208K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →

IPV6 — это весело. Часть 1

Reading time13 min
Views298K
Возникла у меня идея познакомить публику Хабра с IPv6 и настройкой протоколов на основе этого замечательного и еще плохо изученного сетевыми специалистами протокола. Для этих целей я остановлюсь на двух основных вендорах, это Juniper и Cisco. Моя статья будет состоять из трех частей. В первой части я соберу всю самую скучную, но очень нужную теорию. Рассмотрим поля протокола ipv6, принципы работы, разбиение на подсети и поставлю себе задачу, как можно больше акцентировать внимание на отличии его от любимого IPv4.

Ну что же, начнем, и начнем мы с плана.

План


• Заголовок IPv6 в сравнении с IPv4
• Представление IPv6-адресов
• Типы совместного использование протоколов IPv4 и IPv6
• Типы адресов
• Разбиение на подсети
Читать дальше →

Разбираемся с загрузкой ArchLinux по сети

Reading time11 min
Views41K
В предыдущей статье мы подготовили базовую систему. Закончим настройку в следующей статье.

Здесь мы создадим новую систему Arch Linux, способную загружаться по сети и автоматически запускать браузер Firefox, а между делом разберёмся с необходимой функциональностью загрузочного сервера. Потом настроим сам сервер и попробуем с него загрузиться. Всё произойдёт в точности, как на картинке, которую нашёл гугл по запросу «PXE»:


Читать дальше →

Как отобразить количество оповещений в названии вкладки браузера

Reading time3 min
Views33K


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

Существует пара наиболее распространенных способов оповещения пользователя. С одной стороны, социальные сети Facebook, Twitter и LinkedIn указывают определенное число, которое соответствует количеству обновлений. С другой стороны, Trello отображает небольшой красный кружок поверх favicon.

Trello Facebook and Twitter notifications
Оповещения Trello, Facebook и Twitter

В этом уроке мы воссоздадим подобные оповещения. Посмотрите демо (англ.), чтобы понять, чем мы будем заниматься.

Посмотреть на GitHub
Демо (рус.)
Читать дальше →

Information

Rating
Does not participate
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity