Files
amnezia-client/client/daemon/interfaceconfig.h
T

70 lines
1.8 KiB
C++
Raw Normal View History

2023-07-15 14:19:48 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef INTERFACECONFIG_H
#define INTERFACECONFIG_H
#include <QList>
2025-04-19 19:21:10 +03:00
#include <QMap>
2023-07-15 14:19:48 -07:00
#include <QString>
#include <QMap>
2023-07-15 14:19:48 -07:00
#include "ipaddress.h"
class QJsonObject;
constexpr int ACTIVATION_TIMEOUT_MSEC = 30000;
class InterfaceConfig {
Q_GADGET
public:
InterfaceConfig() {}
enum HopType { SingleHop, MultiHopEntry, MultiHopExit };
Q_ENUM(HopType)
HopType m_hopType;
2023-07-15 14:19:48 -07:00
QString m_privateKey;
QString m_deviceIpv4Address;
QString m_deviceIpv6Address;
QString m_serverIpv4Gateway;
QString m_serverIpv6Gateway;
QString m_serverPublicKey;
QString m_serverIpv4AddrIn;
QString m_serverPskKey;
2023-07-15 14:19:48 -07:00
QString m_serverIpv6AddrIn;
QString m_primaryDnsServer;
QString m_secondaryDnsServer;
2023-07-15 14:19:48 -07:00
int m_serverPort = 0;
2024-03-18 12:41:53 +02:00
int m_deviceMTU = 1420;
2023-07-15 14:19:48 -07:00
QList<IPAddress> m_allowedIPAddressRanges;
QStringList m_excludedAddresses;
QStringList m_vpnDisabledApps;
2025-05-02 23:54:36 -07:00
QStringList m_allowedDnsServers;
2024-04-25 20:01:00 +07:00
bool m_killSwitchEnabled;
#if defined(MZ_ANDROID) || defined(MZ_IOS)
QString m_installationId;
#endif
QString m_junkPacketCount;
QString m_junkPacketMinSize;
QString m_junkPacketMaxSize;
QString m_initPacketJunkSize;
QString m_responsePacketJunkSize;
2025-07-07 12:03:25 +08:00
QString m_cookieReplyPacketJunkSize;
QString m_transportPacketJunkSize;
QString m_initPacketMagicHeader;
QString m_responsePacketMagicHeader;
QString m_underloadPacketMagicHeader;
QString m_transportPacketMagicHeader;
2025-07-07 12:03:25 +08:00
QMap<QString, QString> m_specialJunk;
QString m_ifname;
QJsonObject toJson() const;
QString toWgConf(
const QMap<QString, QString>& extra = QMap<QString, QString>()) const;
2023-07-15 14:19:48 -07:00
};
#endif // INTERFACECONFIG_H