changed v2ray client config generation

This commit is contained in:
vladimir.kuznetsov 2023-02-13 10:05:15 +03:00
parent 6a903792ab
commit 68830021d6
9 changed files with 49 additions and 64 deletions

View file

@ -7,6 +7,7 @@
#include <QJsonDocument>
#include "core/servercontroller.h"
#include "core/scripts_registry.h"
#include "containers/containers_defs.h"
V2RayConfigurator::V2RayConfigurator(std::shared_ptr<Settings> settings, std::shared_ptr<ServerController> serverController,
@ -29,42 +30,13 @@ QString V2RayConfigurator::genV2RayConfig(const ServerCredentials &credentials,
return "";
}
QJsonObject config;
QJsonObject inboundsSocks;
inboundsSocks.insert("protocol", "socks");
inboundsSocks.insert("listen", "127.0.0.1");
inboundsSocks.insert("port", 1080); //todo
QJsonObject socksSettings;
socksSettings.insert("auth", "noauth");
socksSettings.insert("udp", true);
inboundsSocks.insert("settings", socksSettings);
QString v2RayClientConfig = m_serverController->replaceVars(amnezia::scriptData(ProtocolScriptType::v2ray_client_template, container),
m_serverController->genVarsForScript(credentials, container, containerConfig));
QJsonArray inbounds;
inbounds.push_back(inboundsSocks);
config.insert("inbounds", inbounds);
v2RayClientConfig.replace("$V2RAY_VMESS_CLIENT_UUID", v2rayVmessClientUuid);
v2RayClientConfig = m_serverController->replaceVars(v2RayClientConfig,
m_serverController->genVarsForScript(credentials, container, containerConfig));
QJsonObject outboundsVmess;
outboundsVmess.insert("protocol", "vmess");
QJsonObject vmessSettings;
QJsonObject vnext;
vnext.insert("address", credentials.hostName);
vnext.insert("port", 10086); //todo
QJsonObject users;
users.insert("id", v2rayVmessClientUuid);
vnext.insert("users", QJsonArray({users}));
vmessSettings.insert("vnext", QJsonArray({vnext}));
outboundsVmess.insert("settings", vmessSettings);
QJsonArray outbounds;
outbounds.push_back(outboundsVmess);
config.insert("outbounds", outbounds);
QString textCfg = m_serverController->replaceVars(QJsonDocument(config).toJson(),
m_serverController->genVarsForScript(credentials, container, containerConfig));
// qDebug().noquote() << textCfg;
return textCfg;
return v2RayClientConfig;
}