Многие задают вопрос, как использовать старые смартфоны. В самом деле, не выбрасывать же на свалку устройство с двумя-четырьмя 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
● Память 2x8GB 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-донглов и смартфонов снова входят в моду. Только сейчас они используются не для мошенничества, как раньше, а для полезных дел: обхода блокировок, профессионального скрапинга и автоматизации тестов.
Комментарии (32)
v1000
25.11.2021 20:22+2Интересно, как такая ферма будет фонить?
quwy
25.11.2021 21:01+3Не так, чтобы очень уж сильно. Все эти модемы подцеплены к одной-двум базовым станциям и передатчики свои включают все равно по очереди. Так что излучение примерно такое же, как от пары модемов, через которые раздаются торренты.
Geograph
25.11.2021 21:09+2А можно запариться, разобрать запросы приложения и сделать всё многопоточно на ПК без ферм
spanasik
25.11.2021 23:04Без кучи прокси не получится.
Geograph
25.11.2021 23:06ну прокси сейчас не проблема, сервисов полно какие хочешь: серверные, мобильные, резидентные
alexzeed
26.11.2021 10:15А почему не получится? Чем ПК, посылающий правильные запросы через один 4G модем, отличается от пачки телефонов, висящих на той же БС? Внешний IP тот же, внутренности сети оператора, я надеюсь, никакому Акамаи не видны, внутренних IP виртуальных клиентов можно наделать сколько хочешь. Я думаю, тут весь вопрос в точности эмуляции параметров клиентского браузера.
stalinets
25.11.2021 22:06+3А нет ли клиента BOINC под Android? Можно было бы просто запустить какие-нибудь полезные рассчёты на паре старых смартфонов, например, фолдинг белков, а для избегания перегрева занизить нагрузку при необходимости. Да, производительности там немного, но всё равно пользу бы приносило, потихоньку ковыряя задачи в пару потоков 24/7. А на экран вывести соответствующей программкой часы, например, в стиле Nixie tubes.
Bazis007
26.11.2021 09:06+1Есть..У меня такая же мысль возникла. Взял 3 старых смартфона, поставил клиента.. в итоге за пол года у всех 3 смартфонов сдулись аккумы. Вендоры разные, аккумы разные..
Так что осторожнее, пожар может быть.Xadok
26.11.2021 12:53Так в фермах аккумы вынимать надо и питать напрямую от источника. Как в автомобили планшеты встраивают, так и тут.
mk2
26.11.2021 16:48Не все смартфоны могут работать без батареи от питания.
4aba
27.11.2021 06:39А нельзя подать вместо батареи 4 В на контакты? Так работать не будет?
vvzvlad
30.11.2021 20:07Там еще третий контакт есть, который иногда приносит сюрпризы. Ну и БП нужен сильно мощнее, потому что телефоны полагаются на аккумулятор, с которого в течении короткого времени можно взять довольно большой ток, больше, чем с блока питания.
monane
25.11.2021 23:31DIY-фермы
Неожиданно на хабре это прочесть,
Только у вас фермы из модемов на фото ну на одном из. Не знал что арсенал ботоводства теперь в
Автоматическое тестирование
)
Хотя да пожалуй. Так или иначе анонимность достигается не скрытностью, а будь как все и чем более ты все тем проще с антифродами). И чем больше людей будут польТзоваться тем более лучше.
самые современные техники фингерпринтинга: сканирование портов у посетителей сайта
Так как специализация хабра давно не техническая, а скорее научпоп с элементами соцсети. То и пользователи не все знают как этого избежать Например так : https://www.ctrl.blog/entry/block-localhost-port-scans.html
Таким образом, домашние фермы из 4G-донглов и смартфонов снова входят в моду.
По профилю они и не выходили
SergeiMinaev
26.11.2021 08:36+5Сначала говорите про карму и прочее, а затем
Например, скрапить сайт каждые несколько секунд, используя тысячи поисковых запросов. В таком случае с вероятностью почти 100% сайт нас заблокирует. Но есть вариант обойти блокировку с помощью
Поставьте себя на место владельца сайта. Вы бы хотели, чтобы кто-то создавал на вашем ресурсе такую нагрузку только для того, чтобы вытянуть у вас данные для использования в своих, возможно, коммерческих целях?
DCNick3
26.11.2021 14:58+1Business gonna do business. Если это выгодно (учитавая в т.ч. и законность) — это будут делать. Скрапинг тут не исключение
molec
26.11.2021 12:20А есть игрушки, которые можно по usb/bt/wi-fi соединить с телефоном и использовать телефоньи мозги, датчики, экран и тп? На взгляд дилетанта очевидно, насколько умнее можно сделать машинку/робота/коптер, соединив его с телефоном.
Как минимум, у меня уже 100 лет есть идея такого домашнего охранного устройства. Базовая станция, подключенная к электросети. На ней заряжается машинка, ну скажем см 20-40 длиной, дорожный просвет несколько см, чтобы переползать через пороги. В машинку установлен телефон. По команде из веб-интерфейса машинку при помощи телефона можно отправить по квартире с включенной камерой - просто своими глазами проверить, что дома все ОК, пока тебя нет. Можно записать маршрут - пусть сама ездит и возвращается на базу заряжаться по расписанию. Можно дооснастить подъемником телефона, чтобы рассматривать детали с бОльшей высоты. Подобных игрушек - море, остается только добавить контроллер и написать не самое сложное мобильное приложение.
slog2
26.11.2021 12:50Зачем по комнатам ездить? Китайская камера за 2т.р. стоит в углу комнаты. Если очень хочется то можно и поворотную поставить. Достаточно чтобы проверить что дома всё ОК.
molec
26.11.2021 13:25Во-первых - это весело. Во-вторых - хотелось бы видеть, что я/меня не топят, выключен свет на кухне, окно закрыто, да мало ли что еще. В конце концов, наконец узнать, где кот спит, когда меня нет дома.
elCreator
26.11.2021 15:28https://github.com/isl-org/OpenBot такое уже есть, причем Open Source, 2k звезд, больше сотни форков.
molec
26.11.2021 15:39Спасибо! Я ж понимал, что эта мысль витает в воздухе, но ни разу воплощения не видел.
zserg
29.11.2021 10:22Фрод с таких ферм по прежнему актуален, более того уронили планку входа и даже школьники сейчас этим зарабатывают, а крупные да выходят - не выгодно конкурировать со школьниками и фермами из Азии
TimKorDev
Вот бы вы еще смету на подобную ферму дали. Дорогое удовольствие или нет?
Triproductivity
На вид тысяч 100 рублей.