THE FARMER или управление фермой реальных android устройств легко и просто

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
THE FARMER
56550


или
ферма для android устройств на кубиках ZennoPoster

без использования C#


Предисловие

Работая в сфере ремонта бытовой РЭА и смотря как , непериодически падают объёмы работ, стал смотреть / расширять кругозор/ в сторону WEB. "Боже как я ошибся с этим выбором!"- шутка ))

И так прошу «сильно не пинать» , я новичёк в WEB , ноль в С# и прочих языках программирования, может статья мотивирует смелее генерировать идеи новичкам на форуме!

Итак , вступив полным новичком в мир WEB , опробовав кучу разной бесполезности и потерявшей актуальности готового «чудо софта» в сфере арбитража трафика , кривая дорожка наконец то вывела на решение , в котором новичёк и полный нуль в программировании , может построить свои продукты под свои нужды и даже попробовать продать их! Этим конструктором «лего для маленьких программистов» , оказалось мощное решение “Zennoposter”

Увлечённый «дейт трафиком» , решил приложить свой опыт «социнженерии в отношении женского полу « в этой нише. И через месяц написал на «зеннокубиках» регистратор «мамба» , затем бот для мамба , потом «бота на пост гет», но всё не работало и работало максимум пару дней и все «акки улетали в бан « ,несмотря на заверения продавцов прокси в «их эксклюзивности».

…» кривая дорожка « опять вывела на решение – «сделай сам – тыж программист»))

Подумав о мобильных прокси , перебрав варианты и перспективы развития « антиспама «, отмёл готовые решения , став изучать работу на реальных устройствах , чтобы в последствии их использовать не только в качестве" THE FARMER".

Преимущество реальных устройств:
это следующий более высший уровень эмуляции , в котором с помощью ZP можно автоматизировать ,как минимум - загрузку новых фингер принт , сборку с закачкой нового приложения, удаление следов рут , разработчика, и др через подключение ADB как по шнуру так и беспроводному соединению! Открываются дальнейшие перспективы из за прямого доступа к железу - камера, GPS и пр.
Вот типовая схема подключения камеры планшета/ноутбука , те простой USB порт ....)

56156


Ведь сколько топ приложений отказывают в запуске на эмуляторах ?..
Несколько месяцев мытарств , привели к тех решению “это не эстетично , зато дёшево и практично , которое приведу ниже.


Тех задачи и решение

В процессе создания фермы требовалось
  • Обеспечить пул стабильных сменяемых IP – от 10 шт
  • Полная возможность управлением устройством посредством ZP (автоматизация приложений, установка удаление программ и тд и тп)
  • Перспектива масштабирования
  • Стабильность/ надёжность работы THE FARMER
  • Возможность продажи/заработка на этом

В результате

Стабильно ( понятие о стабильности у каждого разные- прим. автора) работающая ферма на андроид устройствах , с возможностями одновременного управлением их режимом работы и приложениями по ADB из ZennoPoster и раздачей LTE PROXY для других проектов со сменой внешнего IP по запросу.


По порядку о решённых задачах

Первое и главное «ноу хау проекта» )) - решение одновременной работы ADB и передача LTE потока


Программное решение не нашёл , да и передавать по одному USB кабелю , те «узкому каналу» широкий поток данных LTE и команды ADB - не стоит .
Андроид устройство подключается в режиме ADB по USB шнуру ( подробности неоднократно описаны в темах форума , если возникнут трудности проконсультирую) , и управляется командами методом передачи через командную строку (cmd) или другими удобными методами (Appium , через подключенную библиотеку SharpAdbClient – см. соседнюю конкурсную тему и тд и тп ) ….. в данном случае в и этапах начальной постройки , cmd показалась более стабильной , в тч и во многопотоке ( вариант для более быстрого старта FARMER) .

LTE интернет
Передача LTE реализована путём подключения андроид устройства в режиме HOT POINT ( точка доступа) и передачей интернет потока через подключеный WiFi – USB адаптер в гнездо ПК с протоколом USB3 .

56390



Ограничения при подключении устройств к шине USB (вопрос масштабирования в контексте одного сервера ZP)

Две проблемы – узкая полоса пропускания данных шины и ограничения по питанию большого количества внешних устройств.


Решение ограничения по питанию.
USB концентраторы для Андроид устройств для подключения к PC , нужно брать с внешним питанием , из расчёта не менее 0,5 А на единицу или 1-2 А если планируете полностью выключать FARMER от сети на долгое время , тк устройство имею встроенные АКБ и может возникнуть проблема «глубокого разряда».
Подключать в один концентратор , желательно не более 5 устройств . Можно и более ,всё зависит от конфигурации и загрузки PC проектами. В моей конфигурации стабильно( неделями) работало не более 5-7, при большой нагрузке сервера потоками проектов , иногда переставали отвечать" адб демоны" устройств и требовался их перезапуск ( упомяну об этом ниже).

Концентратор
56551


Дополнительное питание , можно реализовать модернизацией цепей питания платы сервера/пк (прямой проброс основных 5V от источника питания , у некоторых плат питание заведено от дежурного источника ) , кто в теме с паяльником –можно повторить.

Для большей стабильности – можно использовать недорогие платы расширения/контроллеры USB2, с доп. питанием.


Решение по интернет потоку.
Есть нюансы – для стабильной работы WIFi-USB адаптеров, при подключении более 5 (проверено опытным путём) устройств , требуется платы расширения-контроллер USB3 /pcE ( в крайнем случае X1 ) , иначе постоянные отвалы интернет соединений - гарантированы. На одно гнездо USB3 pc - один адаптер WIFI-USB (при слабых нагрузках можно и два , но это минус к ширине потока данных и стабильности)

USB3 /pcE контроллер

56153


USB- WIFI адаптер
56552


Или как вариант "раскулачивать" майнеров :D
56171



Структура работы шаблона THE FARMER


3. Сборные задачи по авто подключению WiFI соединения , настройке , установке PROXY , смены IP , первоначальная настройка андроид устройств. (в дополнениях шаблона реализованы запрос смены IP , контроль количества потоков и проектов на количество прокси).

3.1 Первоначальная настройка

Тут много мелочей , подробно останавливаться не буду , у каждого она своя , остановлюсь на нужных для шаблона. Если что дам консультации по нюансам .

Для шаблона потребуется

Андроид устройство. Включить «режим разработчика « , в нём режим «отладки по USB» , в зависимости от модели –« режим зарядка»,разрешить авторизацию ( поставить галочку во всплывющем окне при подключении к PC) .Включить и настроить точку доступа WIFI ( переименовать в уникальное имя ,задать пароль)

ПК. Установить

ADB (описано на форуме неоднократно)

Netsh — это служебная программа на базе командной строки, которая позволяет показывать или изменять конфигурацию сети активного компьютера

TTLPatch , при возникновении проблем с раздачей интернета


Для этой версии шаблона требуется - ВКЛЮЧИТЬ В РЕГИОНАЛЬНЫХ НАСТРОЙКАХ АНГЛИЙСКИЙ ЯЗЫК ИНТЕРФЕЙСА - КАК ОСНОВНОЙ
(Так как используются команды CMD и требуется избежать глюков с кодировками ( полностью это мне побороть не получилось )

Настроить первоначальные соединения WIFI с каждым устройством.
Для упрощения шаблона WIFI соединения требуется переименовать, в формат WIFI 1 , WIFI2 …. WIFI15…WIFI33 , лишнее соединения переводим в состояние Disabled

Должно получиться примерно как на фото:
56154



3.2 Команды и методы по управлению реальными устройствами по ADB , в контексте задач статьи на примере шаблона THE FARMER

З.2.1 Кубиком в ZP "выполнить проект" запускаем исполняемый файл с содержанием

Код:
@echo off
netsh interface ip show config
exit
56158


Берём в переменную STDOUT значения « Configuration for interface “ ,

3.2.2 Идентификация устройств ADB
В работе у меня 12 устройств ( одной известной марки :D ) и встречается часто , что они с одинаковыми / иногда совпадающими серийными номерами. Не сумев ( и слава кому то там) , изменить серийник и помучив немного обитателей дружественного форума «четыре планшета» , нашёл решение в документации по adb

Код:
adb devices –l
Этой командой берём не серийный номер , а присвоенный системой ID устройства , что позволяет очень упростить работу , и в последующем ,по этим номерам обращаться к ним из разных проектов.

56159
56160



3.2.3 Перезапуск ADB
Иногда требуется перезапуск ADB если «демон устройства» перестал отвечать ( используется в некоторых узлах шаблона , при выходе из кубика по ошибке ), помогает автоматически продолжить работу шаблона при низкой стабильности работы фермы из за больших нагрузок

Код:
adb kill-server
3.2.4 Управление сменой IP устройства
Получив ID смартфона , записываем файлы батников/ CMD , для управления сменой IP устройства.
Смену IP можно осуществить , включением «AIRPLANE» , либо более быстрый метод - переключением режима 2G/3G/ и 4G , вызовом соответствующего Activity устройства и эмуляцией нажатий по координатам , на моём устройстве

Поиск нужного «активити «, уже был рассмотрен на страницах форума.
Для моих устройств , для стабильной процедуры смены IP . файл CMD выглядит так

Код:
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input tap 360 1175
adb -t {-Variable.IDSMARTFON-} shell am start -n com.android.phone/.MobileNetworkSettings
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 750
TIMEOUT /T 5 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 555
adb -t {-Variable.IDSMARTFON-} shell input keyevent 3
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
TIMEOUT /T 2 /NOBREAK
exit
{-Variable.IDSMARTFON-} – соответственно ID нужного андроид устройства

TIMEOUT /T 2 /NOBREAK - Таймауты для стабильности работы , зависят от производительности устройства , нагрузки на шину между устройством и PC

adb -t {-Variable.IDSMARTFON-} shell am start -n com.android.phone/.MobileNetworkSettings - вызов активити выбора режима работы сети 2g/4g

adb -t {-Variable.IDSMARTFON-} shell input keyevent 26 - включение/ разблокировка экрана устройства ( нажатие клавиши" вкл") , по умолчанию у устройств экран выключен.

Важное замечание - большинство команд на выключенном экране устройств не работают
по этому в шаблоне реализован контроль за состоянием включения экрана командой и его выключение по умолчанию adb -t 2 shell dumpsys power. Парсим значение регуляркой (?<=Display\ Power:\ state=).*, при его отсутствии ( по ошибке кубика) - делаем вывод , что экран отключен.

Из примера видно что для большинства решения задач по управлению смартфоном не требуется знание С# , а просто использовать кубики ZP :D

вставить скопированный текст adb shell input keyevent 279

есть 2 способа Скопировать текст в буфер обмена android с помощью adb shell .

  1. Использование service call clipboard 2 i32 1 i32 0 s16 "text" - устарело и не работает на android 8
  2. Используя внешний сервис и передайте ему текст через intent extras. Он получает текст, а затем пытается скопировать его в буфер обмена. Например, мы можем установить Clipper на устройство, а затем запустить am broadcast -a clipper.set -e text "text" в adb shell .

Стоит учесть, что adb работает только с латинским алфавитом, цифрами и спецсимволами из ASCII таблички, и ввод несколько ограничен:
Не работает с символами типа ±§
Не работает с переносом строки (Но можно например отдельно вызвать перенос строки другой adb командой adb shell input keyevent 66 (enter)
можно поменять раскладку клавиатуры для кирилицы https://stackoverflow.com/questions/14224549/adb-shell-input-unicode-character/18717209#18717209
записать текст
adb shell input text "write%shere" '% - пробел , если пробела нет - слово можно писать без кавычек
Ввод клавиши или события

adb shell input keyevent №


0 --> "KEYCODE_0"
1 --> "KEYCODE_SOFT_LEFT"
2 --> "KEYCODE_SOFT_RIGHT"
3 --> "KEYCODE_HOME"
4 --> "KEYCODE_BACK"
5 --> "KEYCODE_CALL"
6 --> "KEYCODE_ENDCALL"
7 --> "KEYCODE_0"
8 --> "KEYCODE_1"
9 --> "KEYCODE_2"
10 --> "KEYCODE_3"
11 --> "KEYCODE_4"
12 --> "KEYCODE_5"
13 --> "KEYCODE_6"
14 --> "KEYCODE_7"
15 --> "KEYCODE_8"
16 --> "KEYCODE_9"
17 --> "KEYCODE_STAR"
18 --> "KEYCODE_POUND"
19 --> "KEYCODE_DPAD_UP"
20 --> "KEYCODE_DPAD_DOWN"
21 --> "KEYCODE_DPAD_LEFT"
22 --> "KEYCODE_DPAD_RIGHT"
23 --> "KEYCODE_DPAD_CENTER"
24 --> "KEYCODE_VOLUME_UP"
25 --> "KEYCODE_VOLUME_DOWN"
26 --> "KEYCODE_POWER"
27 --> "KEYCODE_CAMERA"
28 --> "KEYCODE_CLEAR"
29 --> "KEYCODE_A"
30 --> "KEYCODE_B"
31 --> "KEYCODE_C"
32 --> "KEYCODE_D"
33 --> "KEYCODE_E"
34 --> "KEYCODE_F"
35 --> "KEYCODE_G"
36 --> "KEYCODE_H"
37 --> "KEYCODE_I"
38 --> "KEYCODE_J"
39 --> "KEYCODE_K"
40 --> "KEYCODE_L"
41 --> "KEYCODE_M"
42 --> "KEYCODE_N"
43 --> "KEYCODE_O"
44 --> "KEYCODE_P"
45 --> "KEYCODE_Q"
46 --> "KEYCODE_R"
47 --> "KEYCODE_S"
48 --> "KEYCODE_T"
49 --> "KEYCODE_U"
50 --> "KEYCODE_V"
51 --> "KEYCODE_W"
52 --> "KEYCODE_X"
53 --> "KEYCODE_Y"
54 --> "KEYCODE_Z"
55 --> "KEYCODE_COMMA"
56 --> "KEYCODE_PERIOD"
57 --> "KEYCODE_ALT_LEFT"
58 --> "KEYCODE_ALT_RIGHT"
59 --> "KEYCODE_SHIFT_LEFT"
60 --> "KEYCODE_SHIFT_RIGHT"
61 --> "KEYCODE_TAB"
62 --> "KEYCODE_SPACE"
63 --> "KEYCODE_SYM"
64 --> "KEYCODE_EXPLORER"
65 --> "KEYCODE_ENVELOPE"
66 --> "KEYCODE_ENTER"
67 --> "KEYCODE_DEL"
68 --> "KEYCODE_GRAVE"
69 --> "KEYCODE_MINUS"
70 --> "KEYCODE_EQUALS"
71 --> "KEYCODE_LEFT_BRACKET"
72 --> "KEYCODE_RIGHT_BRACKET"
73 --> "KEYCODE_BACKSLASH"
74 --> "KEYCODE_SEMICOLON"
75 --> "KEYCODE_APOSTROPHE"
76 --> "KEYCODE_SLASH"
77 --> "KEYCODE_AT"
78 --> "KEYCODE_NUM"
79 --> "KEYCODE_HEADSETHOOK"
80 --> "KEYCODE_FOCUS"
81 --> "KEYCODE_PLUS"
82 --> "KEYCODE_MENU"
83 --> "KEYCODE_NOTIFICATION"
84 --> "KEYCODE_SEARCH"
85 --> "KEYCODE_MEDIA_PLAY_PAUSE"
86 --> "KEYCODE_MEDIA_STOP"
87 --> "KEYCODE_MEDIA_NEXT"
88 --> "KEYCODE_MEDIA_PREVIOUS"
89 --> "KEYCODE_MEDIA_REWIND"
90 --> "KEYCODE_MEDIA_FAST_FORWARD"
91 --> "KEYCODE_MUTE"
92 --> "KEYCODE_PAGE_UP"
93 --> "KEYCODE_PAGE_DOWN"
94 --> "KEYCODE_PICTSYMBOLS"
...
122 --> "KEYCODE_MOVE_HOME"
123 --> "KEYCODE_MOVE_END"

Ввод короткого нажатия (тапа) по дисплею

adb shell input tap 100 200
Координаты можно посмотреть здесь: Настройки ⇒ Режим разработчика ⇒ Pointer Location

Ввод свайпа по дисплею

adb shell input swipe 100 500 100 1450 100
# X1=100, Y1=500, X2=100, Y2=1450, Duration = 100ms

Ввод долгого тапа по дисплею

Делается также, как и свайп, только вторые координаты == первым.
adb shell input swipe 100 500 100 500 350
# X1=100, Y1=500, X2=100, Y2=500, Duration = 350ms


Код:
adb install /home/user/my_game.apk
Bash
Приведенная выше команда выполнит выгрузку и установку на
подключенное устройство пакета из папки /home/user/ под названием
my_game.apk.

Код:
adb install -r /home/user/my_game.apk
Bash
Выполнит то же самое, только если пакет уже установлен в устройстве то будет выполнена его переустановка.


А теперь получим список имен установленных пакетов:
Код:
adb shell pm list packages
Bash

Зная имя пакета можно выполнить его удаление:
Код:
adb uninstall org.coolreader
Bash

Данная команда удалит пакет Cool Reader (удобная читалка для книг).


Передача файлов

Загрузка файла cool_concert.mkv с компьютера на устройство:
Код:
adb push /home/user/cool_concert.mkv /sdcard/Videos/cool_concert.mkv
Bash
Загрузка файла foto1.jpg с устройства (из папки /sdcard/temp/) на компьютер:
Код:
adb pull /sdcard/temp/foto1.jpg /home/user/Pictures/foto1.jpg
Создание скриншота

Выполняется одной строчкой:

adb shell screencap /sdcard/screen.png

После этого картинку нужно выдернуть из устройства командой adb pull:


adb pull /sdcard/screen.png

В recovery скриншот можно сделать следующей командой:


adb pull /dev/graphics/fb0

Затем необходимо преобразовать файл fb0 в нормальное изображение с
помощью FFmpeg, который нужно скачать и положить в папку с adb.
Расширение необходимо ставить своего устройства:


ffmpeg -f rawvideo -pix_fmt rgb32 -s 1080x1920 -i fb0 fb0.png



Запись видео, происходящего на экране устройства

adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 20 --verbose /sdcard/video.mp4

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

Бонус подключение ADB WIFI - работа без подключения устройства по шнуру USB к PC
ещё подробнее тут


0. ВАЖНО!!! Телефон должен быть рутован, программе нужны права суперпользователя, иначе WiFi ADB не включится.

1. Установил на телефон программу WiFi ADB : https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb

1.1. Запускаем программу WiFi ADB, включаем бегунок по центру экрана

1.2. Если на смартфоне есть root, программа даст свой адрес для коннекта со студией:

"on your computer run
adb connect 192.168.2.100:5555"

! - 192.168.2.100:5555 - это мой адрес, у вас будет адрес в вашей системе, и номер порта тоже может быть другой

2. Далее на ПК в КОМАНДНОЙ СТРОКЕ переходим в папку, куда установлена Android Studio:


C:\Android\sdk\platform-tools\adb.exe


У вас будет другой путь, куда ставили студию...

3. В режиме командной строки поочерёдно вводим следующие команды:

3.1. Получаем список подключенныйх устройств


adb devices


Результат должен быть примерно такой:

List of devices attached
XXXXXXXXX device

3.2. Устанавливаем TCP port , который даст программа WiFi ADB:


adb shell setprop service.adb.tcp.port 5555


3.3. Далее вводим следующую команду


adb tcpip 5555


Может написать такой результат

"restarting in TCP mode port: 5555"

3.4. Подключаемся к WiFi ADB со стороны ПК :


adb connect 192.168.2.100:5555


нажмем компиляцию приложения, откроется окно выбора

В этом окне и будет строка с Вашим телефоном, подключенным к ПК БЕЗ провода






Управление WiFI соединением из ZP и поднятие прокси

4.1 Список доступных интерфейсов WIFI

Реализуется запуском записанного файла кубиком с командой netsh wlan show interface

4.2 Модуль работы шаблона по автоматической установке прокси

Прокси ставятся с помощью известной “3PROXY” на пк для разделения трафика через USB адаптеры , так же оставлена возможность поднять прокси на самом андроид устройстве , путём установки Servers Ultimate через тот же ADB

Сначала останавливаем процесс и удаляем старый 3 прокси , если он был

Код:
sc stop "3proxy"
sc delete "3proxy"
TASKKILL /F/IM 3proxy.exe
Собираем конфиг из информации полученной ранее утилитой NETSH

И запускаем
C:\3proxy\bin\3proxy.exe --install C:\3proxy\bin\3proxy.txt ( дирректорию правим под свой PC)

Подробно не останавливаюсь – много примеров этой программы на форуме



4.3 Получаем список ID устройств и полученных PROXY

Для этого получаем ARP table устройства командой

Код:
adb -t 1 shell ip neighbour
По результату парсим ID андроид устройства, с привязанным к нему для последующей работы номером proxy , и проверяем доступность интернет соединения GET запросом , при ошибке перезапускаем демон ADB.

По пути спарсим о внешний IP (для контроля смены IP),название провайдера интернет


4.4 Автоматизируем при помощи ZP подключение отключение WiFi соединения

В шаблоне реализовано на выше упомянутой утилите NETSH
Включение:
netsh wlan connect name="{-ИмяПрофиляСети-}" interface="{-ИмяИнтерфейса-}"
Если подключение не произошло, автоматика отключит адаптер , для последующей коректной работы
Отключение:
netsh interface set interface name="{-ИмяИнтерфейса-}" admin=disable



Масштабирование , затраты , заработок

Затраты

«Еле2 – наше всё»
Делая «дёшево и сердито» , выбирал устройства не ниже Android 5.1 , обязательное LTE . возможностью установки рут и наличия запасных прошивок .

В итоге остановился на платформе из Tele2 MaxiLte /Midi Lte
Можно приобрести на авито , по цене 4G/LTE свистка /модема :D
  • 12 телефонов обошлись в 12тыс руб....
  • Два концентратора USB/10 - 900 руб
  • Платы контроллер USB3 (увы x1) - 2000 руб (2шт)
  • USB/WiFI адаптеры - 150 руб штука*12 - 1800 руб
Итого можно уложиться в 15 тыс руб.
Сим карты операторов - подходят от простых смартфонов - 250-600 в месяц ( регион /лимит gb/ оператор)


Заработок

Как минимум " безлимит прокси "для генерации и продажи аккаунтов готов :D
У перехода на работу ZP с реальными устройствами - oгромные перспективы на рынке автоответчиков и ботов в комерции , добыче арбитраже трафика , в продвижении топ социальных сетях , выведении сайтов в топ гугл


О масштабировании

Как можно убедиться , автоматически управлять и реализовать большинство задач на реальном устройстве легко и - нет необходимости изучать языки программирования , благодаря инструментам ZP
Поэтому легко повторить THE FARMER или использовать инструменты и способы из статьи для построения своего варианта , что очень подойдёт для новичков .

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





Дополнение о безопасности - постоянного подключенного устройства с АКБ .

В серьёзных зарядных устройствах типа ISDT или IMAX есть специальный режим хранение. Аккумулятор заряжается или разряжается до напряжения 3,80 вольта, что примерно соответствует 50% заряда. При этом напряжении деградация аккумулятора от времени минимальна.

Также будет полезна статья
https://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries
и ответ специалиста от туда же
"The question is asked, “Should I disconnect my laptop from the power grid when not in use?” Under normal circumstances this should not be necessary because charging stops when the Li-ion battery is full. A topping charge is only applied when the battery voltage drops to a certain level. Most users do not remove the AC power, and this practice is safe. " .

Бонус - программа для продления службы АКБ Battery Charge Limit (во вложенных файлах)
Краткое описание:
56403


Для функционирования программы необходимы права root пользователя.
Останавливает заряд на указанном вами значении

Описание:
Многочисленные исследования доказали, что для продления срока службы аккумуляторов их необходимо заряжать до уровня, не превышающего 80%. Утилита Battery Charge Limit поможет установить этот режим зарядки на рутованном устройстве под управлением Android.

Заряд аккумулятора до предельного значения вызывает постепенное снижение его характеристик и уменьшение срока службы. Поэтому в многочисленных руководствах пользователям советуют снимать гаджет с зарядки, когда её уровень достигает 80%.

Но для того чтобы вовремя отключить зарядное устройство, за этим процессом нужно внимательно следить. Поэтому предлагаем вам познакомиться с утилитой Battery Charge Limit, которая автоматически останавливает заряд на указанном вами значении.

Данная утилита изменяет параметры в системном файле charging_enabled, расположенном по адресу sys/class/power_supply/battery. Предупреждаем, что этот метод срабатывает не на всех устройствах, поэтому необходимо испытывать работоспособность Battery Charge Limit на каждом конкретном смартфоне или планшете.

Для изменения предельного уровня заряда запустите программу, введите в поле Limit нужное значение и нажмите на кнопку Change. После этого предоставьте Battery Charge Limit разрешение на получение прав суперпользователя, которые понадобятся для изменения системного файла. Заключительный шаг — активация заданного порога с помощью переключателя Enable.

Утилита Battery Charge Limit не работает в фоновом режиме и не потребляет системных ресурсов. Она автоматически запускается в момент подключения гаджета к зарядному устройству, делает своё дело и тут же закрывается.

Если вы решили удалить программу, то сначала верните уровень заряда на дефолтное значение. Если вы забудете это сделать, перезагрузите устройство, чтобы сделанные с помощью Battery Charge Limit изменения исчезли.


Видео




Шаблон для ознакомления принципа работы прикрепил ( на лишние списки и переменные не обращаем внимания - переделывал 100 раз под разные нужды) , желательно перед запуском прочитать статью и небольшую инструкцию , для ознакомления запускать в PM , шаб сырой и очень капризен пока к настройкам WIFI cоединения , нельзя использовать ни какой русской кодировки...пишите помогу настроить под ваш девайс и ПК. Замечания и дополнения приветствуются.

Посыл в статье не только про смену ip, а про то что у вас , практически в цену модемов, ещё и реальное устройство вместо эмулятора , не требующее таких ресурсов как эмулятор на сервере /pc, а само является доп ресурсом и осуществляет эти функции одновременно ( те раздаёт интернет для шаблонов и работает с загруженными приложениями)
Шаблон перезалил 05.24.20 (в нём остутствовал нужный кубик в модуле смена IP)

Архив перезалит 25.06.2020. 3proxy нужно скачать самостоятельно с сайта 3proxy.ru
 
Тема статьи
Другое
Номер конкурса статей
Тринадцатый конкурс статей

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование модератором:

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
63
Баллы
28
Спасибо. Хороший материал.
Вы таким методом автоматизировали работу с приложениями?
 
  • Спасибо
Реакции: siferot и sergio197675

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
200
Баллы
43
Норм норм годная техническая статья !!!
 
  • Спасибо
Реакции: sergio197675

radv

Client
Регистрация
11.05.2015
Сообщения
3 823
Благодарностей
2 034
Баллы
113
Шикарная статья, даже и не скажешь, что новичок писал. :ay: Поздравляю с дебютом :az:
 
  • Спасибо
Реакции: eliadsonet и sergio197675

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
Спасибо. Хороший материал.
Вы таким методом автоматизировали работу с приложениями?
Нет , этим пока , только автоматизировал смену IP на смартфонах Tele2MIDI lte . Времени жутко не хватает , пока занят другими темами ).
 

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
Класс! Спасибо за полезную информацию! :-) :ay:
Норм норм годная техническая статья !!!
Шикарная статья, даже и не скажешь, что новичок писал. :ay: Поздравляю с дебютом :az:
Благодарю за поддержку!
 
  • Спасибо
Реакции: WLDN
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Очень полезно и интересно, спасибо автору!
Класс! Спасибо за полезную информацию! :-) :ay:
отличные темы в конкурсе не даром он 13й!
Вы что сговорились? Одна тема лучше другой, одна другую дополняет!
Кстати @WLDN ты в курсе что можно две темы сразу в конкурс на участие, думаю тебе пора вторую часть выложить, чего тянуть то до следующего конкурса :-)
давно уже хочу что то такое сделать
 
Последнее редактирование:
  • Спасибо
Реакции: WLDN

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93
Очень полезно и интересно, спасибо автору!

отличные темы в конкурсе не даром он 13й!
Вы что сговорились? Одна тема лучше другой, одна другую дополняет!
Кстати @WLDN ты в курсе что можно две темы сразу в конкурс на участие, думаю тебе пора вторую часть выложить, чего тянуть то до следующего конкурса :-)
давно уже хочу что то такое сделать
Вкурсе, в прошлый раз две выкладывал. :-)
Да конкурс действительно хорош. Обе темы скомбинировать и попробовать свои фермы собрать как на твоем скрине. Пушка! :D:ay:
 
  • Спасибо
Реакции: masterLomaster

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
  • Спасибо
Реакции: orka13

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
а есть возможность включить и выключить авиарежим?
да в старом шаблоне было так, но по времени дольше...первый вариант фермы 30 минут стартовал (((

кстати на реальные устройства - постоянно приходит спам, поэтому надо отключать некоторые сервисы\уведомления , или подготавливать экран очисткой свайпом

Код:
@echo off
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 440 180
adb -t {-Variable.IDSMARTFON-} shell input keyevent 3
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
TIMEOUT /T 2 /NOBREAK
exit
 
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
да в старом шаблоне было так, но по времени дольше...первый вариант фермы 30 минут стартовал (((
Код:
@echo off
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 440 180
adb -t {-Variable.IDSMARTFON-} shell input keyevent 3
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
adb -t {-Variable.IDSMARTFON-} shell input swipe 100 500 700 500 300
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
TIMEOUT /T 2 /NOBREAK
exit
30 минут? так долго? Но если передернуть авиарежим айпишник 100% меняется?
 

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
30 минут? так долго? Но если передернуть авиарежим айпишник 100% меняется?
100% . мняется
13 телефонов по 2-3 минуты на каждый - это при запуске фермы когда вариант был через режим полёта ,
сейчас общий старт 5 минут , смена айпишника 15-20 сек - 1 телефон,.... оптимизировал шаб))
 
  • Спасибо
Реакции: masterLomaster

Nats1

Client
Регистрация
15.04.2015
Сообщения
198
Благодарностей
194
Баллы
43
Ниче так статья, наверное проголосую
 
  • Спасибо
Реакции: sergio197675

vrska

Client
Регистрация
07.02.2010
Сообщения
589
Благодарностей
408
Баллы
63
  • Спасибо
Реакции: Kitagen и Karamzin

Nats1

Client
Регистрация
15.04.2015
Сообщения
198
Благодарностей
194
Баллы
43

artomka

Client
Регистрация
23.08.2018
Сообщения
159
Благодарностей
93
Баллы
28
C#:
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input tap 360 1175
adb -t {-Variable.IDSMARTFON-} shell am start -n com.android.phone/.MobileNetworkSettings
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 750
TIMEOUT /T 5 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 555
adb -t {-Variable.IDSMARTFON-} shell input keyevent 3
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
TIMEOUT /T 2 /NOBREAK
exit
adb shell поддерживает комбинирование команд.

C#:
adb shell "am start -a android.settings.AIRPLANE_MODE_SETTINGS;sleep 0.5;input keyevent 19;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 23;sleep 0.5;input keyevent 23;sleep 0.5;am force-stop com.android.settings"


C#:
adb shell svc data disable
adb shell svc data enable

Для этого нужен рут на устройстве.
 
  • Спасибо
Реакции: traffman и masterLomaster

QWER-MAS

Client
Регистрация
14.05.2015
Сообщения
99
Благодарностей
10
Баллы
18
THE FARMER
или ферма для android устройств на кубиках ZennoPoster без использования C#


Предисловие

Работая в сфере ремонта бытовой РЭА и смотря как , непериодически падают объёмы работ, стал смотреть / расширять кругозор/ в сторону WEB. "Боже как я ошибся с этим выбором!"- шутка ))
Тут парни уже реализовали это другим способом IProxy без кабелей и wifi модулей.
Сам раньше поднимал прокси по кабелю, и включал авиа режим на телефоне по таймеру, сейчас работаю через их приложение.
 

limarkximus

Client
Регистрация
01.08.2019
Сообщения
115
Благодарностей
73
Баллы
28
Тут парни уже реализовали это другим способом [URL='https://iproxy.online]IProxy[/URL] без кабелей и wifi модулей.
Сам раньше поднимал прокси по кабелю, и включал авиа режим на телефоне по таймеру, сейчас работаю через их приложение.
а потом вдруг оказывается что эти прокси юзаешь ты и еще 100 человек)
 
  • Спасибо
Реакции: todayer

luk911

Client
Регистрация
17.01.2013
Сообщения
1 542
Благодарностей
579
Баллы
113
Писька синяя ? до и после фото плиз.
 
  • Спасибо
Реакции: orka13

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
Тут парни уже реализовали это другим способом IProxy без кабелей и wifi модулей.
Сам раньше поднимал прокси по кабелю, и включал авиа режим на телефоне по таймеру, сейчас работаю через их приложение.
Посыл в статье не только про смену ip, а про то что у вас в цену модемов ещё и реальное устройство вместо эмулятора, ,не требующее таких ресурсов как эмулятор, а само является доп ресурсом .
 

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
C#:
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
adb -t {-Variable.IDSMARTFON-} shell input keyevent 82
adb -t {-Variable.IDSMARTFON-} shell input tap 360 1175
adb -t {-Variable.IDSMARTFON-} shell am start -n com.android.phone/.MobileNetworkSettings
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 750
TIMEOUT /T 5 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input tap 250 530
adb -t {-Variable.IDSMARTFON-} shell input tap 100 555
adb -t {-Variable.IDSMARTFON-} shell input keyevent 3
TIMEOUT /T 2 /NOBREAK
adb -t {-Variable.IDSMARTFON-} shell input keyevent 26
TIMEOUT /T 2 /NOBREAK
exit
adb shell поддерживает комбинирование команд.

C#:
adb shell "am start -a android.settings.AIRPLANE_MODE_SETTINGS;sleep 0.5;input keyevent 19;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 20;sleep 0.5;input keyevent 23;sleep 0.5;input keyevent 23;sleep 0.5;am force-stop com.android.settings"


C#:
adb shell svc data disable
adb shell svc data enable

Для этого нужен рут на устройстве.
благодарю, дополню статью с ссылочкой на вашу помощь
 
  • Спасибо
Реакции: masterLomaster

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
  • Спасибо
Реакции: sergio197675

sergio197675

Client
Регистрация
21.09.2019
Сообщения
360
Благодарностей
318
Баллы
63
Шаблон не подвезли еще? :-)
могу выложить как есть- но будет страшно и не понятно, тк вносил правки 3 мес. и там куча ненужных переменных и модулей ,которые не помню как но работают - поэтому не трогал , а во круг строил новое..)) пару тройку дней и видео с шаблоном прикреплю
 
  • Спасибо
Реакции: Koqpe

Kedr

Client
Регистрация
31.08.2016
Сообщения
42
Благодарностей
27
Баллы
18
  • Спасибо
Реакции: sergio197675

frion-seo

Client
Регистрация
27.02.2011
Сообщения
538
Благодарностей
471
Баллы
63
Посыл в статье не только про смену ip, а про то что у вас в цену модемов ещё и реальное устройство вместо эмулятора, ,не требующее таких ресурсов как эмулятор, а само является доп ресурсом .
Все круто конечно, но критическое отличие использования мобил от свистков в том, что в мобилах через пол года-год такой эксплуатации вздуваются акумы. Увы в некоторых моделях это приводит к критическим поломкам...
IMG_84581.JPGpost-81-original.jpg
 

Lite

Client
Регистрация
17.10.2013
Сообщения
290
Благодарностей
100
Баллы
43
Все круто конечно, но критическое отличие использования мобил от свистков в том, что в мобилах через пол года-год такой эксплуатации вздуваются акумы. Увы в некоторых моделях это приводит к критическим поломкам...
А если удалить акум, и работать без него?
 

tatarin

Client
Регистрация
28.10.2012
Сообщения
816
Благодарностей
139
Баллы
43
Странно почему аккумуляторы вздуваються, если они по сути не используються:(
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)