- Регистрация
- 21.09.2019
- Сообщения
- 360
- Благодарностей
- 318
- Баллы
- 63
THE FARMER
или
ферма для android устройств на кубиках ZennoPoster
без использования C#
или
ферма для android устройств на кубиках ZennoPoster
без использования C#
Предисловие
Работая в сфере ремонта бытовой РЭА и смотря как , непериодически падают объёмы работ, стал смотреть / расширять кругозор/ в сторону WEB. "Боже как я ошибся с этим выбором!"- шутка ))
И так прошу «сильно не пинать» , я новичёк в WEB , ноль в С# и прочих языках программирования, может статья мотивирует смелее генерировать идеи новичкам на форуме!
Итак , вступив полным новичком в мир WEB , опробовав кучу разной бесполезности и потерявшей актуальности готового «чудо софта» в сфере арбитража трафика , кривая дорожка наконец то вывела на решение , в котором новичёк и полный нуль в программировании , может построить свои продукты под свои нужды и даже попробовать продать их! Этим конструктором «лего для маленьких программистов» , оказалось мощное решение “Zennoposter”
Увлечённый «дейт трафиком» , решил приложить свой опыт «социнженерии в отношении женского полу « в этой нише. И через месяц написал на «зеннокубиках» регистратор «мамба» , затем бот для мамба , потом «бота на пост гет», но всё не работало и работало максимум пару дней и все «акки улетали в бан « ,несмотря на заверения продавцов прокси в «их эксклюзивности».
…» кривая дорожка « опять вывела на решение – «сделай сам – тыж программист»))
Подумав о мобильных прокси , перебрав варианты и перспективы развития « антиспама «, отмёл готовые решения , став изучать работу на реальных устройствах , чтобы в последствии их использовать не только в качестве" THE FARMER".
Преимущество реальных устройств:
это следующий более высший уровень эмуляции , в котором с помощью ZP можно автоматизировать ,как минимум - загрузку новых фингер принт , сборку с закачкой нового приложения, удаление следов рут , разработчика, и др через подключение ADB как по шнуру так и беспроводному соединению! Открываются дальнейшие перспективы из за прямого доступа к железу - камера, GPS и пр.
Вот типовая схема подключения камеры планшета/ноутбука , те простой USB порт ....)
Ведь сколько топ приложений отказывают в запуске на эмуляторах ?..
Несколько месяцев мытарств , привели к тех решению “это не эстетично , зато дёшево и практично , которое приведу ниже.
Тех задачи и решение
В процессе создания фермы требовалось
- Обеспечить пул стабильных сменяемых 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 .
Ограничения при подключении устройств к шине USB (вопрос масштабирования в контексте одного сервера ZP)
Две проблемы – узкая полоса пропускания данных шины и ограничения по питанию большого количества внешних устройств.
Решение ограничения по питанию.
USB концентраторы для Андроид устройств для подключения к PC , нужно брать с внешним питанием , из расчёта не менее 0,5 А на единицу или 1-2 А если планируете полностью выключать FARMER от сети на долгое время , тк устройство имею встроенные АКБ и может возникнуть проблема «глубокого разряда».
Подключать в один концентратор , желательно не более 5 устройств . Можно и более ,всё зависит от конфигурации и загрузки PC проектами. В моей конфигурации стабильно( неделями) работало не более 5-7, при большой нагрузке сервера потоками проектов , иногда переставали отвечать" адб демоны" устройств и требовался их перезапуск ( упомяну об этом ниже).
Концентратор
Дополнительное питание , можно реализовать модернизацией цепей питания платы сервера/пк (прямой проброс основных 5V от источника питания , у некоторых плат питание заведено от дежурного источника ) , кто в теме с паяльником –можно повторить.
Для большей стабильности – можно использовать недорогие платы расширения/контроллеры USB2, с доп. питанием.
Решение по интернет потоку.
Есть нюансы – для стабильной работы WIFi-USB адаптеров, при подключении более 5 (проверено опытным путём) устройств , требуется платы расширения-контроллер USB3 /pcE ( в крайнем случае X1 ) , иначе постоянные отвалы интернет соединений - гарантированы. На одно гнездо USB3 pc - один адаптер WIFI-USB (при слабых нагрузках можно и два , но это минус к ширине потока данных и стабильности)
USB3 /pcE контроллер
USB- WIFI адаптер
Или как вариант "раскулачивать" майнеров
Структура работы шаблона THE FARMER
3. Сборные задачи по авто подключению WiFI соединения , настройке , установке PROXY , смены IP , первоначальная настройка андроид устройств. (в дополнениях шаблона реализованы запрос смены IP , контроль количества потоков и проектов на количество прокси).
3.1 Первоначальная настройка
Тут много мелочей , подробно останавливаться не буду , у каждого она своя , остановлюсь на нужных для шаблона. Если что дам консультации по нюансам .
Для шаблона потребуется
Андроид устройство. Включить «режим разработчика « , в нём режим «отладки по USB» , в зависимости от модели –« режим зарядка»,разрешить авторизацию ( поставить галочку во всплывющем окне при подключении к PC) .Включить и настроить точку доступа WIFI ( переименовать в уникальное имя ,задать пароль)
ПК. Установить
ADB (описано на форуме неоднократно)
Netsh — это служебная программа на базе командной строки, которая позволяет показывать или изменять конфигурацию сети активного компьютера
TTLPatch , при возникновении проблем с раздачей интернета
Для этой версии шаблона требуется - ВКЛЮЧИТЬ В РЕГИОНАЛЬНЫХ НАСТРОЙКАХ АНГЛИЙСКИЙ ЯЗЫК ИНТЕРФЕЙСА - КАК ОСНОВНОЙ
(Так как используются команды CMD и требуется избежать глюков с кодировками ( полностью это мне побороть не получилось )
Настроить первоначальные соединения WIFI с каждым устройством.
Для упрощения шаблона WIFI соединения требуется переименовать, в формат WIFI 1 , WIFI2 …. WIFI15…WIFI33 , лишнее соединения переводим в состояние Disabled
Должно получиться примерно как на фото:
3.2 Команды и методы по управлению реальными устройствами по ADB , в контексте задач статьи на примере шаблона THE FARMER
З.2.1 Кубиком в ZP "выполнить проект" запускаем исполняемый файл с содержанием
Код:
@echo off
netsh interface ip show config
exit
Берём в переменную STDOUT значения « Configuration for interface “ ,
3.2.2 Идентификация устройств ADB
В работе у меня 12 устройств ( одной известной марки ) и встречается часто , что они с одинаковыми / иногда совпадающими серийными номерами. Не сумев ( и слава кому то там) , изменить серийник и помучив немного обитателей дружественного форума «четыре планшета» , нашёл решение в документации по adb
Код:
adb devices –l
3.2.3 Перезапуск ADB
Иногда требуется перезапуск ADB если «демон устройства» перестал отвечать ( используется в некоторых узлах шаблона , при выходе из кубика по ошибке ), помогает автоматически продолжить работу шаблона при низкой стабильности работы фермы из за больших нагрузок
Код:
adb kill-server
Получив 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
- Таймауты для стабильности работы , зависят от производительности устройства , нагрузки на шину между устройством и PCadb -t {-Variable.IDSMARTFON-} shell am start -n com.android.phone/.MobileNetworkSettings
- вызов активити выбора режима работы сети 2g/4gadb -t {-Variable.IDSMARTFON-} shell input keyevent 26
- включение/ разблокировка экрана устройства ( нажатие клавиши" вкл") , по умолчанию у устройств экран выключен.Важное замечание - большинство команд на выключенном экране устройств не работают
по этому в шаблоне реализован контроль за состоянием включения экрана командой и его выключение по умолчанию
adb -t 2 shell dumpsys power
. Парсим значение регуляркой (?<=Display\ Power:\ state=).*
, при его отсутствии ( по ошибке кубика) - делаем вывод , что экран отключен.Из примера видно что для большинства решения задач по управлению смартфоном не требуется знание С# , а просто использовать кубики ZP
вставить скопированный текст adb shell input keyevent 279
есть 2 способа Скопировать текст в буфер обмена android с помощью 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
есть 2 способа Скопировать текст в буфер обмена android с помощью adb shell .
- Использование service call clipboard 2 i32 1 i32 0 s16 "text" - устарело и не работает на android 8
- Используя внешний сервис и передайте ему текст через 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
Код:
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
нажмем компиляцию приложения, откроется окно выбора
В этом окне и будет строка с Вашим телефоном, подключенным к ПК БЕЗ провода
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
И запускаем
C:\3proxy\bin\3proxy.exe --install C:\3proxy\bin\3proxy.txt
( дирректорию правим под свой PC)Подробно не останавливаюсь – много примеров этой программы на форуме
4.3 Получаем список ID устройств и полученных PROXY
Для этого получаем ARP table устройства командой
Код:
adb -t 1 shell ip neighbour
По пути спарсим о внешний 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 свистка /модема
- 12 телефонов обошлись в 12тыс руб....
- Два концентратора USB/10 - 900 руб
- Платы контроллер USB3 (увы x1) - 2000 руб (2шт)
- USB/WiFI адаптеры - 150 руб штука*12 - 1800 руб
Сим карты операторов - подходят от простых смартфонов - 250-600 в месяц ( регион /лимит gb/ оператор)
Заработок
Как минимум " безлимит прокси "для генерации и продажи аккаунтов готов
У перехода на работу 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 (во вложенных файлах)
Краткое описание:
Для функционирования программы необходимы права 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 изменения исчезли.
Останавливает заряд на указанном вами значении
Описание:
Многочисленные исследования доказали, что для продления срока службы аккумуляторов их необходимо заряжать до уровня, не превышающего 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
- Тема статьи
- Другое
- Номер конкурса статей
- Тринадцатый конкурс статей
Вложения
-
982,2 КБ Просмотры: 489
-
1,7 МБ Просмотры: 552
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование модератором: