Необходимо написать программу, которая будет имитировать присутствие большого количества людей в чате с разными никами, user-agent и IP-адресами. То есть заходить на вебкам-сайт с https, авторизоваться по парам логин-пароль и присутствовать в конкретной чат-комнате в течение длительного времени (пока пользователь не закроет программу). Обязательно, чтобы программа имитировала одновременное присутствие большого количества пользователей (от 1000 и выше).
Интерфейс и последовательность действий должны выглядеть следующим образом:
1. Вводим URL конкретной чат-комнаты
chaturbate.com далее любая чат-комната
2. Поле «Аккаунт» выбираем TXT-файл, в котором построчно указаны связки login и password
3. Поле «User-agent» выбираем TXT-файл, в котором построчно указаны user-agent. Количество логинов должно совпадать с количеством user-agent. То есть первый логин берёт себе user-agent из первой строчки, второй из второй и так далее.
4. Чекбокс «Использовать TOR» если галочки нет, то подключение идёт напрямую с одного IP-адреса для всех аккаунтов. Если галочка стоит, то появляется список IP-адресов из TOR с расшифровкой (Страна, Скорость и так далее). Должна быть функция сканирования и обновления списка, чтобы были наиболее свежие IP. Также необходима функция сортировки по полю (Страна, Скорость и так далее) и выбора по заданному критерию. Допустим, использовать IP-адреса определённых стран (то есть только США, Канада) или запретить использование определённых стран (то есть можно все кроме КНР, КНДР). Каждому аккаунту должен соответствовать свой IP-адрес. Если IP-адресов не хватает (то есть их в TOR физически меньше, чем аккаунтов, или их стало мало из-за жёстких критериев отбора), программа должна выделить аккаунты без IP, чтобы пользователь решил, что с ними делать. Либо вообще не подключаться к сайту, либо разрешить им использовать IP-адреса по второму кругу, либо использовать IP-адреса без жёсткий критериев. Должна быть возможность выделить проблемные аккаунты целиком или по отдельности каждый.
5. Нажимаем на кнопку «Старт»
6. Программа многопоточно заходит в чат-комнату под разными логинами, user-agent и IP-адресами и присутствует там, пока пользователь не закрывает программу.
7. В интерфейсе программы все логины должны быть пронумерованы и напротив каждого логина должен быть указан его статус Открыт, Подключён напрямую, Подключён через TOR, Ошибка (с указанием того, что пошло не так) и так далее, чтобы из интерфейса программы было понятно, какие аккаунты работают, а какие нет. Программа должна периодически (периодичность также задаётся в настройках программы) «опрашивать» аккаунты и обновлять их статус на тот случай, если ошибка произошла не в момент подключения, а уже после. Допустим, подключение прошло нормально, а через 15 минут этот пользователь по какой-то причине перестал отображаться в списке чата.
8. У всех аккаунтов со статусом «Ошибка» должна быть возможность последующего запуска после исправления ошибки. То есть если проблема с парой логин-пароль, то открыли TXT-файл, исправили в данной строке на новые логин-пароль. Если выбранный в TOR IP-адрес недопустим на данном сайте или слишком медленный, то действия те же, что и в пункте 4. После чего ещё раз нажали на кнопку «Старт» или же на специальную кнопку для таких аккаунтов, чтобы это никак не повлияло на уже работающие аккаунты.
Основные требования:
1. Аккаунты должны работать быстро, параллельно, независимо друг от друга, чтобы сайт воспринимал их как отдельных пользователей со своим логином, user-agent и IP-адресом.
2. Программа не должна сильно нагружать систему. Ориентир 1000 аккаунтов должны потреблять около 1 Гб ОЗУ.
3. Программа не должна открывать браузер, скачивать большой объём данных (аудио, видео, графические файлы) или писать в чате. Ей надо просто зайти в чат-комнату и программно сообщать сайту, что все эти пользователи находятся в чате, а не просто зашли и тут же вышли. То есть имитируется сам факт присутствия авторизованных пользователей, а не их общение.
4. Интерфейс программы должен запоминать последние введённые данные. То есть если пользователь ввёл URL сайта, пути к логинам, паролям и user-agent, указал использование TOR и белые/чёрные списки IP-адесов конкретных стран в соответствующие строки, то при следующем открытии программы они уже должны там быть.
5. Программа должна стабильно работать в течение продолжительного времени (10-12 часов без перерывов и перезапусков) на ОС Windows XP/7/8, в том числе с возможностью запуска на виртуальной машине с такими же операционными системами.
6. К готовой программе также следует приложить исходники, чтобы в дальнейшем программу можно было модифицировать, если сайт поменяет систему авторизации или установит защиту от ботов.