Android API 29 introduciu VpnService.Builder.setHttpProxy para adxuntar unha recomendación de proxy HTTP a unha rede VPN. Nun servizo VPN existente, antes de establecer a súa interface configurada:

builder.setHttpProxy(
    ProxyInfo.buildDirectProxy("proxy.example", 8080));

Aquí builder é o VpnService.Builder do servizo e ProxyInfo é android.net.ProxyInfo. Indique o host e o porto do proxy por separado. Este fragmento engade a información do proxy a un builder cuxos demais parámetros VPN xa están configurados.

Os proxys PAC non son compatibles con esta API. Crear un ProxyInfo a partir dun URI PAC non o converte nunha configuración de proxy VPN compatible; use un punto final de proxy HTTP directo e accesible. Para o tráfico público permitido, a lista de proxys HTTP fornece candidatos de host e porto, cuxa accesibilidade debe comprobarse segundo a disposición de enrutamento da VPN.

O axuste é orientativo. As aplicacións poden ignoralo, así que non pode garantir que todas as conexións usen o proxy. Nun túnel dividido, as aplicacións que seguen a recomendación tamén poden tentar enviar solicitudes HTTP a destinos fóra da VPN a través dese proxy. Esas aplicacións non poden distinguir os dous grupos de rutas ao aplicar a información do proxy. Comprobe a accesibilidade do intermediario segundo esa disposición de enrutamento antes de considerar o axuste completo.

Artigos relacionados