Definir configurações de proxy ethernet sem WiFi

8

Estou brincando com o último android-x86 (4.4) no virtualbox. A instalação pode conectar-se à rede externa somente através de um dispositivo Ethernet NAT que é emulado pela caixa virtual. Isso fica bem configurado automaticamente e eu posso executar ping em computadores na minha LAN.

Se eu estiver export http_proxy=<host>:<port>em um terminal, posso wgetpáginas da web. No entanto, não consigo definir as configurações de proxy globalmente para todos os aplicativos.

As configurações de proxy são exibidas somente após a conexão de uma rede Wi-Fi e não tenho dispositivos Wi-Fi na máquina virtual.

Eu tentei o seguinte no terminal raiz acessível de alt+f1:

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

Mas isso não tem nenhum efeito. Até novos terminais não possuem a variável env para o proxy. Essas configurações parecem estar definidas quando eu a verifico executandogetprop

Encontrei este link para o fragmento que parece exibir o seletor de proxys para o wifi.

Existe alguma maneira de definir manualmente todas as configurações afetadas por este fragmento?

staticd
fonte
Se a versão Android é 6 ou 7, aqui está a solução: android.stackexchange.com/a/186820
kaorukobo

Respostas:

6

Esta solução funcionou para mim.

Basta digitar o seguinte comando em um terminal (alterar PROXYIP:PROXYPORT)

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

Fonte: https://groups.google.com/forum/#!topic/android-x86/XfIRyHQ5nmk

Eu também tentei todos os seus comandos sem sucesso. Eu estava preso atrás de um proxy tentando configurar o Android x86 com uma VM VirtualBox que só tinha eth0. Eu estava preso na tela de ativação, não resolvendo as páginas da web necessárias para continuar no sistema operacional. Depois de executar o comando acima, consegui acessar a web e continuar. Os resultados podem variar por ambiente proxy.

Edit: Isso não me levou muito longe, mas me levou a algum lugar. O mesmo truque não funcionou para 443.

Kynolin
fonte
4
Você conseguiu fazê-lo funcionar para 443? Não consigo obter conexões ssl com proxy, não importa o que eu faça. Http funciona bem.
Saurabh3321
Verifique o SandroProxy tem opções para encaminhar para proxy para proxy
user956584
O protoent * getprotobyname (char const *) (3) não está implementado no Android
5/18
@ Saurabh3321 a proxy transparente httpsrequer o SSL Bump (MITM). Você precisa adicionar a CA do proxy ao dispositivo / aplicativo.
Irfan Latif