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

sergio197675

Client
Регистрация
21.09.2019
Сообщения
88
Благодарностей
86
Баллы
18
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
 

Вложения

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

WLDN

Client
Регистрация
09.07.2015
Сообщения
191
Благодарностей
287
Баллы
63
Класс! Спасибо за полезную информацию! :-) :ay:
 
  • Спасибо
Реакции: sergio197675

seregakot

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

AZANIR

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

radv

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

sergio197675

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

sergio197675

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

WLDN

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

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

sergio197675

Client
Регистрация
21.09.2019
Сообщения
88
Благодарностей
86
Баллы
18

sergio197675

Client
Регистрация
21.09.2019
Сообщения
88
Благодарностей
86
Баллы
18
а есть возможность включить и выключить авиарежим?
да в старом шаблоне было так, но по времени дольше...первый вариант фермы 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 836
Благодарностей
692
Баллы
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
Сообщения
88
Благодарностей
86
Баллы
18
30 минут? так долго? Но если передернуть авиарежим айпишник 100% меняется?
100% . мняется
13 телефонов по 2-3 минуты на каждый - это при запуске фермы когда вариант был через режим полёта ,
сейчас общий старт 5 минут , смена айпишника 15-20 сек - 1 телефон,.... оптимизировал шаб))
 
  • Спасибо
Реакции: masterLomaster

Nats1

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

Nats1

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

artomka

Client
Регистрация
23.08.2018
Сообщения
49
Благодарностей
17
Баллы
8
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

QWER-MAS

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


Предисловие

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

limarkximus

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

luk911

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

sergio197675

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

sergio197675

Client
Регистрация
21.09.2019
Сообщения
88
Благодарностей
86
Баллы
18
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

sergio197675

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

Kedr

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

frion-seo

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

Lite

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

tatarin

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

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