Files
amnezia-client/client/protocols/xrayprotocol.h
T

33 lines
717 B
C++
Raw Normal View History

2024-03-27 11:02:34 +00:00
#ifndef XRAYPROTOCOL_H
#define XRAYPROTOCOL_H
#include "QProcess"
#include "core/ipcclient.h"
#include "vpnprotocol.h"
#include "settings.h"
2024-03-27 11:02:34 +00:00
class XrayProtocol : public VpnProtocol
{
public:
XrayProtocol(const QJsonObject &configuration, QObject *parent = nullptr);
2024-03-27 11:02:34 +00:00
virtual ~XrayProtocol() override;
ErrorCode start() override;
ErrorCode startTun2Sock();
void stop() override;
private:
2024-03-27 11:02:34 +00:00
void readXrayConfiguration(const QJsonObject &configuration);
2024-03-27 11:02:34 +00:00
QJsonObject m_xrayConfig;
Settings::RouteMode m_routeMode;
2024-03-27 11:02:34 +00:00
QString m_primaryDNS;
QString m_secondaryDNS;
#ifndef Q_OS_IOS
2024-09-20 04:12:22 -07:00
QSharedPointer<IpcProcessTun2SocksReplica> m_t2sProcess;
2024-03-27 11:02:34 +00:00
#endif
};
#endif // XRAYPROTOCOL_H