Налог на глупость

Котовский Дмитрий

Противостояние

 

 

Беспокойное время

Надеяться, что моя деятельность останется без внимания со стороны ОД, было бы по крайней мере наивно. Когда-то администрации удастся поднять порог входа в эту тему до экономически невыгодного уровня, поэтому моей задачей было максимально оттянуть этот момент. Времена относительного спокойствия закончились сразу же после удаления первой, самой большой группы с мобильными играми. Это событие можно считать точкой начала противостояния.

Стоит отметить, что ОД и без противоспамных мер постоянно штормило и шатало. Переживая этап форсированно быстрого роста, там всё время что-то менялось, из-за чего софт требовал пристального внимания и чуть ли не ежедневных правок.

Основные нововведения специалисты ОД выкатывали по ночам. Ровно в 3:00 по Москве обе версии сайта, и полная и мобильная, закрывались на технические работы, которые могли продлиться от десяти минут до полутора часов. Поэтому на это время у меня был заведен будильник для того, чтобы в первые же минуты после очередного обновления я мог убедиться в работоспособности своего софта. Или, как нередко бывало, сразу же начать вносить исправления в скрипт в соответствии с изменениями, свалившимися стараниями ОД на мою туманную спросонья голову. Как мы уже знаем, за ночь приходило до половины суточной прибыли, поэтому терять это время было непозволительно.

Сознание хрупкости работы софта определяло мой быт – скудная мебель в холодной, продуваемой ветрами угловой комнате была расставлена так, чтобы, подняв голову с дивана, можно в зеркале увидеть отражение включённого монитора работающего компьютера. И ночью, примерно каждые три часа я просыпался (сначала по будильнику, а потом уже и просто по привычке), чтобы бросить взгляд в зеркало и понять, всё ли в порядке с софтом, не встала ли работа и не требуется ли вмешательство.

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

 

Битвы за аккаунты

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

Активация ОД-аккаунтов тогда не пользовалась особой популярностью в интернете, поэтому я получал стабильный поток готовых к работе аккаунтов за небольшие деньги. Шаги непосредственно регистрации и заполнения данных профиля (имя, фамилия, город и фотографии), конечно же, были автоматизированы. Также специально для своего поставщика я написал софт, позволявший ему облегчить трудоемкий и рутинный процесс подтверждения по телефону каждого аккаунта, которые я у него заказывал сотнями.

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

Одноклассники сильнее усложнили бы мне жизнь, если сразу же просили получать новый код в новом смс, что сделало бы вывод аккаунта из блокировки действием, по стоимости равнозначным новой активации (6–8 рублей). Они, конечно же, сделали это, но чуть позже.

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

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

Последним ударом со стороны ОД на поле битв за аккаунты было требование подтверждать номер телефона новым смс-кодом при попытке зайти в аккаунт из нового, неизвестного места (другой компьютер, браузер или сменившаяся география IP-адреса). С этой проверкой я сталкивался нечасто, но, тем не менее, иногда она имела место.

Решение этой проблемы нашло меня случайно – как-то на форуме я увидел тему с предложением о продаже метода обхода такой проверки через какие-то хитрые запросы в API Одноклассников (я тогда вообще даже не представлял, что это такое). Продавец был мне известен и просил за метод $100. Сумма по тем временам небольшая, но из-за того, что на моих аккаунтах подобные проверки происходили довольно редко, я не стал спешить с покупкой.

Через пару дней продавец снизил цену до $80, что подтвердило мои подозрения о том, что в ОД, судя по всему, в то время серьёзно работал только я один. Тогда приобретение и было совершено. Метод обхода представлял собой пару API-запросов, после которых можно было залогиниться в проблемный аккаунт без проверки телефона. Судя по всему, это был баг в API, который, по словам продавца, они обнаружили случайно, ковыряя ОД для других целей. Эта покупка позволила мне вальяжно себя чувствовать при работе с любыми учётными записями.

 

Сражения за пользователей

Понавставляв палок в аккаунты, ОД сместили вектор своих усилий и принялись за святая святых – стали менять мобильный поиск по онлайну. Сначала добавили 15-минутый «хвост» вышедшим из сети пользователям. То есть профиль уже по факту ушедшего с сайта человека отображался по-прежнему находящимся в онлайне, что очень сильно снизило поток вступающих в группы, ведь теперь приглашения отсылались в том числе и людям, которые уже вышли из сети. Учитывая стремительно уменьшающийся до нескольких часов период жизни группы, приглашение таких пользователей являлось пустой тратой ресурсов и времени, предотвратить которую я никак не мог.

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

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

И если введение 15-минутного онлайн-хвоста вряд ли было действием, направленным специально для борьбы со спамом, то последовавшее «размешивание» мобильного онлайна пользователями с полной версии сайта было ударом точным и целенаправленным. ОД нашли на своей территории мой Клондайк и закрыли его. Теперь мобильных пользователей приходилось буквально выуживать из всей выдачи поиска, что, вместе с необходимостью обязательного указывания города, иссушило некогда полноводную реку мобильного ОД-трафика до небольшого ручейка.

 

IP-баталии

Далее Одноклассники наконец-то заметили, что вся происходящая с инвайтингом вакханалия творилась практически с одного IP-адреса без использования каких-либо прокси. Совершенно предсказуемым шагом стало введение банов отличившихся повышенной активностью адресов. Однако баны эти поначалу были довольно мягкими – доступ к сайту блокировался всего на несколько часов, после чего снова восстанавливался.

Желания вновь связываться с бесплатными или баснословно дорогими платными прокси у меня не было, поэтому этот вопрос был решён регистрацией около 20 дешёвых VDS-серверов и настройкой на них анонимных прокси-туннелей. Какое-то время этой меры было вполне достаточно, и я пользовался запасными IP-адресами пока другие заблокированные «остывали».

Некоторое время спустя ОД ужесточили баны по IP так, что все имеющиеся в моём распоряжении прокси-серверы могли оказаться бесполезными буквально за полчаса. Но я успел приготовить более чем достойную альтернативу и в качестве прокси стал использовать инфраструктуру TOR – анонимной сети, построенной на принципах луковой маршрутизации. У этой сети были сотни географически распределённых и постоянно меняющихся выходящих в интернет узлов, которые я и использовал в роли «входных дверей» в ОД. Бонусом интеграции с моим софтом была возможность в любой момент менять выходную точку на другую, избегая тем самым банов IP-адресов прямо на ходу. И да, всё это было совершенно бесплатно.

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

А какое-то время спустя Одноклассники вообще отменили все IP-блокировки, вернув возможность вновь работать с одного адреса, забыв про прокси. Возможно, они поняли, что выбрали не то поле, на котором можно выиграть войну со спамом, а возможно, причиной тому стали совсем другие факторы – мне остается лишь гадать.

Таким образом, несмотря на опасения, блокировки по IP-адресам так и не стали причиной завершения моей работы в ОД.

 

Борьба на выбывание

Следующий этап войны был более сложным и тяжелым для моего войска имени одного человека – ОД в нерабочее время стали отдавать функции чистки групп под ответственность своих ботов. По характеру удаления сообществ было явно заметно, что в будни с утра до вечера судьбы создаваемых мною групп вершили люди – модераторы или кому там это было положено. А когда рабочее время заканчивалось, на дежурство заступал бот, который без разбора удалял все мои группы буквально спустя несколько минут после их создания.

Иногда маразм ботов крепчал и доходил до того, что удалялись вообще все группы, имевшие неосторожность быть созданными в их смену, независимо от содержания. С чистого аккаунта, с такого же чистого IP-адреса совершалось всего два действия: создавалась новая группа и ей давалось абсолютно нейтральное название вроде «Группа любителей рок-музыки». Через пару минут она уже удалялась, хотя больше никаких действий по ней не предпринималось – темы не создавались, ссылки не закреплялись, никто туда не приглашался.

Если ОД могли вычислить мои нехорошие замыслы в создании групп ещё до их реализации, то почему тогда не делали этого во время дневной работы администраторов? Я тщательно следил за своими действиями и не давал причин предположить, что новые белые группы создавал именно я. Поэтому остается всего два варианта: либо они в смену бота тупо банили все группы по географии IP-адресов их создателей, либо же без разбора все новые вообще.

Иногда они забывали включить бота на выходные, и тогда появлялась возможность поработать дополнительные два дня. Но случалось это редко, поэтому сложившиеся обстоятельства в итоге вынудили меня запускать софт только в рабочее время, свыкаясь с графиком работы офиса ОД, а также с вынужденными выходными, на которые с непривычки нужно было искать, чем себя занять.

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

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

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

* * *

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