DIY-фермы из смартфонов Android снова в строю
Многие задают вопрос, как использовать старые смартфоны. В самом деле, не выбрасывать же на свалку устройство с двумя-четырьмя CPU, гигабайтами оперативки, рабочими чипами NAND, модемом 4G и другой полезной электроникой. И действительно, старые гаджеты вполне могут ещё поработать и принести пользу. Например, на домашней ферме для автоматического тестирования приложений, скрапинга публично доступной информации и др.
При упоминании фермы сразу возникают мысли о ботах, мошенничестве, клик-фроде. Действительно, раньше такие фермы часто использовались для разнообразного фрода. Например, накрутки просмотров на Youtube и другой статистики, «скликивания» рекламных бюджетов.
Домашняя ферма для клик-фрода, источник
Но это не наш случай. Во-первых, клик-фермы уже неактуальны. В этой «индустрии», если её можно так называть, нет особых денег. И сами фермеры постепенно уходят из бизнеса, см. прощальное видео TheTechSlugs. Зарабатывать деньги на обмане людей — в конечном итоге всегда минус, по крайней мере для кармы. Во-вторых, есть вполне легальные, полезные варианты ферм. О них и говорим.
Профессиональный скрапинг
Скрапинг веб-сайтов — очень распространённая техника для получения нужной информации, которую вы используете в своих проектах. Для индивидуального скрапинга в личном боте можно использовать инструменты вроде Axiom (десктопное приложение и расширение Chrome), Cognifirm, Automa (расширение Chrome), Browserflow (расширение Chrome), UI.Vision RPA (расширения для Chrome, Firefox, Edge).
Они записывают любые действия в интерфейсе браузера, а затем воспроизводят их по расписанию. Это позволяет автоматизировать разнообразные задачи. Например, автоматически скрапить свежие данные с сайтов (цены на товары, курсы валют и др.), добавлять их в электронные таблицы Google Sheets, где выполняются некие расчёты, или обновлять информацию на своём сайте.
Типичные примеры:
● автоматизировать тесты
Автоматизация UI-тестирования с UI.Vision RPA
● скачать все фотографии из профиля в инстаграме (код);
● соскрапить всех программистов из LinkedIn в своих кругах (код);
Скрапинг разработчиков с Browserflow:
● собрать в таблицу результаты поиска Google Maps;
● автоматизировать рутинные действия (например, отфоловить всех, кто подписался на вас в твиттере), код;
● делать скриншоты веб-страниц и автоматически обрабатывать картинки (кроп, изменение размеров) перед публикацией, автоматически сохранять копии страниц;
● и др.
Записанные алгоритмы автоматизации можно публиковать в открытом доступе для других пользователей. Или использовать чужие алгоритмы.
Источник: Axiom
Но что делать, если нужен профессиональный скрапинг? Например, скрапить сайт каждые несколько секунд, используя тысячи поисковых запросов. В таком случае с вероятностью почти 100% сайт нас заблокирует. Но есть вариант обойти блокировку с помощью мобильного прокси. Например, самодельной домашней 4G-фермы.
Прокси
Фото: Proxidize
Мобильный 4G/LTE-прокси — эффективное решение для маскировки ботов, которые делают полезную работу. Дело в том, что адресов IPv4 не хватает на всех. Поэтому интернет-провайдеры и мобильные операторы используют технику CGNAT (Carrier Grade Network Address Translation) — сотни или тысячи людей в реальности подключены по одному и тому же адресу IPv4. Если один из адресов попадёт в бан на каком-то сайте, то пострадают все пользователи на этом адресе.
Владельцы сайтов понимают, что в такой ситуации нельзя блокировать IP-адреса, на которых сидят реальные люди, поэтому ваш конкретный бот (например, для скрапинга) хорошо замаскирован.
Каждые 5 минут каждое устройство отключается от сети GSM и снова подключается, получая новый IP-адрес. В случае 4G-донглов используется софт для эмулирования Android, вроде Android-x86 на VirtualBox, Bluestacks и Android Studio Emulator. Для маскировки одновременно применяются и другие техники, такие как смена Device ID для обхода фингерпринтинга и др.
Установка DIY мобильного прокси из коммерческого набора 4G-донглов занимает считаные минуты — основное время занимает процесс установки сим-карт в донглы, —, а десяток смартфонов обеспечивают канал передачи данных до 150 Мбит/с.
Автоматическое тестирование
Некоторые разработчики поднимают мобильные фермы для автоматического тестирования своих приложений на устройствах разного типа. Есть специализированные облачные сервисы, которые предлагают такую платную услугу, например, Browserstack, Sauce Labs и Zebrunner.
Подписка стоит около $150 за одно устройство в месяц. Или можно построить собственную ферму, на которой прогонять любое количество тестов — совершенно бесплатно, если не считать стоимость смартфонов.
Источник: Smartphone Test Farm
Конечно, покрыть тестами абсолютно все модели смартфонов нереально, слишком велика фрагментация. В зависимости от бюджета, можно закупить 10 или 20 самых популярных моделей, которые все вместе покроют заметную долю рынка.
Если собирать Android-сервер на плате с сокетом LGA2011–3 с процессорами Xeon, то можно выбрать такую конфигурацию:
● Материнская плата Asus X99-A II
● Процессор Intel Xeon E5–2630
● Память 2×8GB DDR4
● SSD Intel 660p 2 ТБ
На сервер устанавливается внешняя карта USB 3.0 PCIe…
Карта USB 3.0 PCIe с четырьмя портами по 5 Гбит/с, источник
…, а к этой карте подключаются USB-хабы со смартфонами.
7-портовый USB-хаб, источник
Вот другой вариант конфигурации Android-сервера. Как и автоматическое тестирование. услуги 4G-прокси для обхода блокировок тоже можно заказать у специализированных провайдеров, например, Brightdata, Packetstream или Oxylabs.
Но своя DIY-ферма имеет ряд очевидных преимуществ:
● защита своего бота от соседей по прокси, которые могут заниматься чем-то нелегальным — накрутка просмотров, боты в комментариях социальных СМИ, SQL-инъекции и тому подобное;
● экономия финансов, потому что услуги специализированных провайдеров обходятся довольно дорого, а на домашней ферме можно даже зарабатывать, предоставляя услуги коллегам;
● обход профессиональной антифродовой защиты типа DataDome, Akamai и Imperva, которые применяют самые современные техники фингерпринтинга: сканирование портов у посетителей сайта (например, сканирование портов пользователей через личный кабинет «Ростелекома»), проверка набора шрифтов, криптобиблиотек, опрос API гироскопа на смартфоне (теоретически, веб-сайт может определить, что вы сидите в туалете), запросы CSS и др.
Таким образом, домашние фермы из 4G-донглов и смартфонов снова входят в моду. Только сейчас они используются не для мошенничества, как раньше, а для полезных дел: обхода блокировок, профессионального скрапинга и автоматизации тестов.