Android API 29 wprowadził VpnService.Builder.setHttpProxy, aby dołączyć zalecenie serwera proxy HTTP do sieci VPN. W istniejącej usłudze VPN, przed ustanowieniem jej skonfigurowanego interfejsu:

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

Tutaj builder to VpnService.Builder usługi, a ProxyInfo to android.net.ProxyInfo. Podaj hosta i port serwera proxy osobno. Ten fragment dodaje informacje o proxy do buildera, którego pozostałe parametry VPN są już skonfigurowane.

Serwery proxy PAC nie są obsługiwane przez to API. Utworzenie ProxyInfo z PAC URI nie czyni go obsługiwaną konfiguracją proxy VPN; użyj osiągalnego bezpośredniego punktu końcowego HTTP proxy. Dla dozwolonego ruchu publicznego lista serwerów proxy HTTP podaje kandydatów na hosta i port, których osiągalność trzeba sprawdzić w ramach układu routingu VPN.

To ustawienie ma charakter doradczy. Aplikacje mogą je zignorować, więc nie gwarantuje, że każde połączenie użyje proxy. W tunelu dzielonym aplikacje stosujące się do zalecenia mogą też próbować wysyłać żądania HTTP do miejsc docelowych poza VPN przez ten proxy. Te aplikacje nie potrafią rozróżnić obu grup tras przy stosowaniu informacji o proxy. Sprawdź osiągalność pośrednika w tym układzie routingu, zanim uznasz ustawienie za kompletne.

Powiązane artykuły