#include "vpn_configurator.h" #include "openvpn_configurator.h" #include "cloak_configurator.h" #include "shadowsocks_configurator.h" //#include "wireguard_configurator.h" #include #include #include #include "containers/containers_defs.h" QString VpnConfigurator::genVpnProtocolConfig(const ServerCredentials &credentials, DockerContainer container, const QJsonObject &containerConfig, Protocol proto, ErrorCode *errorCode) { switch (proto) { case Protocol::OpenVpn: return OpenVpnConfigurator::genOpenVpnConfig(credentials, container, containerConfig, errorCode); case Protocol::ShadowSocks: return ShadowSocksConfigurator::genShadowSocksConfig(credentials, container, containerConfig, errorCode); case Protocol::Cloak: return CloakConfigurator::genCloakConfig(credentials, container, containerConfig, errorCode); // case Protocol::WireGuard: // return WireGuardConfigurator::genWireGuardConfig(credentials, container, containerConfig, errorCode); default: return ""; } } void VpnConfigurator::updateContainerConfigAfterInstallation(DockerContainer container, QJsonObject &containerConfig, const QString &stdOut) { Protocol mainProto = ContainerProps::defaultProtocol(container); if (container == DockerContainer::TorWebSite) { QJsonObject protocol = containerConfig.value(ProtocolProps::protoToString(mainProto)).toObject(); qDebug() << "amnezia-tor onions" << stdOut; QStringList l = stdOut.split(","); for (QString s : l) { if (s.contains(":80")) { protocol.insert(config_key::site, s); } } containerConfig.insert(ProtocolProps::protoToString(mainProto), protocol); } }