ios fixes

This commit is contained in:
pokamest 2021-09-15 08:03:28 -07:00
parent 12b079df65
commit 9ae2e3fba2
28 changed files with 149639 additions and 39 deletions

View file

@ -20,11 +20,14 @@ OpenVpnOverCloakProtocol::~OpenVpnOverCloakProtocol()
qDebug() << "OpenVpnOverCloakProtocol::~OpenVpnOverCloakProtocol";
OpenVpnOverCloakProtocol::stop();
QThread::msleep(200);
#ifndef Q_OS_IOS
m_ckProcess.close();
#endif
}
ErrorCode OpenVpnOverCloakProtocol::start()
{
#ifndef Q_OS_IOS
if (Utils::processIsRunning(Utils::executable("ck-client", false))) {
Utils::killProcessByName(Utils::executable("ck-client", false));
}
@ -79,6 +82,7 @@ ErrorCode OpenVpnOverCloakProtocol::start()
return OpenVpnProtocol::start();
}
else return ErrorCode::CloakExecutableMissing;
#endif
}
void OpenVpnOverCloakProtocol::stop()
@ -92,7 +96,9 @@ void OpenVpnOverCloakProtocol::stop()
Utils::signalCtrl(m_ckProcess.processId(), CTRL_C_EVENT);
#endif
#ifndef Q_OS_IOS
m_ckProcess.terminate();
#endif
}
QString OpenVpnOverCloakProtocol::cloakExecPath()

View file

@ -23,7 +23,9 @@ private:
static QString cloakExecPath();
private:
#ifndef Q_OS_IOS
QProcess m_ckProcess;
#endif
QTemporaryFile m_cloakCfgFile;
QMetaObject::Connection m_errorHandlerConnection;
};

View file

@ -77,9 +77,11 @@ ErrorCode OpenVpnProtocol::checkAndSetupTapDriver()
void OpenVpnProtocol::killOpenVpnProcess()
{
#ifndef Q_OS_IOS
if (m_openVpnProcess){
m_openVpnProcess->close();
}
#endif
}
void OpenVpnProtocol::readOpenVpnConfiguration(const QJsonObject &configuration)
@ -151,6 +153,7 @@ QString OpenVpnProtocol::openVpnExecPath() const
ErrorCode OpenVpnProtocol::start()
{
#ifndef Q_OS_IOS
//qDebug() << "Start OpenVPN connection";
OpenVpnProtocol::stop();
@ -214,6 +217,9 @@ ErrorCode OpenVpnProtocol::start()
//startTimeoutTimer();
return ErrorCode::NoError;
#else
return ErrorCode::NotImplementedError;
#endif
}
bool OpenVpnProtocol::sendTermSignal()

View file

@ -20,11 +20,14 @@ ShadowSocksVpnProtocol::~ShadowSocksVpnProtocol()
qDebug() << "ShadowSocksVpnProtocol::~ShadowSocksVpnProtocol";
ShadowSocksVpnProtocol::stop();
QThread::msleep(200);
#ifndef Q_OS_IOS
m_ssProcess.close();
#endif
}
ErrorCode ShadowSocksVpnProtocol::start()
{
#ifndef Q_OS_IOS
if (Utils::processIsRunning(Utils::executable("ss-local", false))) {
Utils::killProcessByName(Utils::executable("ss-local", false));
}
@ -77,6 +80,9 @@ ErrorCode ShadowSocksVpnProtocol::start()
return OpenVpnProtocol::start();
}
else return ErrorCode::ShadowSocksExecutableMissing;
#else
return ErrorCode::NotImplementedError;
#endif
}
void ShadowSocksVpnProtocol::stop()
@ -84,7 +90,9 @@ void ShadowSocksVpnProtocol::stop()
OpenVpnProtocol::stop();
qDebug() << "ShadowSocksVpnProtocol::stop()";
#ifndef Q_OS_IOS
m_ssProcess.terminate();
#endif
#ifdef Q_OS_WIN
Utils::signalCtrl(m_ssProcess.processId(), CTRL_C_EVENT);

View file

@ -24,7 +24,9 @@ private:
static QString shadowSocksExecPath();
private:
#ifndef Q_OS_IOS
QProcess m_ssProcess;
#endif
QTemporaryFile m_shadowSocksCfgFile;
};

View file

@ -26,6 +26,7 @@ WireguardProtocol::~WireguardProtocol()
void WireguardProtocol::stop()
{
#ifndef Q_OS_IOS
if (!QFileInfo::exists(wireguardExecPath())) {
qCritical() << "Wireguard executable missing!";
setLastError(ErrorCode::ExecutableMissing);
@ -67,6 +68,7 @@ void WireguardProtocol::stop()
m_wireguardStopProcess->start();
setConnectionState(VpnProtocol::Disconnected);
#endif
}
void WireguardProtocol::readWireguardConfiguration(const QJsonObject &configuration)
@ -131,6 +133,7 @@ QString WireguardProtocol::wireguardExecPath() const
ErrorCode WireguardProtocol::start()
{
#ifndef Q_OS_IOS
if (!m_isConfigLoaded) {
setLastError(ErrorCode::ConfigMissing);
return lastError();
@ -208,6 +211,9 @@ ErrorCode WireguardProtocol::start()
m_wireguardStartProcess->start();
return ErrorCode::NoError;
#else
return ErrorCode::NotImplementedError;
#endif
}
void WireguardProtocol::updateVpnGateway(const QString &line)