Android установить PA C Uri на уровень устройства - PullRequest
0 голосов
/ 14 марта 2020

Я хочу установить PA C proxy uri на уровень устройства, чтобы весь трафик устройства c проходил через прокси PA C. Я использовал ProxyInfo класс с PA C uri в качестве параметра для VPNService.Builder.setHttpProxy .

Я не создаю туннель, так как хочу это будет локальный VPN. Этот код работает на эмуляторе, но не работает на устройстве (и эмулятор, и устройство работают на android 10).

Ниже приведен код, который я использую для установки sh VPN:

            VpnService.Builder builder = mService.new Builder();
            builder.addAddress("172.16.10.119", 24);
//            builder.addRoute("0.0.0.0", 0);
            builder.addDnsServer("8.8.4.4");

            builder.setSession(mServerName).setConfigureIntent(mConfigureIntent);
            Uri pacUri = Uri.parse(sPacUrl);
            ProxyInfo pInfo = ProxyInfo.buildPacProxy(pacUri);
            builder.setHttpProxy(pInfo);

            final ParcelFileDescriptor vpnInterface;
            synchronized (mService) {
                vpnInterface = builder.establish();
                if (mOnEstablishListener != null) {
                    mOnEstablishListener.onEstablish(vpnInterface);
                }
            }

Может кто-нибудь помочь мне понять, что я делаю неправильно, или предложить, если есть какой-либо альтернативный способ установить PA C Uri на android устройство?

...