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

32 lines
717 B
C++
Raw Normal View History

2021-01-10 20:37:57 +03:00
#ifndef SHADOWSOCKSVPNPROTOCOL_H
#define SHADOWSOCKSVPNPROTOCOL_H
#include "openvpnprotocol.h"
2021-01-15 23:36:35 +03:00
#include "QProcess"
2021-05-10 02:33:31 +03:00
#include "protocols/protocols_defs.h"
2021-01-10 20:37:57 +03:00
class ShadowSocksVpnProtocol : public OpenVpnProtocol
{
public:
2021-02-18 15:00:41 +03:00
ShadowSocksVpnProtocol(const QJsonObject& configuration, QObject* parent = nullptr);
2021-02-21 09:44:53 -08:00
virtual ~ShadowSocksVpnProtocol() override;
2021-01-15 23:36:35 +03:00
ErrorCode start() override;
void stop() override;
protected:
2021-02-18 15:00:41 +03:00
void readShadowSocksConfiguration(const QJsonObject &configuration);
2021-01-15 23:36:35 +03:00
protected:
2021-02-18 15:00:41 +03:00
QJsonObject m_shadowSocksConfig;
2021-01-15 23:36:35 +03:00
2021-03-18 18:45:08 +03:00
private:
static QString shadowSocksExecPath();
2021-01-15 23:36:35 +03:00
private:
2021-02-18 15:00:41 +03:00
QProcess m_ssProcess;
2021-03-18 18:45:08 +03:00
QTemporaryFile m_shadowSocksCfgFile;
2021-01-10 20:37:57 +03:00
};
#endif // SHADOWSOCKSVPNPROTOCOL_H