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

37 lines
793 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"
#include <QtCore/qsharedpointer.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;
void stop() override;
private:
ErrorCode setupRouting();
ErrorCode startTun2Socks();
2024-03-27 11:02:34 +00:00
QJsonObject m_xrayConfig;
Settings::RouteMode m_routeMode;
QList<QHostAddress> m_dnsServers;
QString m_remoteAddress;
2026-04-13 15:06:08 +03:00
QString m_socksUser;
QString m_socksPassword;
int m_socksPort = 10808;
QSharedPointer<IpcProcessInterfaceReplica> m_tun2socksProcess;
2024-03-27 11:02:34 +00:00
};
#endif // XRAYPROTOCOL_H