- Регистрация
- 04.03.2020
- Сообщения
- 68
- Благодарностей
- 15
- Баллы
- 8
Всем привет, на связи EZ. Благодаря данному конкурсу статей, появился свет в конце тоннеля относительно моего долгострой-проекта, и я могу в полной мере раскрыть тему ферм мультиаккаунтов и какую роль ezFERM играет в их создании.
Цель данной статьи — это показать общие возможности, без углубления в детали создания и разработки фермы. Погнали.
Ферма мультиаккаунтов — это система или программа, которая позволяет планировать, вести учет, контроль, обслуживание множества учетных записей (аккаунтов) одновременно и автоматизировать выполняемую ими работу.
Обычно применяется в сферах, где управление и взаимодействие с большим количеством учетных записей является необходимым.
Примерами ферм могут быть ферма для Telegram, Vkontakte, Odnoklassniki, FaceBook.
Целью фермы является получение выгоды за счет использования нескольких аккаунтов для обхода ограничений на контент или сервисы, лимитов на количество действий (например, количество лайков, подписок) с одного аккаунта на платформах.
2. Роль ezFERM
Очевидно, что фермы мультиакаунтов, существуют уже десятки лет, все мы покупали софты для многопоточной работы с большим количеством аккаунтов для каких либо сайтов. Все эти софты работают по одному принципу – загружаете в них аккаунты, выбираете задания, которые имеются в софте (лайк, коммент, добавить в друзья и т. д.) настраиваете интервалы выполнения заданий, доп. рандомизацию и запускаете нужное кол-во потоков. Софт их авторизирует на сайте в Web версии или получает API токен, если работает без браузера.
Раз все софты уже написаны десятки раз, для чего ezFERM? Я до сих пор задаюсь этим вопросом, но 5 лет назад в мою голову попала идея создать для разработчиков на ZennoPoster конструктор таких ферм, который будет иметь все то, что нужно любой ферме. От разработчика потребуется лишь закинуть в нее zpprofile акки, написать и присоединить к ферме свои экшены/задачи (к примеру лайк, коммент, репост и т. д.) и запустить ферму.
Ради этого проекта я побывал в глубинах ZP, освоил C# from zero to hero и работал на должностях SQL и .NET developer. Данный шаблон стабильно функционирует уже 1 год и прошел бесконечное количество тестов и доработок. На нем создано несколько личных ферм, которые меня радуют.
Среда ezFERM, это папка, в которой находятся:
2. Подробнее о среде
Папка “Шаблон” – это пустая готовая ферма мультиаккаунтов, в которой добавлены по дефолту 10 профилей zpprofile, прокси у которых кончился срок действия и 3 задачи заглушки. Если ее запустить, то она будет переходить на сайты поисковых систем, пока не закончит работу. Что бы создать новую ферму, нужно просто скопировать всю папку “Шаблон" в директорию личных ферм.
Папка “Личные фермы” – так как новая ферма создается путем копирования сюда папки “Шаблон”, то здесь у вас будут находиться ваши фермы.
После копирования, у фермы нужно изменить название папки, название шаблона. zp, удалить дефолтные профили zpprofile, удалить задачи и подзадачи. В целом, добавить в ферму все свое.
Поставляемые фермы. Все, кто скачает ezFERM, получат все фермы, написанные сообществом автоматически в этому папку, с получением изменений. За это отвечает инсталлятор ezIntstall о котором поговорим позже.
3. Обзор функционала и азы использования
Надеюсь понятно, что нужно скопировать папку “Шаблон” в папку “Личные фермы”. Делаем это, переименовываем папку и шаблон, пусть будет easyferm.zp. Так как мы не будем писать новую ферму, просто рассмотрим все то, что имеем в дефолтной ферме.
В папке “Профили/zpprofiles” мы видим, что лежат 10 профилей zpprofile, которые я просто сгенерировал в другом шаблоне. Вы добавите сюда свои профили, созданные в вашем любимом регистраторе, они могут иметь куки для авторизации так и не иметь, в любом случае, ферме нужны уже созданные заранее профили. Также, можете использовать профиль папки.
После запуска easyferm.zp в режиме “Обновление базы”, информация о профилях загрузится в базу в лист “Аккауты”.
База – это excel файл, в котором хранятся и сводятся данные по вашим аккаунтам, прокси, задачам и подзадачам. В этом же файле задаются настройки эмуляции жизнедеятельности аккаунтов, чтобы их работа была человекоподобна. База используется как фермой во время работы, так и пользователем.
Лист “Забаненные аккаунты” будет пополняться забаненными в ходе работы фермы аккаунтами. Так же, забаненные аккаунты перемещаются не только в этот лист, но и сами профили переместятся из папки “Профили” в папку “Забаненные профили”. Скрин избыточен, так как лист сейчас, как и папка попросту пусты.
Также видим, что на листе “Прокси” уже добавлены прокси, но они не рабочие. Мы можем их удалить, и добавить свои. К слову, прокси распределятся по аккаунтам автоматически, или вручную, в зависимости от настроек.
Переходим на лист “Эмулятор”. Здесь мы настраиваем то, как аккаунты будут выполнять наши задачи с сайтом. Покурив настройки, можно понять, что мы задаем время работы эмулятора и параметры поведения пользователя на сайте. Из этих параметров будут рассчитаны параметры эмулирования, которые прочитает как сама система и применит их к аккаунтам во время работы фермы, так и мы можем увидеть системные требования, которые требуются от нашего ПК, чтобы выполнить работу в заданный срок.
Очень кратко про эмуляцию. После запуска потока, он берет аккаунт из базы. Поток будет активно работать с одним аккаунтом, то есть выполнять задачи и подзадачи 20 минут. За эти 20 минут поток выполнит 60 итераций всех задач у аккаунта, но не за один раз, а за 6 сессий по 10 задач в каждой. За потоком закрепляется в нашем случае 10 аккаунтов. За 200 минут работы потока, т.е. за время работы эмулятора, поток поработает над каждым аккаунтом по 20 минут и выполнит для каждого аккаунта 60 задач. После окончания работы сессии с аккаунтом, поток возьмет следующий аккаунт рандомно из базы и выполнит сессию с ним, и так далее. Таким образом поток гуляет по всей базе аккаунтов и выполняет сессии. Для сайта это будет выглядеть так, будто человек заходит на сайт 6 раз по 3.3мин. в промежутке между 200мин.
Далее лист “Задачи”. Сюда мы записываем название наших задач, количество выполнения каждой задачи и ее тип. Это нужно, чтобы имея, к примеру 30 задач, в любой момент можно было бы зайти и отключить какие то, или включить, без изменения в шаблоне – очень удобно. Тип на самом деле ни на что не влияет, и задается просто для того, чтобы понять, является ли это действие продуктивным. Если продуктивное, то целевое действие на сайте, к примеру сообщение в ЛС. Если пустое, то, к примеру скроллинг страницы, чтобы сделать вид человеческого поведения. Рекомендуемая пропорция 70% пустых и 30% продуктивных.
Лист “Подзадачи” – то же самое назначение что и у листа с задачами, но чуть с другим смыслом.
Функция подзадач – это обеспечивать бесперебойную работу фермы. К примеру, вы можете добавить одну подзадачу для поиска и разгадывания капчи до или после задачи, и если наша задача упадет, или затупит из за капчи, после каждой задачи, сколько бы их не было, будет проходить проверка на наличие и решение капчи. То есть 1 подзадача на весь шаблон. Это как метод в C#, который будет вызван после задачи.
Еще один пример, после каждой задачи, или во время первой сессии работы с аккаунтом нам может понадобиться проверить на странице признак того, что аккаунт забанен, и если да, то завершать работу с аккаунтом и закинуть его в бан автоматически.
Лист “Синхронизированные таблицы” нужен для работы дополнительных таблиц.
Так как на листе “Аккаунты” нельзя добавлять свои столбцы для дополнительных данных, мы можем создать синх. таблицу, в которой создадим наши столбцы и будем записывать туда доп. данные. Ферма автоматически будет добавлять туда имена аккаунтов, если они добавятся в базу аккаунтов, или удалит, если аккаунт будет забанен или исключен. Таким образом наши кастомные базы всегда будут иметь столбец “А” с актуальными аккаунтами.
Открываем easyferm.zp и видим нашу дефолтную структуру фермы, которая пока что ничего не делает, а ждет, когда мы добавим свои задачи и подзадачи.
По классике, реализована возможность писать задачи как в самом файле.zp, в PM, так и сделать так, что бы ферма вызывала задачи и подзадачи из dll сборки вашего VS проекта.
В целом, независимо от того, где написан сам проект с задачами и подзадачами, ферма всегда стартует с самого начала. Разница лишь в том, уйдут ли запущенные потоки на время работы фермы в ваш dll файл в случае с VS проектом, или будут крутиться внутри файла.zp, если задачи написаны кубиками. Сразу могу сказать, что код внутри ezf.dll намного оптимальнее, лаконичнее и стабильнее для проектов VS, из-за того, что потокам не приходится прыгать в ezf.dll, получать там работу к выполнению, выходить обратно в проект, выполнять кубики, возвращаться обратно в ezf.dll, обрабатывать результат работы задачи, и так в цикле до тех пор, пока все задачи и подзадачи не будут выполнены.
Ферма в режиме ProjectMaker
В этом режиме ферма будет работать внутри easyferm.zp. Для того что бы не нагружать теорией, скажу, что есть правила создания задач и подзадач. Если коротко:
Ферма в режиме VisualSudio
Каждый поток фермы запущенный в режиме VisualStudio сразу после старта уходит в кубик “Проект VS” и больше не возвращается. А прыгать поток будет не из ezf.dll в easyferm.zp, а из ezf.dll в вашу сборку.dll в которой будут задачи и подзадачи.
Для проекта VS другие правила создания задач и подзадач.
У фермы есть как внешние, так и внутренние настройки. У каждой настройки есть комментарии, если на нее навести. Разобраться в них будет не сложно.
После настройки, запуска фермы в режиме обновления базы, чтобы привести все данные к новому запуску, можно запускать эмуляцию.
Короткое видео запущенной фермы.
Полный гайд по установке и созданию фермы с 0.
За публикацию ферм на базе ezFERM отвечает инсталлятор ezInstall. С помощью него каждый человек сможет получить как комплекс ezFERM для разработки личных ферм, так и все фермы, написанные сообществом с получением обновлений.
Файлы защищены и не являются открытыми. Если у вас возникнут проблемы/баги во время использования или установки - разберемся.
Надеюсь, что вам понравилась эта статья и стало интересно создать свою личную ферму мультиаккаунтов!
Спасибо за внимание!
Документация - https://ezsoft-docs.gitbook.io/ezferm
Установка - https://ezsoft-docs.gitbook.io/ezferm/sreda/ustanovka-ezferm
Цены на лицензии - https://ezsoft-docs.gitbook.io/ezferm/licenziya
EZ - https://t.me/eztrapper
Цель данной статьи — это показать общие возможности, без углубления в детали создания и разработки фермы. Погнали.
Введение
1. О фермахФерма мультиаккаунтов — это система или программа, которая позволяет планировать, вести учет, контроль, обслуживание множества учетных записей (аккаунтов) одновременно и автоматизировать выполняемую ими работу.
Обычно применяется в сферах, где управление и взаимодействие с большим количеством учетных записей является необходимым.
Примерами ферм могут быть ферма для Telegram, Vkontakte, Odnoklassniki, FaceBook.
Целью фермы является получение выгоды за счет использования нескольких аккаунтов для обхода ограничений на контент или сервисы, лимитов на количество действий (например, количество лайков, подписок) с одного аккаунта на платформах.
2. Роль ezFERM
Очевидно, что фермы мультиакаунтов, существуют уже десятки лет, все мы покупали софты для многопоточной работы с большим количеством аккаунтов для каких либо сайтов. Все эти софты работают по одному принципу – загружаете в них аккаунты, выбираете задания, которые имеются в софте (лайк, коммент, добавить в друзья и т. д.) настраиваете интервалы выполнения заданий, доп. рандомизацию и запускаете нужное кол-во потоков. Софт их авторизирует на сайте в Web версии или получает API токен, если работает без браузера.
Раз все софты уже написаны десятки раз, для чего ezFERM? Я до сих пор задаюсь этим вопросом, но 5 лет назад в мою голову попала идея создать для разработчиков на ZennoPoster конструктор таких ферм, который будет иметь все то, что нужно любой ферме. От разработчика потребуется лишь закинуть в нее zpprofile акки, написать и присоединить к ферме свои экшены/задачи (к примеру лайк, коммент, репост и т. д.) и запустить ферму.
Ради этого проекта я побывал в глубинах ZP, освоил C# from zero to hero и работал на должностях SQL и .NET developer. Данный шаблон стабильно функционирует уже 1 год и прошел бесконечное количество тестов и доработок. На нем создано несколько личных ферм, которые меня радуют.
Часть 1. Файлы и папки
1. Среда для разработки фермСреда ezFERM, это папка, в которой находятся:
- Папка “Шаблон” – это папка с файлами фермы и сам шаблон.
- Папка “Личные фермы” – папка для хранения и разработки личных ферм.
- Папка “Поставляемые фермы” – папка для хранения ферм, созданных другими разработчиками.
- Папка "Демонстрационные фермы" – папка с открытыми фермами для изучения.
2. Подробнее о среде
Папка “Шаблон” – это пустая готовая ферма мультиаккаунтов, в которой добавлены по дефолту 10 профилей zpprofile, прокси у которых кончился срок действия и 3 задачи заглушки. Если ее запустить, то она будет переходить на сайты поисковых систем, пока не закончит работу. Что бы создать новую ферму, нужно просто скопировать всю папку “Шаблон" в директорию личных ферм.
Папка “Личные фермы” – так как новая ферма создается путем копирования сюда папки “Шаблон”, то здесь у вас будут находиться ваши фермы.
После копирования, у фермы нужно изменить название папки, название шаблона. zp, удалить дефолтные профили zpprofile, удалить задачи и подзадачи. В целом, добавить в ферму все свое.
Поставляемые фермы. Все, кто скачает ezFERM, получат все фермы, написанные сообществом автоматически в этому папку, с получением изменений. За это отвечает инсталлятор ezIntstall о котором поговорим позже.
3. Обзор функционала и азы использования
Надеюсь понятно, что нужно скопировать папку “Шаблон” в папку “Личные фермы”. Делаем это, переименовываем папку и шаблон, пусть будет easyferm.zp. Так как мы не будем писать новую ферму, просто рассмотрим все то, что имеем в дефолтной ферме.
В папке “Профили/zpprofiles” мы видим, что лежат 10 профилей zpprofile, которые я просто сгенерировал в другом шаблоне. Вы добавите сюда свои профили, созданные в вашем любимом регистраторе, они могут иметь куки для авторизации так и не иметь, в любом случае, ферме нужны уже созданные заранее профили. Также, можете использовать профиль папки.
После запуска easyferm.zp в режиме “Обновление базы”, информация о профилях загрузится в базу в лист “Аккауты”.
База – это excel файл, в котором хранятся и сводятся данные по вашим аккаунтам, прокси, задачам и подзадачам. В этом же файле задаются настройки эмуляции жизнедеятельности аккаунтов, чтобы их работа была человекоподобна. База используется как фермой во время работы, так и пользователем.
Лист “Забаненные аккаунты” будет пополняться забаненными в ходе работы фермы аккаунтами. Так же, забаненные аккаунты перемещаются не только в этот лист, но и сами профили переместятся из папки “Профили” в папку “Забаненные профили”. Скрин избыточен, так как лист сейчас, как и папка попросту пусты.
Также видим, что на листе “Прокси” уже добавлены прокси, но они не рабочие. Мы можем их удалить, и добавить свои. К слову, прокси распределятся по аккаунтам автоматически, или вручную, в зависимости от настроек.
Переходим на лист “Эмулятор”. Здесь мы настраиваем то, как аккаунты будут выполнять наши задачи с сайтом. Покурив настройки, можно понять, что мы задаем время работы эмулятора и параметры поведения пользователя на сайте. Из этих параметров будут рассчитаны параметры эмулирования, которые прочитает как сама система и применит их к аккаунтам во время работы фермы, так и мы можем увидеть системные требования, которые требуются от нашего ПК, чтобы выполнить работу в заданный срок.
Очень кратко про эмуляцию. После запуска потока, он берет аккаунт из базы. Поток будет активно работать с одним аккаунтом, то есть выполнять задачи и подзадачи 20 минут. За эти 20 минут поток выполнит 60 итераций всех задач у аккаунта, но не за один раз, а за 6 сессий по 10 задач в каждой. За потоком закрепляется в нашем случае 10 аккаунтов. За 200 минут работы потока, т.е. за время работы эмулятора, поток поработает над каждым аккаунтом по 20 минут и выполнит для каждого аккаунта 60 задач. После окончания работы сессии с аккаунтом, поток возьмет следующий аккаунт рандомно из базы и выполнит сессию с ним, и так далее. Таким образом поток гуляет по всей базе аккаунтов и выполняет сессии. Для сайта это будет выглядеть так, будто человек заходит на сайт 6 раз по 3.3мин. в промежутке между 200мин.
Далее лист “Задачи”. Сюда мы записываем название наших задач, количество выполнения каждой задачи и ее тип. Это нужно, чтобы имея, к примеру 30 задач, в любой момент можно было бы зайти и отключить какие то, или включить, без изменения в шаблоне – очень удобно. Тип на самом деле ни на что не влияет, и задается просто для того, чтобы понять, является ли это действие продуктивным. Если продуктивное, то целевое действие на сайте, к примеру сообщение в ЛС. Если пустое, то, к примеру скроллинг страницы, чтобы сделать вид человеческого поведения. Рекомендуемая пропорция 70% пустых и 30% продуктивных.
Лист “Подзадачи” – то же самое назначение что и у листа с задачами, но чуть с другим смыслом.
Функция подзадач – это обеспечивать бесперебойную работу фермы. К примеру, вы можете добавить одну подзадачу для поиска и разгадывания капчи до или после задачи, и если наша задача упадет, или затупит из за капчи, после каждой задачи, сколько бы их не было, будет проходить проверка на наличие и решение капчи. То есть 1 подзадача на весь шаблон. Это как метод в C#, который будет вызван после задачи.
Еще один пример, после каждой задачи, или во время первой сессии работы с аккаунтом нам может понадобиться проверить на странице признак того, что аккаунт забанен, и если да, то завершать работу с аккаунтом и закинуть его в бан автоматически.
Лист “Синхронизированные таблицы” нужен для работы дополнительных таблиц.
Так как на листе “Аккаунты” нельзя добавлять свои столбцы для дополнительных данных, мы можем создать синх. таблицу, в которой создадим наши столбцы и будем записывать туда доп. данные. Ферма автоматически будет добавлять туда имена аккаунтов, если они добавятся в базу аккаунтов, или удалит, если аккаунт будет забанен или исключен. Таким образом наши кастомные базы всегда будут иметь столбец “А” с актуальными аккаунтами.
Часть 2. Задачи и подзадачи
Похоже, что вы записали в базу все, что нужно нашей ферме. Остается включить мозг и написать наши задачи и подзадачи.Открываем easyferm.zp и видим нашу дефолтную структуру фермы, которая пока что ничего не делает, а ждет, когда мы добавим свои задачи и подзадачи.
По классике, реализована возможность писать задачи как в самом файле.zp, в PM, так и сделать так, что бы ферма вызывала задачи и подзадачи из dll сборки вашего VS проекта.
В целом, независимо от того, где написан сам проект с задачами и подзадачами, ферма всегда стартует с самого начала. Разница лишь в том, уйдут ли запущенные потоки на время работы фермы в ваш dll файл в случае с VS проектом, или будут крутиться внутри файла.zp, если задачи написаны кубиками. Сразу могу сказать, что код внутри ezf.dll намного оптимальнее, лаконичнее и стабильнее для проектов VS, из-за того, что потокам не приходится прыгать в ezf.dll, получать там работу к выполнению, выходить обратно в проект, выполнять кубики, возвращаться обратно в ezf.dll, обрабатывать результат работы задачи, и так в цикле до тех пор, пока все задачи и подзадачи не будут выполнены.
Ферма в режиме ProjectMaker
В этом режиме ферма будет работать внутри easyferm.zp. Для того что бы не нагружать теорией, скажу, что есть правила создания задач и подзадач. Если коротко:
- Задачи пишутся слева шаблона, а подзадачи справа. Это всего лишь стиль. Можно по-своему, но мне удобно так.
- Задачи связаны друг с другом красной веткой.
- Первая задача связана с кубиком “ezFERM готовит работу” по зеленой.
- Последняя задача цепочки задач связана с кубиком “ezFERM готовит работу” по красной.
- Каждая задача состоит из 3 элементов. Системный кубик начала, ваше тело задачи и системный кубик окончания.
Ферма в режиме VisualSudio
Каждый поток фермы запущенный в режиме VisualStudio сразу после старта уходит в кубик “Проект VS” и больше не возвращается. А прыгать поток будет не из ezf.dll в easyferm.zp, а из ezf.dll в вашу сборку.dll в которой будут задачи и подзадачи.
Для проекта VS другие правила создания задач и подзадач.
- Создается класс, и называется именем задачи, которая добавлена в базу в лист “Задачи”. Для подзадач тоже самое.
- Класс задачи наследует интерфейс ezFERM.Interfaces.IAction. Класс подзадачи наследует интерфейс ezFERM.Interfaces.ISubAction.
- Имплементируем для задачи метод public WorkResult RunAction(). Для подзадачи public WorkResult RunSubAction().
- В теле пишем нужный функционал.
Глава 3. Настройка и запуск фермы
Каждая ваша ферма обладает богатыми настройками работы с аккаунтами, прокси, задачами, подзадачами, эмуляцией жизнедеятельности, которую мы уже рассмотрели ранее, отлавливание и обработку ошибок, и другие настройки.У фермы есть как внешние, так и внутренние настройки. У каждой настройки есть комментарии, если на нее навести. Разобраться в них будет не сложно.
После настройки, запуска фермы в режиме обновления базы, чтобы привести все данные к новому запуску, можно запускать эмуляцию.
Короткое видео запущенной фермы.
Полный гайд по установке и созданию фермы с 0.
Заключение
У ezFERM есть потенциал закрыть еще больше потребностей разработчиков шаблонов, так как спроектирован так, что бы нести в себе все отсутствующие у зенопостера возможности по работе с большим количеством аккаунтов. К сожалению, в данный момент, очевидно, проект не сыскал интереса у сообщества, то ли по причине цены, то ли из за отсутствия "свободных рук". Надеюсь, что проект станет интересен большему кругу людей. Сейчас, после бесчисленных доработок, софт стал еще стабильней и круче, начальная лицензия бесплатна, а цена на масштабирование теперь приемлема для каждого.
За публикацию ферм на базе ezFERM отвечает инсталлятор ezInstall. С помощью него каждый человек сможет получить как комплекс ezFERM для разработки личных ферм, так и все фермы, написанные сообществом с получением обновлений.
Файлы защищены и не являются открытыми. Если у вас возникнут проблемы/баги во время использования или установки - разберемся.
Надеюсь, что вам понравилась эта статья и стало интересно создать свою личную ферму мультиаккаунтов!
Спасибо за внимание!
Документация - https://ezsoft-docs.gitbook.io/ezferm
Установка - https://ezsoft-docs.gitbook.io/ezferm/sreda/ustanovka-ezferm
Цены на лицензии - https://ezsoft-docs.gitbook.io/ezferm/licenziya
EZ - https://t.me/eztrapper
Вложения
-
23,2 КБ Просмотры: 28
-
25,4 КБ Просмотры: 39
-
139,6 КБ Просмотры: 36
Последнее редактирование: