VPN-сеткі Android могуць абвяшчаць HTTP-праксі
Выкарыстоўвайце непасрэдны ProxyInfo з VpnService.Builder у Android API 29 або навейшым і зразумеце, чаму PAC URI там не працуе.
Android API 29 прадставіў VpnService.Builder.setHttpProxy для далучэння рэкамендацыі HTTP-проксі да VPN-сеткі. У існуючай службе VPN, перад усталяваннем яе наладжанага інтэрфейсу:
builder.setHttpProxy(
ProxyInfo.buildDirectProxy("proxy.example", 8080));
Тут builder — гэта VpnService.Builder службы, а ProxyInfo — android.net.ProxyInfo. Падавайце хаст і порт проксі асобна. Гэты фрагмент дадае звесткі пра проксі да builder, іншыя параметры VPN якога ўжо наладжаны.
Проксі PAC гэтым API не падтрымліваюцца. Стварэнне ProxyInfo з PAC URI не робіць яго падтрымоўванай канфігурацыяй VPN-проксі; выкарыстоўвайце даступную непасрэдную канцавую кропку HTTP-проксі. Для дазволенага публічнага трафіку спіс HTTP-проксі дае кандыдатаў у хасты і парты, даступнасць якіх трэба правяраць у межах схемы маршрутызацыі VPN.
Гэтая налада мае рэкамендацыйны характар. Праграмы могуць яе ігнараваць, таму яна не гарантуе, што кожнае злучэнне выкарыстоўвае проксі. У раздзеленым тунелі праграмы, якія ідуць за рэкамендацыяй, могуць таксама спрабаваць адпраўляць HTTP-запыты да прызначэнняў па-за VPN праз гэты проксі. Гэтыя праграмы не могуць адрозніць дзве групы маршрутаў, ужываючы звесткі пра проксі. Праверце даступнасць пасярэдніка ў такой схеме маршрутызацыі, перш чым лічыць наладу поўнай.