mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
78 lines
2.2 KiB
C++
78 lines
2.2 KiB
C++
#ifndef SCRIPTSREGISTRY_H
|
|
#define SCRIPTSREGISTRY_H
|
|
|
|
#include <QLatin1String>
|
|
#include <QList>
|
|
#include <QPair>
|
|
#include <QString>
|
|
#include "core/utils/errorCodes.h"
|
|
#include "core/utils/routeModes.h"
|
|
#include "core/utils/commonStructs.h"
|
|
#include "core/utils/containerEnum.h"
|
|
#include "core/utils/containers/containerUtils.h"
|
|
#include "core/utils/protocolEnum.h"
|
|
#include "core/models/containerConfig.h"
|
|
|
|
namespace amnezia {
|
|
|
|
typedef QList<QPair<QString, QString>> ScriptVars;
|
|
|
|
enum SharedScriptType {
|
|
// General scripts
|
|
prepare_host,
|
|
install_docker,
|
|
build_container,
|
|
remove_container,
|
|
remove_all_containers,
|
|
setup_host_firewall,
|
|
check_connection,
|
|
check_server_is_busy,
|
|
check_user_in_sudo
|
|
};
|
|
enum ProtocolScriptType {
|
|
// Protocol scripts
|
|
dockerfile,
|
|
run_container,
|
|
configure_container,
|
|
container_startup,
|
|
openvpn_template,
|
|
wireguard_template,
|
|
awg_template,
|
|
xray_template
|
|
};
|
|
|
|
enum ClientScriptType {
|
|
// Client-side scripts
|
|
linux_installer,
|
|
mac_installer
|
|
};
|
|
|
|
QString scriptFolder(DockerContainer container);
|
|
|
|
QString scriptName(SharedScriptType type);
|
|
QString scriptName(ProtocolScriptType type);
|
|
QString scriptName(ClientScriptType type);
|
|
|
|
QString scriptData(SharedScriptType type);
|
|
QString scriptData(ProtocolScriptType type, DockerContainer container);
|
|
QString scriptData(ClientScriptType type);
|
|
|
|
ScriptVars genBaseVars(const ServerCredentials &credentials,
|
|
DockerContainer container,
|
|
const QString &primaryDns,
|
|
const QString &secondaryDns);
|
|
|
|
ScriptVars genOpenVpnVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genXrayVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genWireGuardVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genAwgVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genSftpVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genSocks5ProxyVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genMtProxyVars(const ContainerConfig &containerConfig);
|
|
ScriptVars genTelemtVars(const ContainerConfig &containerConfig);
|
|
|
|
ScriptVars genProtocolVarsForContainer(DockerContainer container, const ContainerConfig &containerConfig);
|
|
}
|
|
|
|
#endif // SCRIPTSREGISTRY_H
|