Набег на Исландию

Date October 30th, 2014 Author Vitaly Agapov

Tags:
Категория: Beyond IT | Нет комментариев »


Проксирование RTMP-потока через Nginx

Date July 2nd, 2014 Author Vitaly Agapov

— Ничего себе! Вашу маму и там, и тут передают. До чего техника дошла!
— Это не техника дошла, а я сама сюда дошла, на лыжах.

«Зима в Простоквашино»

rtmp-proxyЕщё одна коротенькая заметка про Nginx. На этот раз про то, как спроксировать RTMP-стриминг. Обсуждение того, зачем это может понадобиться, оставим на… никогда. Ну, например, для того, чтобы спрятать реальный источник потока.

Никаких велосипедов изобретать не надо, тем более, что существует модуль для Nginx https://github.com/arut/nginx-rtmp-module, написанный Романом Арутюняном, который поможет нам сделать то, что мы хотим, и даже намного-намного больше.

Читать далее »

Tags:
Категория: Nginx | Нет комментариев »


Сборка Nginx в DEB-пакет

Date April 8th, 2014 Author Vitaly Agapov

И тут на Ёжика, шурша и осыпаясь, обрушилась тишина.

Сергей Козлов «Ёжик в тумане»

nginx deb package

Нижеследующий текст не претендует на полноту, объективность и, может быть, даже на полезность. Это просто очередной кусок скомканных заметок, которые я для себя оставляю в Evernote, а потом изредка достаю оттуда, разбавляю бестолковыми комментариями и переношу в бложик в беспочвенной надежде, что кому-нибудь пригодится. В данном случае это будет статья по сборке Nginx из исходников в Debian-пакет для размещения его на своём локальном репозитории. Этот навык полезен в том случае, когда Nginx работает на нескольких машинах и хочется удобно обновлять его сразу везде.

Впрочем, и не обязательно иметь несколько машин. Даже если речь идёт об одном сервере, хорошим тоном будет устанавливать программы через менеджер пакетов. В будущем эта привычка сможет оградить от многих проблем и добавить удобства упраления файлами. В Debian/Ubuntu от make && make install стоит отказаться ради душевного спокойствия и очистки кармы.

Так-то в большинстве случаев можно просто ставить Nginx из официальных репозиториев (или даже с LaunchPad'а, где всегда можно найти распоследнюю версию), но Nginx не умеет подключать внешние модули. Хочешь нестандартный модуль – компилируй. Этим и займёмся.

 

Читать далее »

Tags: ,
Категория: Linux, Nginx | Нет комментариев »


SS-кунфу

Date April 3rd, 2014 Author Vitaly Agapov

– Вы откроете ворота?
– Откроем, когда вы уедете.

Дж. Р. Р. Мартин «Танец с драконами»

ss-kungfu

Нет, речь пойдёт не о Schutzstaffel, как можно было подумать, посмотрев на картинку и название поста, а о консольной утилите GNU ss для получения статистики по сетевым (TCP, UDP, DCCP) и unix-сокетам. В общем то, ss и расшифровывается как "socket statistics". Входит она в пакет iproute, то есть присутствует в принципе во всех Linux-дистрибутивах, но несмотря на это не пользуется большой популярностью – подавляющее большинство использует более известную утилиту netstat.

Надо добиться небольшой кармической справедливости и заняться популяризацией ss (как бы двусмысленно это всё-таки ни звучало).

Итак, что мы можем получить.

Читать далее »

Tags: ,
Категория: Linux | Нет комментариев »


Perl: как отдать Excel-файл из CGI-сценария

Date March 21st, 2014 Author Vitaly Agapov

Our purpose for living is to find that perfection and show it forth. // Смысл жизни в том, чтобы достигнуть совершенства и рассказать об этом другим.

Ричард Бах «Чайка по имени Джонатан Ливингстон»

perl-camel-xls

Новая микрозаметка из мира Perl, растерявшего в последнее время былую популярность, но не мой интерес и нежные чувства. На этот раз о том, как сгенерировать XLS-файл по запросу в CGI-сценарий о отдать его пользователю в виде аттачмента.

Сам процесс создания файла ложится на плечи модуля Spreadsheet::WriteExcel, о котором всю подробную документацию можно прочитать на CPAN.

Вот, собственно, сам сниппет с комментариями.

Читать далее »

Tags:
Категория: Perl | Нет комментариев »


Обновление драйвера RAID-контроллера LSI в VMware ESXi

Date March 6th, 2014 Author Vitaly Agapov

– Зайцы не состариваются, – сказал Заяц. – Зайцы умирают молодыми.
– Это почему же?
– Мы бежим, понимаешь? А движение – это жизнь.

Сергей Козлов «Ёжик в тумане»

yozhik

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

Во-первых, нужно определиться с устройством, драйвер для которого мы хотим поставить. Конечно, в нормальной ситуации мы будем знать, что стоит карточка такая-то (у меня LSI 9211-8i в режиме iR) и что она использует драйвер mpt2sas, но лучше убедиться. Во-вторых, нужно найти и скачать этот драйвер.

Читать далее »

Tags:
Категория: Linux | 1 Комментарий »


Операция “Квадрокоптер”. День четвёртый. Логи ArduPilot.

Date March 3rd, 2014 Author Vitaly Agapov

«Если я не буду протирать звезды каждый вечер, – думал он, – они обязательно потускнеют».

Сергей Козлов «Ёжик в тумане»

log-logoArduPilot во время полётов пишет на внутреннюю память логи. Точнее, он сбрасывает текущее состояние разных метрик и фиксируемые события. Просматривать эти логи после полётов – это полезная фича, особенно для разбора всевозможных проблем и нештатных ситуаций.

 

 

Читать далее »

Tags:
Категория: Beyond IT, R/C | 4 Комментариев »


Валидация XML файлов в Atlassian Stash

Date February 4th, 2014 Author Vitaly Agapov

Из тумана, как из форточки, выглянул Филин, ухнул: "Угу! У-гу-гу-гу!…" и растворился в тумане. "Псих", — подумал Ёжик, поднял сухую палку и, ощупывая ею туман, двинулся вперед.

Сергей Козлов «Ёжик в тумане»

good_codeЯ уже касался как-то темы написания хука для репозитория в Atlassian Stash. На этот раз появилась необходимость проверять валидность синтаксиса XML-файлов, которые коммитят в репозиторий. То есть задача состоит в том, чтобы в каждый момент времени обеспечить в репозитории набор валидных XML-файлов. Сама задача разбивается на две логические подзадачи: 1. получить содержимое изменённых файлов; 2. Произвести непосредственно проверку синтаксиса.

Читать далее »

Tags: ,
Категория: Java | Нет комментариев »


Три способа по-быстрому поднять forward proxy

Date January 24th, 2014 Author Vitaly Agapov

У них, милсдарь ведьмак, такой принцип: если цель привлекает, средство должно найтись.

Анджей Сапковский «Владычица озера»

3ways

Forward proxy – это (обычно) анонимный прокси, к которому клиент обращается и сообщает адрес хоста, к которому он хочет подключиться.

При обращении на такой прокси браузер особым образом формирует запросы. В случае обычного HTTP протокола он просто добавляет обязательный заголовок Host:, а сам URL в запросе формирует в абсолютном виде. В этом случае принципиальной разницы с reverse proxy нет. Но при обращении на HTTPS или любой нестандартный порт происходит установление сквозного туннеля  с целевым сервером с помощью метода CONNECT, отправляемого на прокси. Прокси при этом использует заголовки этого запроса для установления соединения, но не может ни ловить сессионные SSL-ключи, ни тем более смотреть проходящий трафик.

Работать в режиме forward proxy могут многие серверы, но не все. Тот же Nginx, например, хоть и считается одним из лучших reverse proxy, категорически не работает как forward и вообще не умеет обрабатывать метод CONNECT. Поэтому я по-быстрому рассмотрю Apache TrafficServer, Apache/mod_proxy и Squid. Плюс задача будет усложнена условием, чтобы прокси-сервер пропускал только трафик, идущий на определённый домен и его суб-домены, и не все серверы с этим справятся (по крайней мере "по-быстрому").

Читать далее »

Tags: ,
Категория: Linux | Нет комментариев »


Операция “Квадрокоптер”. День третий. Настройка

Date January 19th, 2014 Author Vitaly Agapov

— Я еще и король, короля все должны слушаться. Я хочу, чтобы завтра оседлали моего белого скакуна и чтобы сир Лорас поучил меня атаке с копьем. Еще хочу котенка и не хочу есть свеклу.

Джордж Мартин «Пир стервятников»

quadcopter-day3Квадрокоптер собран и почти готов к полёту, нужно только выполнить несколько подготовительных действий, про которые тут и пойдёт речь. Паяльник, мультиметр и прочие полезные штуки могут отправляться обратно на антресоль. А понадобится лишь компьютер (к сожалению с Windows на борту) и провод с microUSB для подключения полётной платы к этому компьютеру.

 

Читать далее »

Tags: ,
Категория: R/C | 6 Комментариев »