Add insertion of gateway address to strict killswitch exceptions

This commit is contained in:
aiamnezia 2025-04-24 01:55:29 +04:00
parent e46b51a833
commit 5bf5cd43bd
2 changed files with 26 additions and 1 deletions

View file

@ -7,6 +7,7 @@
#include <QJsonDocument>
#include <QJsonObject>
#include <QNetworkReply>
#include <QUrl>
#include "QBlockCipher.h"
#include "QRsa.h"
@ -14,6 +15,8 @@
#include "amnezia_application.h"
#include "core/api/apiUtils.h"
#include "utilities.h"
#include "core/ipcclient.h"
#include "core/networkUtilities.h"
namespace
{
@ -50,6 +53,17 @@ ErrorCode GatewayController::get(const QString &endpoint, QByteArray &responseBo
request.setUrl(QString(endpoint).arg(m_gatewayEndpoint));
// bypass killSwitch exceptions for API-gateway
#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS) || defined(Q_OS_WIN)
{
QString host = QUrl(request.url()).host();
QString ip = NetworkUtilities::getIPAddress(host);
if (!ip.isEmpty()) {
IpcClient::Interface()->addKillSwitchExceptions(QStringList{ip});
}
}
#endif
QNetworkReply *reply;
reply = amnApp->networkManager()->get(request);
@ -101,6 +115,17 @@ ErrorCode GatewayController::post(const QString &endpoint, const QJsonObject api
request.setUrl(endpoint.arg(m_gatewayEndpoint));
// bypass killSwitch exceptions for API-gateway
#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS) || defined(Q_OS_WIN)
{
QString host = QUrl(request.url()).host();
QString ip = NetworkUtilities::getIPAddress(host);
if (!ip.isEmpty()) {
IpcClient::Interface()->addKillSwitchExceptions(QStringList{ip});
}
}
#endif
QSimpleCrypto::QBlockCipher blockCipher;
QByteArray key = blockCipher.generatePrivateSalt(32);
QByteArray iv = blockCipher.generatePrivateSalt(32);

View file

@ -172,7 +172,7 @@ ErrorCode OpenVpnProtocol::start()
}
#if defined(Q_OS_LINUX) || defined(Q_OS_MACOS)
IpcClient::Interface()->allowTrafficTo(QStringList(NetworkUtilities::getIPAddress(
IpcClient::Interface()->addKillSwitchExceptions(QStringList(NetworkUtilities::getIPAddress(
m_configData.value(amnezia::config_key::hostName).toString())));
#endif