Вопрос по прокси

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
Пытаюсь разобраться с алгоритмом работы ЗенноДроида.
Дано:
Создаётся виртуальная машина, запускается, на неё вешается прокси, затем устанавливается приложение, в нём производятся манипуляции. После этого ВМ я останавливаю.
Само по себе приложение имеет в списке разрешений пункт "Запуск при загрузке" (Позволяет приложению запускаться при загрузке устройства). Большинство современных приложений имеет это разрешение.

И вот приходит момент запускать ВМ второй раз с уже предустановленным приложением. Запускается ВМ, и если я всё правильно понимаю, приложение тоже запускается на старте, и получается, что обнаруживает мой реальный IP, т.к. к кубику с прокси мы еще не подобрались - только-только вышли из кубика "Запуск ВМ".
Если же пробовать идти в обратном порядке - сначала устанавливаем прокси, а затем запускаем ВМ, то прокси не цепляется. Кубик с прокси проходит по зеленой ветке, но вьюпорт по-прежнему гласит "Без прокси".

Понимаю, что где-то туплю, т.к. ситуация выглядит странно: куча приложений имеет разрешение запуска при загрузке, и выглядит так, что смысл в прокси теряется, если сначала мы выходим все в белом, а только потом укрываемся чёрным плащом.

Как быть в таком случае? Каков алгоритм установки прокси ДО запуска ВМ (глупо звучит конечно), чтобы приложение на старте не обнаруживало мой IP?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 493
Благодарностей
8 697
Баллы
113
@blamingas Проксируется процесс, т.е. ДО запуска эмулятора проксировать нечего.Прокси цепляется к процессу memuheadless.exe сразу после появления. Это происходит намного раньше чем произойдет инициализация Андроид, и тем более запустятся любые приложения.

Алгоритм такой сейчас:
Ставим экшен прокси перед запуском машины. Выполняем его.
Запускаем машину.Как только появятся процессы (memu.exe и memuheadless.exe) включится прокси.
 
  • Спасибо
Реакции: blamingas

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
@blamingas Проксируется процесс, т.е. ДО запуска эмулятора проксировать нечего.Прокси цепляется к процессу memuheadless.exe сразу после появления. Это происходит намного раньше чем произойдет инициализация Андроид, и тем более запустятся любые приложения.

Алгоритм такой сейчас:
Ставим экшен прокси перед запуском машины. Выполняем его.
Запускаем машину.Как только появятся процессы (memu.exe и memuheadless.exe) включится прокси.
Спасибо. Исчерпывающе. Сбивало с толку, что когда экшн прокси отработал до запуска ВМ, в нижней строке инстанса по-прежнему присутствует надпись "Без прокси". Теперь вижу, что она действительно изменяется на адрес прокси, когда ВМ запущена. Непривычно после Зеннопостера.
 
  • Спасибо
Реакции: Sergodjan

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
Также, чтобы два раза не вставать - заметил, что в экшнах GET и POST, при отправке данных с установленной опцией "Текущий прокси проекта", прокси к запросам не цепляется (подозреваю из-за того, что прокси встраивается не в Дроид, а в виде внешней утилиты становится между Дроидом и Эмулятором).

Я подобным методом привык в Зеннопостере делать проверку через api.ipify.org прицепилась прокси или нет (дублируя два get-экшна - в одном "Без прокси", получая реальный ip, в другом с "Текущий прокси проекта", получая уже ip прокси, и потом сравнивая их).

В ЗенноДроиде, получается, этот метод не работает. "Текущий прокси проекта" отправляет запрос без прокси, а если в опциях прописать вручную, то я получу картину только для этого запроса, а не для инстанса в целом.
Каким методом в эмуляторе можно проверять ip-адрес?
 

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
Также, не вопрос, а предупреждение другим юзерам:
Заметил, что если запуск ВМ произошёл неуспешно (как, например, в случае импортирования ВМ из файла, в 50% случаев запуск всегда неуспешен), то перед тем как по циклу повторно идти на экшн Запуска ВМ, необходимо заново пройти через кубик привязки прокси. Иначе запуск ВМ произойдет без привязки прокси.
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 493
Благодарностей
8 697
Баллы
113
Также, чтобы два раза не вставать - заметил, что в экшнах GET и POST, при отправке данных с установленной опцией "Текущий прокси проекта", прокси к запросам не цепляется (подозреваю из-за того, что прокси встраивается не в Дроид, а в виде внешней утилиты становится между Дроидом и Эмулятором).

Я подобным методом привык в Зеннопостере делать проверку через api.ipify.org прицепилась прокси или нет (дублируя два get-экшна - в одном "Без прокси", получая реальный ip, в другом с "Текущий прокси проекта", получая уже ip прокси, и потом сравнивая их).

В ЗенноДроиде, получается, этот метод не работает. "Текущий прокси проекта" отправляет запрос без прокси, а если в опциях прописать вручную, то я получу картину только для этого запроса, а не для инстанса в целом.
Каким методом в эмуляторе можно проверять ip-адрес?
А какой IP возвращает api.ipify.org если сделать GET-запрос из ЗД с установленным прокси на ВМ?
 

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
А какой IP возвращает api.ipify.org если сделать GET-запрос из ЗД с установленным прокси на ВМ?
Это будет зависеть от того, с какой настройкой прокси внутри GET-экшна делается запрос (см. скриншот)

В случае api.ipify.org, ситуация с ip следующая:
В ЗенноПостере было так:
- Без прокси - мой ip
- Текущий прокси проекта - ip прокси.
- Строка[...] - ip прокси.

В ЗенноДроиде на практике выглядит так:
- Без прокси - мой ip
- Текущий прокси проекта - мой ip
- Строка[...] - ip прокси.

Т.е. такое ощущение, что в ЗД автоматом через прокси идут только те запросы, которые идут через андроид-инстанс. А GET-ы идут напрямую (мимо инстанса) поэтому прокси проекта на них, получается, не распространяется, и нужно каждый раз прописывать вручную через "Строку[...]", что довольно неудобно. Ну и в случае api.ipify.org проверять через get прикрутилась прокси или нет, из-за этого становится бессмысленно.
 

Вложения

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 493
Благодарностей
8 697
Баллы
113
- Текущий прокси проекта - мой ip
В дроиде не работает проксирование инстанса из постера. Его тут нет.
Чтобы выполнить запрос, нужно выполнять команды непосредственно в эмуляторе.

Команда Adb Shell:
curl -s https://api.ipify.org
Как пример.

Единственное, curl из коробки есть только в образах Android 7 (x86 и x64).
Для старых версий ВМ (которые без встроенного curl) нужно поставить галочку:

83186
 
  • Спасибо
Реакции: Deisler и blamingas

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
  • Спасибо
Реакции: Sergodjan

Emmett_Red

Client
Регистрация
14.09.2019
Сообщения
83
Благодарностей
9
Баллы
8
Получается экшен GET не работает с текущим прокси?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 493
Благодарностей
8 697
Баллы
113
Получается экшен GET не работает с текущим прокси?
Пока да.
Впоследствии этот режим будет доработан, либо убран.
Можно вместо него использовать другой режим (Строка[...]).
 
Последнее редактирование:

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