Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Shit Streamer was altered. 0.50-alt (PHP)

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

Во-вторых, позвольте представить на суд общественности новую версию моего Shit Streamer’a первое появление которого в большом инете было 14 декабря прошлого года. Для тех, кто подзабыл что это такое, вкратце напомню — это очень эффективный, как показала практика, инструмент борьбы со спамерами, способ сделать им ответную подлость.

Я получил целую гору писем с просьбами переписать SS на PHP, так что новая (0.50-alt) версия написана именно на этом языке, версии 4.1.0. Запускать ее следует с сервера, из окна браузера, но знатоки PHP, при надобности, без труда, я думаю, смогут переписать эту версию так, чтобы она запускалась из командной строки.

В программе достаточно много изменений, так что интерфейс ее, я думаю, требует некоторых пояснений.

SS 0.50-alt

Во-первых, я прочитал гору всякой литературы и реализовал интерфейс к целой куче разнообразных прокси. Для тех, кто еще не скачал программу привожу полный список тут: HTTP-proxy, HTTP-tunneling proxy, SOCKS V5, SOCKS V4, SOCKS V4.3 (A), Telnet proxy, CGI proxy.

Перед началом работы укажите в первом поле адрес своего прокси-сервера, во втором — его порт, в третьем — его тип. Если ваш порт вашего прокси «8080», «80», «81» или «3128» попробуйте выбрать «HTTP proxy», если 1080 — выбирайте «SOCKS V5». В остальных случаях, если не знаете сами, попробуйте найти человека, который это знает и спросите у него.

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

Если ваш прокси требует авторизацию, введите имя пользователя и пароль в поля «username» и «password». Все настройки будут сохранены в cookies и вам не придется вводить их в следующий раз. Как и в предыдущих версиях, программе нужно указать количество рассылаемых писем и ящик, на который они будут уходить. Тут все просто — первое вводится в поле «Quantity», второе — в поле «E-mail». Остальные поля заполнять нужно только в особых случаях. Кнопка «Send shit», собственно, запускает сам процесс, после которого остается только наслаждаться эффектом.

Если вы все еще пользуетесь NC 4.xx или Opera, то, скорее всего, вывода программы вы не увидите, не пугайтесь, это нормально. :) У меня нет желания поддерживать браузеры, которые не поддерживают современные стандарты.

Всем, кому не интересны технические подробности дела, могут на этом прерваться и скачать уже новый Shit Streamer.

Для HTTP-based proxy реализована авторизация только с методом Basic, этого должно быть достаточно для большинства случаев. Для SOCKS5 реализован второй метод (username/password), GSSAPI, CHAP и прочие в моей сети не обитают, так что их я реализовывать не стал.

SOCKS4, как я понял из RFC, может использовать IDENTD-сервер (RFC 1413), но он в живом виде уже не встречается, так что связь с ним так же не реализована. «SOCKS 4.3(A)», думаю, требует некоторых пояснений. Это небольшое расширение протокола SOCKS4, которое позволяет в запросе указывать не IP-адрес хоста, а его имя, что бывает полезно, если в вашей сети нет DNS. Поддерживает это расширение, например, MS Proxy 2.0.

Telnet-proxy — это немногочисленное семейство прокси, которые позволяют туннелировать telnet-сессию. Они не предназначены для туннелирования HTTP, но довольно неплохо, на мой взгляд, справляются с этой задачей. Для прокси этого типа надо указать два параметра. Первый («Wait for») — строка подсказки, которую нужно дождаться от прокси, прежде чем начать передачу, второй («Command») — команда для подключения к удаленному серверу, где %s будет заменятся на имя сервера, а %p — на порт. Для TIS эти параметры равны, соответственно,
tn-gw-> и c %s %p.

CGI-прокси или анонимайзеры — сервера, которые предоставляют услуги анонимного сёрфинга. Их список есть где-то в интернете, поищите сами. В поле «Proxy» нужно указать URL этого прокси для построения цепочки, в поле порт — 80. Комбинация %URL в указанном адресе будет заменяться на полную строку запроса (без http://).

Вот пара примеров, чтобы вы уловили идею:
htt​p://webwarper.net/ww/%URL&*
htt​p://www.safeproxy.org/cgi-bin/nph-proxy.cgi/01010/http/%URL

В новом SS я реализовал то, что поленился сделать в предыдущей версии — Streamer теперь принимает от удаленного сервера только заголовок ответа, игнорируя сам документ. Думаю, это повысит скорость рассылки и намного уменьшит размер входящего трафика.

Тех, кому интересно, как происходит обмен с серверами и прокси, заинтересует галочка «Test mode». В этом режиме SS выводит на экран желтым цветом свои запросы и ответы удаленных серверов. Если интересует именно это, задайте небольшое количество писем и запустите SS в «Test mode».

Для своей работы Streamer требует два файла ss.agents и ss.servers. Первый содержит строки User-agent, которые будут использоваться в запросах, второй — собственно, сервера, куда будет происходить соединение, в прежнем формате. Разделителями в обоих файлах является Unix-like перевод строки (\n). Так что, если редактируете этот файл в FAR’e не забудьте нажать Shift-F2 перед сохранением.

Еще раз напоминаю, скачать файл можно вот отсюда.