В вашем коде нет подключения к впн - это просто UI интерфейс
Можете использовать документацию на github
https://github.com/OpenVPN/python-openvpn Вот использование на вашем примере
import requests
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.clock import Clock
from openvpn import openvpn
from openvpn import constants
class VPNApp(App):
def build(self):
self.layout = BoxLayout(orientation='vertical')
self.label = Label(text='VPN Status: Disconnected')
self.connect_button = Button(text='Connect to VPN')
self.connect_button.bind(on_press=self.connect_vpn)
self.layout.add_widget(self.label)
self.layout.add_widget(self.connect_button)
return self.layout
def connect_vpn(self, instance):
Clock.schedule_once(self.connect_to_vpn, 0.1)
def connect_to_vpn(self, dt):
print("Connecting to VPN...")
try:
# Замени 'vpn_config.ovpn'
vpn = openvpn.OpenVPN(config_file="vpn_config.ovpn")
vpn.start()
if vpn.wait_for_event(constants.EVENT_CONNECTED):
self.label.text = 'VPN Status: Connected'
print("Connected to VPN!")
else:
self.label.text = 'Failed to connect VPN'
except Exception as e:
self.label.text = f'Failed to connect VPN: {e}'
print("Failed to connect to VPN:", e)
if __name__ == '__main__':
VPNApp().run()
Код был запущен на телефоне Android