Release 1.6 WIP
This commit is contained in:
parent
f9affb083b
commit
a5e9cea22f
29 changed files with 2046 additions and 136 deletions
|
|
@ -1,25 +1,48 @@
|
|||
#ifndef DEFS_H
|
||||
#define DEFS_H
|
||||
|
||||
#include <QMetaEnum>
|
||||
#include <QObject>
|
||||
|
||||
namespace amnezia {
|
||||
Q_NAMESPACE
|
||||
|
||||
enum class Protocol {
|
||||
Any,
|
||||
OpenVpn,
|
||||
ShadowSocks,
|
||||
ShadowSocksOverOpenVpn,
|
||||
OpenVpnOverCloak,
|
||||
WireGuard
|
||||
};
|
||||
Q_ENUM_NS(Protocol)
|
||||
|
||||
inline Protocol protoFromString(QString proto){
|
||||
auto&& metaEnum = QMetaEnum::fromType<Protocol>();
|
||||
return static_cast<Protocol>(metaEnum.keyToValue(proto.toStdString().c_str()));
|
||||
}
|
||||
|
||||
inline QString protoToString(Protocol proto){
|
||||
return QVariant::fromValue(proto).toString();
|
||||
}
|
||||
|
||||
|
||||
enum class DockerContainer {
|
||||
None,
|
||||
OpenVpn,
|
||||
ShadowSocks,
|
||||
ShadowSocksOverOpenVpn,
|
||||
OpenVpnOverCloak,
|
||||
WireGuard
|
||||
};
|
||||
Q_ENUM_NS(DockerContainer)
|
||||
|
||||
inline DockerContainer containerFromString(QString container){
|
||||
auto&& metaEnum = QMetaEnum::fromType<DockerContainer>();
|
||||
return static_cast<DockerContainer>(metaEnum.keyToValue(container.toStdString().c_str()));
|
||||
}
|
||||
|
||||
inline QString containerToString(DockerContainer container){
|
||||
return QVariant::fromValue(container).toString();
|
||||
}
|
||||
|
||||
static DockerContainer containerForProto(Protocol proto)
|
||||
{
|
||||
|
|
@ -28,7 +51,7 @@ static DockerContainer containerForProto(Protocol proto)
|
|||
switch (proto) {
|
||||
case Protocol::OpenVpn: return DockerContainer::OpenVpn;
|
||||
case Protocol::OpenVpnOverCloak: return DockerContainer::OpenVpnOverCloak;
|
||||
case Protocol::ShadowSocks: return DockerContainer::ShadowSocks;
|
||||
case Protocol::ShadowSocksOverOpenVpn: return DockerContainer::ShadowSocksOverOpenVpn;
|
||||
case Protocol::WireGuard: return DockerContainer::WireGuard;
|
||||
case Protocol::Any: return DockerContainer::None;
|
||||
}
|
||||
|
|
@ -91,10 +114,10 @@ enum ErrorCode
|
|||
|
||||
namespace config {
|
||||
// config keys
|
||||
static QString key_openvpn_config_data() { return "openvpn_config_data"; }
|
||||
static QString key_openvpn_config_path() { return "openvpn_config_path"; }
|
||||
static QString key_shadowsocks_config_data() { return "shadowsocks_config_data"; }
|
||||
static QString key_cloak_config_data() { return "cloak_config_data"; }
|
||||
const char key_openvpn_config_data[] = "openvpn_config_data";
|
||||
const char key_openvpn_config_path[] = "openvpn_config_path";
|
||||
const char key_shadowsocks_config_data[] = "shadowsocks_config_data";
|
||||
const char key_cloak_config_data[] = "cloak_config_data";
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ QString amnezia::scriptFolder(amnezia::Protocol proto)
|
|||
switch (proto) {
|
||||
case Protocol::OpenVpn: return QLatin1String("openvpn");
|
||||
case Protocol::OpenVpnOverCloak: return QLatin1String("openvpn_cloak");
|
||||
case Protocol::ShadowSocks: return QLatin1String("openvpn_shadowsocks");
|
||||
case Protocol::ShadowSocksOverOpenVpn: return QLatin1String("openvpn_shadowsocks");
|
||||
case Protocol::WireGuard: return QLatin1String("wireguard");
|
||||
default: return "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ QString amnezia::server::getContainerName(amnezia::DockerContainer container)
|
|||
switch (container) {
|
||||
case(DockerContainer::OpenVpn): return "amnezia-openvpn";
|
||||
case(DockerContainer::OpenVpnOverCloak): return "amnezia-openvpn-cloak";
|
||||
case(DockerContainer::ShadowSocks): return "amnezia-shadowsocks";
|
||||
case(DockerContainer::ShadowSocksOverOpenVpn): return "amnezia-shadowsocks";
|
||||
default: return "";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ namespace server {
|
|||
QString getContainerName(amnezia::DockerContainer container);
|
||||
QString getDockerfileFolder(amnezia::DockerContainer container);
|
||||
|
||||
static QString vpnDefaultSubnetIp() { return "10.8.0.0"; }
|
||||
static QString vpnDefaultSubnetMask() { return "255.255.255.0"; }
|
||||
static QString vpnDefaultSubnetMaskVal() { return "24"; }
|
||||
const char vpnDefaultSubnetIp[] = "10.8.0.0";
|
||||
const char vpnDefaultSubnetMask[] = "255.255.255.0";
|
||||
const char vpnDefaultSubnetMaskVal[] = "24";
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -392,15 +392,15 @@ ErrorCode ServerController::removeServer(const ServerCredentials &credentials, P
|
|||
if (e) {
|
||||
return e;
|
||||
}
|
||||
return removeServer(credentials, Protocol::ShadowSocks);
|
||||
return removeServer(credentials, Protocol::ShadowSocksOverOpenVpn);
|
||||
}
|
||||
else if (proto == Protocol::OpenVpn) {
|
||||
scriptFileName = ":/server_scripts/remove_container.sh";
|
||||
container = DockerContainer::OpenVpn;
|
||||
}
|
||||
else if (proto == Protocol::ShadowSocks) {
|
||||
else if (proto == Protocol::ShadowSocksOverOpenVpn) {
|
||||
scriptFileName = ":/server_scripts/remove_container.sh";
|
||||
container = DockerContainer::ShadowSocks;
|
||||
container = DockerContainer::ShadowSocksOverOpenVpn;
|
||||
}
|
||||
else return ErrorCode::NotImplementedError;
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ ErrorCode ServerController::setupServer(const ServerCredentials &credentials, Pr
|
|||
return ErrorCode::NoError;
|
||||
//return setupOpenVpnServer(credentials);
|
||||
}
|
||||
else if (proto == Protocol::ShadowSocks) {
|
||||
else if (proto == Protocol::ShadowSocksOverOpenVpn) {
|
||||
return setupShadowSocksServer(credentials);
|
||||
}
|
||||
else if (proto == Protocol::Any) {
|
||||
|
|
@ -586,9 +586,9 @@ ServerController::Vars ServerController::genVarsForScript(const ServerCredential
|
|||
{
|
||||
Vars vars;
|
||||
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_IP", amnezia::server::vpnDefaultSubnetIp()));
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_MASK_VAL", amnezia::server::vpnDefaultSubnetMaskVal()));
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_MASK", amnezia::server::vpnDefaultSubnetMask()));
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_IP", amnezia::server::vpnDefaultSubnetIp));
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_MASK_VAL", amnezia::server::vpnDefaultSubnetMaskVal));
|
||||
vars.append(qMakePair<QString, QString>("$VPN_SUBNET_MASK", amnezia::server::vpnDefaultSubnetMask));
|
||||
|
||||
vars.append(qMakePair<QString, QString>("$CONTAINER_NAME", amnezia::server::getContainerName(container)));
|
||||
vars.append(qMakePair<QString, QString>("$DOCKERFILE_FOLDER", "/opt/amnezia/" + amnezia::server::getContainerName(container)));
|
||||
|
|
@ -610,7 +610,7 @@ ServerController::Vars ServerController::genVarsForScript(const ServerCredential
|
|||
vars.append(qMakePair<QString, QString>("$SERVER_PORT", amnezia::protocols::cloak::ckDefaultPort()));
|
||||
vars.append(qMakePair<QString, QString>("$FAKE_WEB_SITE_ADDRESS", amnezia::protocols::cloak::ckDefaultRedirSite()));
|
||||
}
|
||||
else if (container == DockerContainer::ShadowSocks) {
|
||||
else if (container == DockerContainer::ShadowSocksOverOpenVpn) {
|
||||
vars.append(qMakePair<QString, QString>("$SERVER_PORT", "6789"));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue