April 15

Сравнение решений WraithCore, InfiniteServer, AntyZenno

В данной статье мы расмотрим основные отличия наших решений, посмотрим на их плюсы и минусы, а так же поможем вам определится с выбором (проекты идут в порядке от более старого до более нового)

1) Плагин AntyZenno

Плюсы:

  • Удобный и понятный интерфейс
  • Не нужно ничего настраивать и доустанавливать, достаточно всего лишь загрузить плагин в ZennoPoster, и все готово
  • Встроенный запуск некоторых антидетект браузеров
  • Возможность подключиться к любому антидетект браузеру по протоколу CDP

Минусы:

  • Сложность обновлений, мельчайшее изменение исходного кода (плагина) и загрузки новой версии может привести к ошибкам и непредсказуемости работы шаблона, приходиться проверять весь шаблон заново
  • Из-за наличия интерфейса, могут происходить сбои в отображении элементов управления
  • Сам интерфейс может прогружаться до 2 секунд по времени, что при разработке шаблона в котором имеется 100+ экшенов (кубиков) приводит к потере большого количества времени
  • Устаревший драйвер
  • Проблемы работоспособности браузеров c версией ядра > 138
  • Проблемы обновлений, устранения багов и добавления новых функций (связано с пунктом №1 данного раздела)
  • Достаточно ограниченный набор функций и возможностей
  • Невозможность выписать ZennoBox
  • Устаревшие методы скрытия автоматизации, большинство сайтов могут видеть процесс автоматизации
  • Низкий уровень эмуляции действий человека
  • Ограниченная настройка действий

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

2) InfiniteServer.exe

Установка и запуск InfiniteServer.exe

Принцип работы данного решения был продиктован проблемами ZennoPoster и плагина AntyZenno, из-за чего весь исходных код программы был разделен на 2 части:

  1. Библиотека InfiniteClient.dll - по сути это просто C# оболочка, для отправки данных из ZennoPoster в InfiniteServer.exe.
  2. InfiniteServer.exe - исполняемый файл, который обрабатывает команды от ZennoPoster(подсредством InfiniteClient.dll), на своей стороне выполняет получнные команды (клик, ввод текста, парсинг, навигация по страницам, работа со вкладками и тд.) после чего отсылает результат выполненного действия обратно в ZennoPoster

Плюсы:

  • Вынос обработки всех команд из ZennoPoster позволил использовать более новый драйвер, и увеличить производительность
  • Большое количество функций
  • Встроенный запуск некоторых антидетект браузеров
  • Возможность быстрых обновлений и устранения багов, которые практически никогда не затрагивают работу шаблона
  • Возможность выполнять несколько действий в одном экшене, а так же добавлять дополнительную логику (при желании, весь шаблон можно написать в одном экшене)
  • Наличие шаблона с базовыми примерами
  • Возможность подключиться к любому антидетект браузеру по протоколу CDP
  • Возможность выписать ZennoBox
  • Возможность помощи написания кода нейросетями

Минусы:

  • Требует добавления библиотеки InfiniteClient.dll в ZennoPoster (на самом деле, это занимает буквально 30 секунд, но у новичков часто возникают проблемы с этим)
  • Программа написана на .NET 8, и при его отсутсвии на ПК, требует дополнительного скачивания и установки
  • Драйвер автоматизации без дополнительных настроек, что может определяться сайтами как автоматизация
  • Каждый поток ZennoPoster запускает отдельную коппию InfiniteServer.exe что приводит к значительному потреблению ресурсов ПК
  • Достаточно слабый уровень эмуляции действий человека
  • Ограниченые настройки
  • Сложности при работе с C#

InfiniteServer.exe является не плохим решением, в котором были решены многие фундаментальные проблемы AntyZenno, основной проблемой является то, что на C# (а InfiniteServer.exe и InfiniteClien.dll написаны на нем) нет подходящих форков популярных драйверов, которые могли бы достаточно хорошо скрывать признаки автомацизации.

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

Я очень старался сделать API InfiniteClient.dll максимально простым и понятным, даже для тех, кто далек от программирования, потратив 1-2 часа времени, можно достаточно просто изучить все функции. Посмотрев на скриншоты ниже, я думаю достаточно просто разобраться с тем, что делают те или инные функции (к тому же вместе с InfiniteClient.dll поставляется InfiniteClient.xml, которая выводит текстовые подсказки). Хотя изначально все выглядит сложно, на самом деле все достаточно просто и понятно, нужно всего лишь потратить немного времени и разобраться.

P.S. Можно отправить InfiniteClient.xml любой нейросети, она изучит документацию и сможет вам помогать писать код (смотри пример ниже)

Пример ввода текста
Стрелки указывают на имя параметра (верхняя стрелка) и его описание (нижняя стрелка)
Пример написания кода через нейросеть DeepSeek

3) WraithCore.exe

Данное решение ОЧЕНЬ схоже с InfiniteServer.exe, но является его полным переосмыслением и дополнением.

Плюсы:

  • Вынос обработки всех команд из ZennoPoster позволил использовать более новый драйвер, и увеличить производительность
  • Количество функций еще больше чем в InfiniteServer.exe
  • Возможность быстрых обновлений и устранения багов, которые практически никогда не затрагивают работу шаблона
  • Возможность выполнять несколько действий в одном экшене, а так же добавлять дополнительную логику (при желании, весь шаблон можно написать в одном экшене)
  • Наличие шаблона с базовыми примерами
  • Возможность подключиться к любому антидетект браузеру по протоколу CDP
  • Максимальная эмуляция действий человека, движения мыши по кривым, умный ввод текста (вместо обычных пауз между вводом символов), микро колебания мыши при наведении, эмуляция нажатия реальных системных клавиш, вместо вставки символов
  • В режиме ожидания, мышь делает микро движения и может периодически двигать курсором, что усложняет определить бота на сайте
  • Вместо тяжеловесных процессов, каждый поток ZennoPoster создает свою собственную изолированную сессию
  • Очень гибкая настройка (глобальное время ожидания элемента, уровень эмуляции, уровень прогрузки страницы и тд.)
  • Максимальная маскировка средств автоматизации для сайтов
  • Улучшенная производитльность и скорость работы
  • Возможность выписать ZennoBox
  • Максимальная совместимость ваших старых проектов на InfiniteServer.exe
  • Улучшен и дополнен InfiniteClient.dll (добавлеенны новые перегрузки методов, упрощены старые перегрузки методов, добавлены новые enum)
  • Документация на нескольких языках
  • Наличие интерактивного локального конструктора для автоматического написания кода (generator.html)
  • Возможность выполнять ВАШ python код прямо из программы и на лету, что дает вам неограниченные возможности при работе
  • В отличии от самописного TCP соединения, реализован полноценный REST API
  • Возможность помощи написания кода нейросетями
  • Дорабатывается и улучшается метод работы с мобильными профилями антидетект браузеров

Минусы:

  • Требует добавления библиотеки InfiniteClient.dll в ZennoPoster (на самом деле, это занимает буквально 30 секунд, но у новичков часто возникают проблемы с этим)
  • Сложности при работе с C#
  • Отсутсвие встроенного запуска антидетект браузеров

В данном решении соотношение минусов и плюсов в значительной степени отличается (возможно даже что-то не вспомнил), еще немного более подробно расскажу о тонких моментах WraithCore.exe и постараюсь ответить на вопросы, которые у вас могли возникнуть по ходу чтения данной статьи.

1) Почему и в InfiniteServer.exe и в WraithCore.exe присутсвует какая-то InfiniteClient.dll ?

InfiniteClient.dll - это C# библиотека (модуль или проще говоря штука, в которой вы пишите одну строку, а у нее под капотом выполняется много всего сложного, что упрощает вам жизнь, как пользователю) которая добавляется в корневую папку ZennoPoster (чтобы он смог ее увидеть и понимал, что вы от него хотите, когда пишите код).

Изначально эта библиотека разрабатывалаcь для InfiniteServer.exe что бы реализовать передачу информации (отправку команд в браузер и получение результатов) между ZennoPoster и InfiniteServer.exe, что и позволила вынести всю обработку и выполнения кода из ZennoPoster.

Зачем нужны были такие сложности? Просто поверьте, из-за огромного количества факторов на мой взгляд это было самое рациональное и правильно решение. И по сколько WraithCore.exe максимально похож на InfiniteServer.exe я решил, что правильно было сохранить (или по крайней мере постараться сохранить) максимальную совместимость проектов написанных на InfiniteServer.exe с новым WraithCore.exe.

Проще говоря, если бы я назвал библиотеку новым именем, то глобально ничего не изменилось бы, просто в каждом кубике старых проектов пришлось бы изменять названия библиотеки на другое, что привело бы к бессмысленной трате вашего времени

2) Почему в WraithCore.exe нет встроенного запуска браузеров?

Да, наверное многие заметили, что в AntyZenno и в InfiniteServer.exe были реализованы функции запуска некоторых браузеров "из коробки" (AdsPower, Dolphin, OctoBrowser, IxBrowser). Не спорю, в какой-то степени это было удобно, но на это были свои паричины, основной же является следующее:

Я решил изолировать новое решение и не быть завязанным на API и документациях сторонних сервисов (в данном случае антидетект браузеров). У всех браузеров свой API, свои задержки, баги, артефакты при запуске и закрытии браузеров, поэтому мною было принято решение, переложить эту ответственность на Вас, как на разработчиков. WraithCore.exe является сугубо посредником в управлении между БРАУЗЕРОМ и ZennoPoster (хочу отметить что в тестовом шаблоне я все же указал способы запуска некоторых браузеров с помощью POST/GET запросов)

3) Если я не разбираюсь в коде, могу ли я как-то сам писать проекты не используя постоянно нейросети?

Да, для этого был создан локальный конструктор generator.html, который поможет вам быстро и просто писать код

4) Почему не сделать что-то боле удобное чем библиотека, писать кодом не удобно

Я перепробовал много различных вариантов, и в нашей связке с ZennoPoster данное решение мне кажется наиболее выгодным и правильным. Вот основные мои аргументы:

  • В ZennoPoster уже встроен экшен C#, что позволяет просто и быстро создавать новые действия
  • Быстрая прогрузка интерфейса (экшена C#)
  • Очень удобно мне, как разработчику решения вносить новые идеи, фиксить баги и тд.
  • Очень удобно обновляться до новых версий, вам достаточно просто запустить новый WraithCore.exe и закинуть InfiniteClient.dll в корневую папку ZennoPoster, что занимает меньше минуты времени
  • Если все же получилось так, что был обновлен какой-то метод, функция, свойство и тд, то вам не нужно будет бегать по проекту и искать эти места, ZennoPoster сам покажет вам эти кубики на этапе компиляции (но в целом я стараюсь не менять ничего в основном API, в ином случае просто пытаюсь добавить перегрузку метода или продублировать что-то в отдельном свойстве)
  • Возможность комбинации действий. В самом деле, это беезумно удобно, если вы хотябы немного умеете програмировать или общатся с нейросетями, то можете сами убедится в том, что создание проетов с помощью кода, очень сильно упрощает работу, в частности обслуживание шаблонов. Вместо создания 10, 20, 30, ... кубиков бессконечных циклов, проверок, создания временных переменных и многое другое, мы можете сделать огромную часть локиги всего лишь в ОДНОМ кубике и не нужно будет бесконечно скролить шаблон, в поиске нужного кубика (пример будет чуть ниже)
В одном кубике прописаны несколько условий, и исходя из этого, шаблон знает, что ему делать дальше, что экономит огромное количеество времени и упрощает отладку, а так же делает ваш шаблон проще и читабельнее

ВАЖНО!!!

Не скачивайте наши решения на сторонних ресурсах, не скачивайте версии которые Вам присылают в личные сообщения и в чатах. Не покупайте ни у кого "лицензию". Все вопросы по покупке, продлению лицензий и т.д. @Midaw007