diff --git a/.gitmodules b/.gitmodules index e8a1e67a..0f203480 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "3rd/QtSsh"] path = 3rd/QtSsh url = https://github.com/amnezia-vpn/QtSsh.git +[submodule "client/3rd/wireguard-tools"] + path = client/3rd/wireguard-tools + url = https://github.com/WireGuard/wireguard-tools/ diff --git a/client/3rd/wireguard-tools b/client/3rd/wireguard-tools new file mode 160000 index 00000000..7a321ce8 --- /dev/null +++ b/client/3rd/wireguard-tools @@ -0,0 +1 @@ +Subproject commit 7a321ce808ef9cec1f45cce92befcc9e170d3aa9 diff --git a/client/android/build.gradle b/client/android/build.gradle index 355d4c72..e18e16fd 100644 --- a/client/android/build.gradle +++ b/client/android/build.gradle @@ -104,9 +104,9 @@ android { targetSdkVersion = qtTargetSdkVersion } -// externalNativeBuild { -// cmake { -// path 'tunnel/CMakeLists.txt' -// } -// } + externalNativeBuild { + cmake { + path 'wireguard/CMakeLists.txt' + } + } } diff --git a/client/client.pro b/client/client.pro index cec0abff..d17f4e45 100644 --- a/client/client.pro +++ b/client/client.pro @@ -34,7 +34,6 @@ HEADERS += \ debug.h \ defines.h \ managementserver.h \ - protocols/android_vpnprotocol.h \ protocols/openvpnovercloakprotocol.h \ protocols/protocols_defs.h \ protocols/shadowsocksvpnprotocol.h \ @@ -88,7 +87,6 @@ SOURCES += \ debug.cpp \ main.cpp \ managementserver.cpp \ - protocols/android_vpnprotocol.cpp \ protocols/openvpnovercloakprotocol.cpp \ protocols/protocols_defs.cpp \ protocols/shadowsocksvpnprotocol.cpp \ @@ -181,6 +179,12 @@ android { INCLUDEPATH += platforms/android + HEADERS += protocols/android_vpnprotocol.h \ + + + SOURCES += protocols/android_vpnprotocol.cpp \ + + DISTFILES += \ android/AndroidManifest.xml \ android/build.gradle \ diff --git a/client/ui/pages_logic/protocols/OtherProtocolsLogic.cpp b/client/ui/pages_logic/protocols/OtherProtocolsLogic.cpp index d9cf07e9..400cb5c1 100644 --- a/client/ui/pages_logic/protocols/OtherProtocolsLogic.cpp +++ b/client/ui/pages_logic/protocols/OtherProtocolsLogic.cpp @@ -74,7 +74,7 @@ void OtherProtocolsLogic::onPushButtonSftpMountDriveClicked() set_pushButtonSftpMountEnabled(false); QProcess *p = new QProcess; - m_sftpMpuntProcesses.append(p); + m_sftpMountProcesses.append(p); p->setProcessChannelMode(QProcess::MergedChannels); connect(p, &QProcess::readyRead, this, [this, p, letter](){ diff --git a/client/vpnconnection.cpp b/client/vpnconnection.cpp index e1e8538a..a521e857 100644 --- a/client/vpnconnection.cpp +++ b/client/vpnconnection.cpp @@ -10,6 +10,10 @@ #include #include +#ifdef Q_OS_ANDROID +#include +#endif + #include "ipc.h" #include "core/ipcclient.h" #include "protocols/openvpnprotocol.h" @@ -316,7 +320,11 @@ ErrorCode VpnConnection::connectToVpn(int serverIndex, return e; } +#ifdef Q_OS_ANDROID + m_vpnProtocol.reset(new AndroidVpnProtocol(Protocol::WireGuard, m_vpnConfiguration)); +#else m_vpnProtocol.reset(new WireguardProtocol(m_vpnConfiguration)); +#endif } connect(m_vpnProtocol.data(), &VpnProtocol::protocolError, this, &VpnConnection::vpnProtocolError);