CRYPTO_RESIDENT_NOTES Telegram 272
#development Ч.2 Про систему автоматизации и разработку. Ссылка на Ч.1

🧚🏻‍♀️ UI - скрипты.
Что это вообще такое? Это когда скрипт делает что-то на каком-то сайте, открывая его UI - оболочку. Диапазон решений велик: от простейших кликеров в консоли браузера до полностью автономного управления браузером.

Моя связка такая: AdsPower + puppeteer. Работает это так. У мультибраузера AdsPower есть API (интерфейс взаимодействия), через который мы можем делать что угодно с профилями, а соотв. и со страницами, открытыми в этом профиле. puppeteer же является библиотекой, с помощью которой мы этим всем и управляем. Вместо puppeteer может быть playwright, вот сравнение, а вместо AdsPower любой мультибраузер с API.

💅🏻 Скрипты "на запросах"
Я неслучайно упомянул UI - оболочку, ведь можно "что-то делать на каком-то сайте" и без интерфейса. Это называется скрипт "на запросах". Ну вот так вот, не спрашивайте почему. На самом деле, с сайтом мы никак и не взаимодействуем, а подменяем запросы, которые веб-страница должна отправлять на бэкенд, эмулируя деятельность пользователя. В эти запросы мы добавляем различные хедеры, чтобы сделать вид, что сидим мы в браузере. На самом деле, такие софты легко детектятся, т.к. подменяют они все криво и эмулируют лишь малую часть запросов. Прокатывает это все в крипте только потому, что большинству проектов и не надо никого детектить. Либо предпринимают полумеры (ввод капчи), чтоб успокоить "честных ручных".
Для запросов я использую библиотеку axios.

🐳 Масштабируемость.
Про скорость мы поговорили. Теперь про масштабируемость. Задача упирается в реализацию программной многопоточности и отслеживание.
Многопоточность выражается через параметр "кол-во параллельных потоков". В JS это реализуется так: для каждой задачи для каждого аккаунта создается независимый Promise, далее из этих промисов создается массив, из которого в зав-ти от параметра параллельных потоков выбирается N промисов и независимо выполняется (через race). Таким образом можно выполнять любое кол-во аккаунтов для одной задачи параллельно. Для другой задачи отдельный запуск.

Как это все отслеживать? Я отслеживаю через файлы состояний в формате JSON. Там есть стандартные поля successes и fails с названиями аккаунтов, а также специфические для задачи, если нужны. 2 года я думал добавлять полноценную БД или нет, но оказалось, что через блокирование атомарность можно поддерживать и в обычных файлах. Добавление же БД несет проблемы: отдельное ПО, отдельные утилиты для чтения.

🐝 Максимальная автоматизация.
Тут все упирается в обработку ошибок на всех уровнях кода и удобные способы обработки. Обработка ошибок - огромная и важнейшая часть кода. В крипте постоянно все и везде отваливается. Уследить за всем этим на всех аккаунтах просто невозможно. Везде логгирование. Логи должны быть разных уровней. У меня FATAL, ERROR, WARN, INFO, TRACE, NOTICE. Написал себе отдельного телеграм-бота, куда выводятся логи определенных уровней: FATAL, ERROR, NOTICE. Благодаря этому я всегда знаю, что у меня где начало и закончило работать, где и какие ошибки. Все эти логи с текстом пояснений и аккаунтами.
Помимо этого в системе предусмотрен параметр "делать, пока не будет успеха". В UI - скриптах в моменты нагрузки необходимая вещь. Когда все СНГ делало линею днем, скрипты долбили до ночи, и ночью обычно все выполнялось.

☀️ Стабильность.
Все скрипты без UI у меня выполняются на удаленном сервере Hetzner. Достаточно самого дешевого для любого кол-ва задач. Подключение по SSH. Настроено и с компов и с телефона на экстренные случаи. Очень часто были ситуации, когда скрипт работает, ты не дома, а проект решил поднять цену на минт вдруг например или просто остановил что-то резко, а ты все долбишь запросами. В такие моменты надо иметь возможность резко остановить.

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

Ссылка на Ч.3

Channel | Life | Софты | KYC | Прокси



tgoop.com/crypto_resident_notes/272
Create:
Last Update:

#development Ч.2 Про систему автоматизации и разработку. Ссылка на Ч.1

🧚🏻‍♀️ UI - скрипты.
Что это вообще такое? Это когда скрипт делает что-то на каком-то сайте, открывая его UI - оболочку. Диапазон решений велик: от простейших кликеров в консоли браузера до полностью автономного управления браузером.

Моя связка такая: AdsPower + puppeteer. Работает это так. У мультибраузера AdsPower есть API (интерфейс взаимодействия), через который мы можем делать что угодно с профилями, а соотв. и со страницами, открытыми в этом профиле. puppeteer же является библиотекой, с помощью которой мы этим всем и управляем. Вместо puppeteer может быть playwright, вот сравнение, а вместо AdsPower любой мультибраузер с API.

💅🏻 Скрипты "на запросах"
Я неслучайно упомянул UI - оболочку, ведь можно "что-то делать на каком-то сайте" и без интерфейса. Это называется скрипт "на запросах". Ну вот так вот, не спрашивайте почему. На самом деле, с сайтом мы никак и не взаимодействуем, а подменяем запросы, которые веб-страница должна отправлять на бэкенд, эмулируя деятельность пользователя. В эти запросы мы добавляем различные хедеры, чтобы сделать вид, что сидим мы в браузере. На самом деле, такие софты легко детектятся, т.к. подменяют они все криво и эмулируют лишь малую часть запросов. Прокатывает это все в крипте только потому, что большинству проектов и не надо никого детектить. Либо предпринимают полумеры (ввод капчи), чтоб успокоить "честных ручных".
Для запросов я использую библиотеку axios.

🐳 Масштабируемость.
Про скорость мы поговорили. Теперь про масштабируемость. Задача упирается в реализацию программной многопоточности и отслеживание.
Многопоточность выражается через параметр "кол-во параллельных потоков". В JS это реализуется так: для каждой задачи для каждого аккаунта создается независимый Promise, далее из этих промисов создается массив, из которого в зав-ти от параметра параллельных потоков выбирается N промисов и независимо выполняется (через race). Таким образом можно выполнять любое кол-во аккаунтов для одной задачи параллельно. Для другой задачи отдельный запуск.

Как это все отслеживать? Я отслеживаю через файлы состояний в формате JSON. Там есть стандартные поля successes и fails с названиями аккаунтов, а также специфические для задачи, если нужны. 2 года я думал добавлять полноценную БД или нет, но оказалось, что через блокирование атомарность можно поддерживать и в обычных файлах. Добавление же БД несет проблемы: отдельное ПО, отдельные утилиты для чтения.

🐝 Максимальная автоматизация.
Тут все упирается в обработку ошибок на всех уровнях кода и удобные способы обработки. Обработка ошибок - огромная и важнейшая часть кода. В крипте постоянно все и везде отваливается. Уследить за всем этим на всех аккаунтах просто невозможно. Везде логгирование. Логи должны быть разных уровней. У меня FATAL, ERROR, WARN, INFO, TRACE, NOTICE. Написал себе отдельного телеграм-бота, куда выводятся логи определенных уровней: FATAL, ERROR, NOTICE. Благодаря этому я всегда знаю, что у меня где начало и закончило работать, где и какие ошибки. Все эти логи с текстом пояснений и аккаунтами.
Помимо этого в системе предусмотрен параметр "делать, пока не будет успеха". В UI - скриптах в моменты нагрузки необходимая вещь. Когда все СНГ делало линею днем, скрипты долбили до ночи, и ночью обычно все выполнялось.

☀️ Стабильность.
Все скрипты без UI у меня выполняются на удаленном сервере Hetzner. Достаточно самого дешевого для любого кол-ва задач. Подключение по SSH. Настроено и с компов и с телефона на экстренные случаи. Очень часто были ситуации, когда скрипт работает, ты не дома, а проект решил поднять цену на минт вдруг например или просто остановил что-то резко, а ты все долбишь запросами. В такие моменты надо иметь возможность резко остановить.

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

Ссылка на Ч.3

Channel | Life | Софты | KYC | Прокси

BY Crypto Resident


Share with your friend now:
tgoop.com/crypto_resident_notes/272

View MORE
Open in Telegram


Telegram News

Date: |

As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. 1What is Telegram Channels? Click “Save” ; It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): How to Create a Private or Public Channel on Telegram?
from us


Telegram Crypto Resident
FROM American