Настройка параметров прокси Ethernet без WiFi

Я играю с последней версией Android-x86 (4.4) в виртуальном боксе. Программа установки может подключаться к внешней сети только через устройство NAT ethernet, которое эмулируется виртуальной коробкой. Это прекрасно настраивается автоматически, и я могу пинговать компьютеры в своей локальной сети.

Если я export http_proxy=<host>:<port>в терминале, я могу wgetвеб-страницы. Однако я не могу установить глобальные настройки прокси для всех приложений.

Настройки прокси отображаются только после подключения к сети Wi-Fi, а в виртуальной машине мне не хватает каких-либо устройств Wi-Fi.

Я пробовал следующее в корневом терминале, доступном из alt+f1:

setprop global_http_proxy_host <host>
setprop global_http_proxy_port <port>
setprop net.gprs.http-proxy http://<host>:<port>

Но это не имеет никакого эффекта. Даже в новых терминалах отсутствует переменная env для прокси. Эти настройки кажутся установленными, когда я проверяю их, выполнивgetprop

Я нашел эту ссылку на фрагмент, который, кажется, отображает селектор прокси для Wi-Fi.

Есть ли способ вручную установить все настройки, на которые влияет этот фрагмент?

Если версия Android 6 или 7, вот решение: android.stackexchange.com/a/186820

Ответы (1)

Это решение сработало для меня.

Просто введите следующую команду в терминал (изменить PROXYIP:PROXYPORT)

iptables -t nat -A OUTPUT -o eth0 -p tcp --dport 80 -j DNAT --to PROXYIP:PROXYPORT

Источник: https://groups.google.com/forum/#!topic/android-x86/XfIRyHQ5nmk

Я тоже безуспешно пробовал все ваши команды. Я застрял за прокси-сервером, пытаясь настроить Android x86 с виртуальной машиной VirtualBox, у которой был только eth0. Я застрял на экране активации, не разрешая нужные веб-страницы для продолжения в ОС. После выполнения вышеуказанной команды я смог выйти в Интернет и продолжить. Результаты могут различаться в зависимости от среды прокси.

Редактировать: это не слишком далеко меня завело, но куда-то меня привело. Тот же трюк не сработал для 443.

Удалось ли вам заставить его работать на 443? Я не могу проксировать ssl-соединения, что бы я ни делал. HTTP работает нормально.
Убедитесь, что у SandroProxy есть варианты переадресации с прокси на прокси
protoent* getprotobyname(char const*)(3) не реализован на Android
@ Saurabh3321 для прозрачного проксирования httpsтребуется SSL Bump (MITM). Вам необходимо добавить ЦС прокси-сервера в устройство/приложение.