Search
Write a publication
Pull to refresh
55
0
Andrey Sorokin @shadowalone

Пользователь

Send message

SIPML5 — SIP клиент для браузера на базе WebRTC

Reading time2 min
Views43K
Свершилось!

WebRTC (Web Real Time Communication) — это расширение HTML5 для передачи голоса и видео напрямую из браузера, через «нативные» средства.

Официальный сайт проекта — http://www.webrtc.org (тестирование на Chrome)

И вот сегодня, молодая телекоммуникационная компания Doubango Telecom объявила о выпуске свободного клиента для общения по протоколу SIP, написанного на JavaScript / HTML5, — sipML5, исходный код которого распространяется на условиях лицензии GNU GPLv3 и доступен на code.google.com/p/sipml5

Поддерживаемые возможности:

* Аудио / Видео звонок
* Обмен мгновенными сообщениями
* Присутствие
* Удержание звонка / Возобновление
* Передача вызова
* Поддержка нескольких линий и multi-account
* поддержка DTMF используя SIP INFO

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

Взломать Wi-Fi за 10 часов

Reading time12 min
Views1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


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

Сеть на DHCP Option82 – это просто

Reading time7 min
Views119K
В данной статье речь пойдет о построении сети с использованием технологии подключения пользователей, известной как IPoE с использованием динамической выдачи адресов по протоколу DHCP с использованием опции 82.

Итак нашей задачей является построить сеть в которой от пользователя требуется минимум действий для авторизации и работы в сети. Можно даже назвать это как: «воткнул кабель в компьютер, и заработало».

В качестве биллинговой системы мы будем использовать бесплатную (до 200 абонентов) сертифицированную АСР Felix2. В качестве DHCP сервера будем использовать ISC DHCP сервер.

Общая схема работы




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

Мой первый Android-проект, мой первый Android-заказчик

Reading time4 min
Views2.6K


Рассказ о том, как Хабр помог мне решиться написать первое приложение на android и помог найти «заказчика». Проект уже реализован и я решился написать о том, как это получилось.

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

Простой сканер внедрения кода на PHP

Reading time4 min
Views7.9K
Современные хакеры редко “дефейсят” взломанные сайты, как правило, внедряют сторонний код в скрипты для осуществления дальнейших зловредных действий.

Как часто вы тратили часы, выискивая код, внедрённый в ваши скрипты, после атаки?

Некоторое время назад меня привлекли к администрированию десяти сайтов, расположенных на одном виртуальном хостинге. Сайты крутились на “полуразложившихся” движках, написанных в 2000-2003 годах. Сайты постоянно падали под натиском “скрипт-кидди” и изобиловали внедрёнными “зловредами”. Мои задачи были тривиальны: поддержать работу сайтов, перенести на новые движки или залатать дыры в старых движках.

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

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

Почта. Основы настройки в Linux

Reading time6 min
Views29K
Когда начинающие системные администраторы сталкиваются с необходимостью настройки почтового сервера, они могут испытывать затруднения связанные с пониманием основных принципов работы почтового механизма. Чтобы внести ясность, я подготовил эту статью, основанную на освещении тех моментов, которые были мне в свое время непонятны. Статья подойдет также разработчикам ПО, которым надо быстро поднять почтовый сервер и протестировать свое приложение.
Читать дальше →

Консоль для маководов: Beyond the GUI

Reading time6 min
Views221K
Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление


Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Поехали!

Борьба с WordPress-червём GetMama

Reading time2 min
Views2.3K
Привет!
Подлый вирус GetMama пожрал кучу сайтов на вордпрессе. В том числе несколько моих. И я вам расскажу, как это почистивать сущность в виде гномика.

Началось с того, что некоторые сайты начали открываться очень долго. Причём только те, что на вордпрессе.
Я долго не мог понять, что же за беда приключилась. Обновил полностью всё ПО на сервере (думал, можнт wp какую-нибудь хитрую срань использует). Но это не помогло.
Тогда я стал искать, какая же функция выполняется так, сука, долго.
Для этого я использовал xhprof.
Читать дальше →

Пишем свой API для сайта с использованием Apache, PHP и MySQL

Reading time9 min
Views163K

С чего все началось



Разрабатывая проект, я столкнулся с необходимостью организации клиент-серверного взаимодействия приложений на платформах iOS и Android с моим сайтом на котором хранилась вся информация — собственно БД на mysql, картинки, файлы и другой контент.
Задачи которые нужно было решать — достаточно простые:
регистрация/авторизация пользователя;
отправка/получение неких данных (например список товаров).

И тут-то мне захотелось написать свой API для взаимодействия с серверной стороной — большей своей частью для практического интереса.

Входные данные



В своем распоряжении я имел:
Сервер — Apache, PHP 5.0, MySQL 5.0
Клиент — Android, iOS устройства, любой браузер

Я решил, что для запросов к серверу и ответов от него буду использовать JSON формат данных — за его простоту и нативную поддержку в PHP и Android. Здесь меня огорчила iOS — у нее нет нативной поддержки JSON (тут пришлось использовать стороннюю разработку).
Читать дальше →

Краткая инструкция iPhone / iPad для чайников

Reading time12 min
Views477K
Итак, о чем и для кого эта статья? Дабы не быть забросанным дискетами, видеокассетами и прочими отходами жизнедеятельности — хочу сразу внести ясность: эта статья не столько для читателей Хабра, сколько для их близких.

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

Конечно, пользоваться ай-гаджетом можно и без инструктажа, но что-то полезное можно при этом упустить.

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

Хоть и хотел я покороче, но нюансов много — так что текст все равно получился объемным… Да, и информация сгруппирована тематически, а не по сложности. Так чо не бросайте на середине :) Чтобы было не очень скучно, буду по возможности развлекать вас картинками.

Итак, поехали!
Читать дальше →

Прокачиваем PPTP-сервер или чем заменить Poptop

Reading time3 min
Views23K


Введение


На сервере доступа в качестве pptp-сервера стоял проверенный Poptop последней стабильной версии (1.3.4). И все бы ничего, да вот только после повышения скоростей на тарифах производительность cервера начала проседать под увеличившейся нагрузкой. Причем очень значительно, так как этот pptp-сервер работает в режиме пользователя, а не ядра. Постоянные копирования пакетов и непосредственно с этим связанные операции переключения контекста, на выполнение которой также расходуются вычислительные ресурсы, вызвали серьезную деградацию производительности сервера при увеличившемся объеме передаваемого трафика. Необходимо было действовать.
Читать дальше →

nginx, ещё раз про кэширование

Reading time3 min
Views14K
Иногда скорость роста проекта несколько выше чем скорость оптимизации веб-приложения или приобретение более мощного оборудования под backend.

Наиболее простая схема «распараллеливания» нагрузки — вынос основной нагрузки на несколько frontend. Раньше приходилось мучиться (или наслаждаться, кому как) с webdav'ами, кластерными ФС и прочими хитростями чтобы обеспечить актуальную информацию, так было до тех пор, пока не появился nginx, а точнее proxy_store и proxy_cache в нём.

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

Один конфиг Nginx для работы с кучей разных сайтов

Reading time3 min
Views107K
Если вам приходилось настраивать Nginx под нужды веб-студии, сеошников или киберсквоттеров ;), то уже наверняка знаете про символ подчёркивания в качестве server_name. Тем не менее несколько других небесполезных приёмчиков из моего примера почерпнуть можно.

Чтоб создать новый сайт на сервере с такой конфигурацией, достаточно создать директорию с именем сайта и залить в неё содержимое. А конфигурационный файл остаётся единственным и неизменным.

Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.

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

Nginx как Reverse Proxy для сайта, использующего SSL

Reading time3 min
Views131K

Введение


Как настроить nginx в качестве frontend к apache и зачем это нужно — написано неоднократно, в том числе и на Хабре. Мой случай немного отличается от классического. Начиналось все как обычно, проект на apache, увеличение количества посетителей и, связанная с ним, недостаточность ресурсов сервера. Но проект использовал SSL для защиты обмена данными с клиентами. С чем я столкнулся и как решил проблемы я расскажу под катом.
Читать дальше →

Ещё один из способов failover-а серверов: ip sla и enhanced object tracking

Reading time4 min
Views5.7K
image Иногда, а скорее всего довольно часто, возникает необходимость обеспечения отказоустойчивости серверов или ещё лучше приложений, запущеных на этих самых серверах.

Способов это сделать довольно много:
— может сам сервис изначально придуман с возможностью отказоустойчивости — его можно запустить на нескольких серверах и клиент сам найдет рабочий из списка;
— можно наворотить кластер средствами операционной системы;
— можно придумать что-то с виртуализацей (тот же кластер, только вид сбоку);

Но к сожалению иногда, и таки довольно часто в моей личной практике, возникает ситуация выходящая за рамки этих возможностей: денег нет, сеть есть, приложение самописное на коленке — кластер не соберешь, клиентская часть умеет ходить только на один сервер. И вдруг это приложение стало критичным, надо сделать 25x8x366. Под катом один из довольно безобидных способов.
Читать дальше →

Очистка заражённых файлов сайта от вредоносного кода

Reading time8 min
Views32K
Добрый день, уважаемые Хабраюзеры!

Некоторое время назад, около месяца, на сервере нашей компании появился вирус. На одном из крупных проектов были поражены все *.js файлы. Ситуация обычная — в конец файлов был дописан вредоносный код. Яндекс выдавал предупреждение о заражении сайта и в техотдел пришло задание очистить его. Ситуация разрешилась достаточно быстро, проект был выгружен с чистого репозитория в продакшн, пароли сменили.

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

Холодильник для заметок «Сделай сам»

Reading time2 min
Views23K
Пока не все еще обзавелись новомоднымм холодильниками, специально предназначенным для рисования на них, хочется поделиться простым способом сделать такой холодильник своими руками. Ну почти полностью своими.

Итак, нам понадобится:
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity