подключение к серверу vpn с помощью его конфигурационного файла с использованием DatagramChannel & InetSocketAddress - PullRequest
0 голосов
/ 28 апреля 2019

Я создаю простое приложение для подключения одним щелчком мыши к серверу VPN, я использую код, который я только что нашел в интернете для рабочих проектов и учебных пособий,

, как вы видите на кодениже API позволяет подключаться к серверу, используя только адрес и порт,

Я пытаюсь подключиться с помощью файла конфигурации сервера vpn

                //a. Configure the TUN and get the interface.
                mInterface = builder.setSession("MyVPNService")
                        .addAddress("192.168.4.1", 24)
                        .addDnsServer("8.8.8.8").addRoute("0.0.0.0", 0).establish();
                //b. Packets to be sent are queued in this input stream.
                FileInputStream in = new FileInputStream(
                        mInterface.getFileDescriptor());
                //b. Packets received need to be written to this output stream.
                FileOutputStream out = new FileOutputStream(
                        mInterface.getFileDescriptor());
                //c. The UDP channel can be used to pass/get ip package to/from server
                DatagramChannel tunnel = DatagramChannel.open();
                // Connect to the server, localhost is used for demonstration only.
                InetSocketAddress vpn_rout = new InetSocketAddress("128.0.0.1", 8001);
                tunnel.connect(vpn_rout);

                //d. Protect this socket, so package send by it will not be feedback to the vpn service.
                protect(tunnel.socket());
                //e. Use a loop to pass packets.
                while (true) {
                    //get packet with in
                    //put packet to tunnel
                    //get packet form tunnel
                    //return packet with out
                    //sleep is a must
                    Thread.sleep(100);
                }

. Есть ли способ добавитьмоя конфигурация с кодом?

...