Release 1.1 (#5)

* Crash fix in management server

* Openvpn scripts fixes
some refactoring

* deploy fix

* Scripts fix for macos

* OpenVpn runtime error codes handling

* MacOS deploy script fix

* easyrsa scripts for MacOS

* Refactoring
Ui improvements
Bug fixes

* new server page fix

* Fix some warnings, fix installation scripts (macOS)

* Fix crash on fatal error, remove moc files from Windows installation

* ss files

* Fix issue with easyrsa

* ss files

* shadowsocks impl

* ss fix

* ui fix

* Macos doc icon

* travis scripts

* server scripts fix

* icon changed

* Server scripts fix

* travis fix

* Bug fixes:
- auto install tap
- share connectionState
- service crash fix

* travis release

* macos deploy
This commit is contained in:
pokamest 2021-01-27 00:57:02 +03:00 committed by GitHub
parent c2a7d66cb4
commit 0569c6411e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
80 changed files with 2881 additions and 321 deletions

View file

@ -6,11 +6,17 @@
#include "localserver.h"
#include "utils.h"
#include "router.h"
#ifdef Q_OS_WIN
#include "tapcontroller_win.h"
#endif
LocalServer::LocalServer(QObject *parent) : QObject(parent),
m_clientConnection(nullptr),
m_clientConnected(false)
{
m_server = new QLocalServer(this);
m_server = QSharedPointer<QLocalServer>(new QLocalServer(this));
m_server->setSocketOptions(QLocalServer::WorldAccessOption);
if (!m_server->listen(Utils::serverName())) {
@ -18,7 +24,7 @@ LocalServer::LocalServer(QObject *parent) : QObject(parent),
return;
}
connect(m_server, &QLocalServer::newConnection, this, &LocalServer::onNewConnection);
connect(m_server.data(), &QLocalServer::newConnection, this, &LocalServer::onNewConnection);
qDebug().noquote() << QString("Local server started on '%1'").arg(m_server->serverName());
}
@ -68,9 +74,16 @@ void LocalServer::onNewConnection()
qWarning().noquote() << "Message is not valid!";
continue;
}
else {
qDebug().noquote() << QString("Got message id: '%1'").arg(static_cast<int>(incomingMessage.state()));
//qDebug().noquote() << incomingMessage.rawData();
}
switch (incomingMessage.state()) {
case Message::State::Initialize:
#ifdef Q_OS_WIN
TapController::Instance().checkAndSetup();
#endif
sendMessage(Message(Message::State::Initialize, QStringList({"Server"})));
break;
case Message::State::StartRequest:
@ -79,6 +92,23 @@ void LocalServer::onNewConnection()
case Message::State::FinishRequest:
finishProcess(incomingMessage.args());
break;
case Message::State::RoutesAddRequest:
routesAddRequest(incomingMessage.args());
break;
case Message::State::RouteDeleteRequest:
routeDeleteRequest(incomingMessage.args());
break;
case Message::State::ClearSavedRoutesRequest:
Router::Instance().clearSavedRoutes();
break;
case Message::State::FlushDnsRequest:
Router::Instance().flushDns();
break;
case Message::State::InstallDriverRequest:
checkAndInstallDriver(incomingMessage.args());
break;
default:
;
}
@ -128,6 +158,21 @@ void LocalServer::startProcess(const QStringList& messageArgs)
m_processList.append(process);
}
void LocalServer::routesAddRequest(const QStringList &messageArgs)
{
Router::Instance().routeAddList(messageArgs.first(), messageArgs.mid(1));
}
void LocalServer::routeDeleteRequest(const QStringList &messageArgs)
{
Router::Instance().routeDelete(messageArgs.first());
}
void LocalServer::checkAndInstallDriver(const QStringList &messageArgs)
{
}
void LocalServer::onFinished(int exitCode, QProcess::ExitStatus exitStatus)
{
Q_UNUSED(exitStatus)