Библиотека для работы с Web на PHP

logo

Давным-давно, когда в моде еще был PHP4, я написал несложную библиотеку на PHP для работы с Web. Эта библиотека была достаточно примитивной, состояла из одного-единственного класса, содержала какие-то ошибки, но, тем не менее, она работала и была вполне юзабельной, поддерживала различные типы прокси-серверов, chunked-содержимое, сжатое содержимое и еще всякие приятные мелочи.

Однако, пришло время расширить функционал библиотеки, а заодно и полностью переписать ее с использованием новых возможностей ООП PHP5.

Итак, вот основные фишки новой библиотеки в сравнении со старой (жирным отмечены самые интересные особенности):

Характеристика Websock2 Websock
PHP4 - +
Не требует cURL + +
HTTP + +
HTTPS + -
GET-и POST-запросы + +
Удобная работа с HTTP-заголовками + -
File uploads + -
Автоматическое отслеживание cookies + -
Автоматическая обработка HTTP-редиректов + -
Установка referer при редиректах + -
Basic-аутентификация + -
Digest-аутентификация + -
Автоматическая basic/digest аутентификация + -
Chunked encoding + +
GZIPped-содержимое + +
Deflated-содержимое + -
HTTP-прокси + +
HTTP-прокси в режиме HTTPS + -
SOCKS4-прокси + -
SOCKS4a-прокси + -
SOCKS5-прокси + +
Аутентификация прокси + +
Цепочки прокси + -
Отслеживание таймаутов операций + -
Сокеты через file и socket_*-функции + +
Перехват HTTP-редиректов + -
Перехват чтения HTTP-заголовков и содержимого + -
Скачивание/загрузка очень больших файлов + -
Сделано по RFC + -
Удобная архитектура, простая расширяемость + -

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

Скачать архив (библиотека + примеры + документация): Websock2
Просмотреть документацию и примеры использования

Пожелания и вопросы можно оставлять в комментариях к посту или на нашем форуме.

На GitHub

Прокси-ботнет из роутеров

В 2010 году, в период тестирования SSH Bruteforce'a одним хорошим человеком, я узнал, что на Европейских диапазонах IP-адресов попадается приличное количество SSH-доступов к всевозможным роутерам. Наиболее частыми среди них оказались роутеры с MIPS-процессором и известной кастомной прошивкой DD-WRT.
Казалось бы, особой пользы с них не извлечь, но ещё тогда был предложен вариант использования их в качестве прокси. До тестирования концепции на тот момент руки не дошли, а сегодня я как раз разбирал старые архивы и решил попробовать собрать рабочий пример под подобный роутер. Благо, у меня валяется парочка таких. Стоит отметить, что поднятие прокси-серверов на роутерах также обладает всем известной спецификой, которая заключается в том, что у провайдеров часто используются динамические IP, поэтому, естественно, прокси-сервер должен сообщать свой текущий IP некой веб-админке.
Читать далее «Прокси-ботнет из роутеров»

Что у нас новенького

За октябрь мы сделали не так много новых записей в блог, вернее, ничего толком и не писали. Итак, что же произошло за последний месяц?

1. Во-первых, нами был написал proxy-сервис, проверяющий огромные списки паблик-прокси и выбирающий валидные серверы, проверяя их по разным критериям. К сожалению, спросом он не пользуется, но мы все-таки попытались. Загляните и вы, там есть простой бесплатный тариф: http://ironproxy.ru.

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

3. Мы с Kaimi перевели третий квест на английский язык. Наверное, время тоже было потрачено зря, потому что иностранцы подобного рода развлечениями не особо интересуются.

4. В честь перевода третьего квеста я добавил в него небольшую новую карту. Портал на эту карту имеется с карты warp-зоны, доступной после прохождения, а еще можно найти скрытый способ попасть на нее с первой карты (там, где стоит Соник), и за это вы даже получите достижение. Кстати было добавлено 2 новых достижения, а новая карта включает в себя одно несложное IT-задание.

Simple Mail.ru Regger

Простой автоматический регистратор почтовых ящиков в сервисе mail.ru. Написан на Perl.

[+] Многопоточность
[+] Генерация логинов/паролей произвольно или из файла
[+] Имя и фамилия берутся из файлов, остальные поля заполняются случайным образом
[+] Поддержка antigate
[+] Возможность выбора используемых при регистрации поддоменов (mail.ru, bk.ru, inbox.ru, list.ru)
[+] Поддержка SOCKS5/HTTP прокси

Настройка производится путем редактирования файла config.txt.
Для работы необходим ActivePerl и модули GD, GD::Tiler (GD::Tiler есть в комплекте).

Скачать: reg_mail.

Proxy Checker Lite 1.4

Написал простую программу для проверки HTTP-прокси и socks5-cерверов (MASM32). Характеристики:

[+] Проверка списка HTTP-прокси/SOCKS5 на валидность по отношению к заданному хосту (ищет в ответе прокси заданную строку)
[+] Многопоточный (до 100 потоков)
[+] Позволяет задать таймауты прокси по чтению и записи
[+] Позволяет задать, сколько байт считывать
[+] Любой разделитель адреса и порта прокси
[+] Продвинутые настройки - задание service_uri, http-referer, cookies, отправляемых данных, метода - GET/POST. С помощью правильного использования этих опций можно настроить чекер как простой кликер или программу для накрутки голосований.
[+] В версии 1.1 - проверка прокси на анонимность
[+] В версии 1.3 - сохранение/загрузка настроек в ini-файл
[+] В версии 1.3 - более удобная проверка на анонимность
[+] В версии 1.3 - актуализированы дефолтные настройки
[+] В версии 1.4 - теперь длинные адреса прокси-серверов не обрезаются и не разбиваются на две части

Скачать: ZIP
Update (версия 1.1): ZIP
Update (версия 1.2): ZIP
Update (версия 1.3, теперь банановый и с сорсами!): ZIP
Update (версия 1.4): ZIP