From a2bb3826526a843b6074299e8a595f521bf95669 Mon Sep 17 00:00:00 2001 From: pokamest Date: Sat, 13 Mar 2021 14:16:24 +0300 Subject: [PATCH] ShadowSocks password - sha256 --- client/core/servercontroller.cpp | 6 ++++-- client/protocols/shadowsocksvpnprotocol.cpp | 4 +++- client/vpnconnection.cpp | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/client/core/servercontroller.cpp b/client/core/servercontroller.cpp index 737f08a9..94bc32be 100644 --- a/client/core/servercontroller.cpp +++ b/client/core/servercontroller.cpp @@ -1,5 +1,6 @@ #include "servercontroller.h" +#include #include #include #include @@ -107,7 +108,7 @@ ErrorCode ServerController::uploadTextFileToContainer(DockerContainer container, QString script = QString("docker exec -i %1 sh -c \"echo \'%2\' > %3\""). arg(getContainerName(container)).arg(file).arg(path); - qDebug().noquote() << script; + // qDebug().noquote() << "uploadTextFileToContainer\n" << script; SshConnection *client = connectToHost(sshParams(credentials)); if (client->state() != SshConnection::State::Connected) { @@ -389,7 +390,8 @@ ErrorCode ServerController::setupShadowSocksServer(const ServerCredentials &cred ssConfig.insert("server", "0.0.0.0"); ssConfig.insert("server_port", ssRemotePort()); ssConfig.insert("local_port", ssContainerPort()); - ssConfig.insert("password", credentials.password); + ssConfig.insert("password", QString(QCryptographicHash::hash(credentials.password.toUtf8(), QCryptographicHash::Sha256).toHex())); + //ssConfig.insert("password", credentials.password); ssConfig.insert("timeout", 60); ssConfig.insert("method", ssEncryption()); QString configData = QJsonDocument(ssConfig).toJson(); diff --git a/client/protocols/shadowsocksvpnprotocol.cpp b/client/protocols/shadowsocksvpnprotocol.cpp index 2b4d20c1..3f872817 100644 --- a/client/protocols/shadowsocksvpnprotocol.cpp +++ b/client/protocols/shadowsocksvpnprotocol.cpp @@ -4,6 +4,7 @@ #include "debug.h" #include "utils.h" +#include #include #include @@ -71,7 +72,8 @@ QJsonObject ShadowSocksVpnProtocol::genShadowSocksConfig(const ServerCredentials ssConfig.insert("server", credentials.hostName); ssConfig.insert("server_port", ServerController::ssRemotePort()); ssConfig.insert("local_port", ServerController::ssContainerPort()); - ssConfig.insert("password", credentials.password); + ssConfig.insert("password", QString(QCryptographicHash::hash(credentials.password.toUtf8(), QCryptographicHash::Sha256).toHex())); + //ssConfig.insert("password", credentials.password); ssConfig.insert("timeout", 60); ssConfig.insert("method", ServerController::ssEncryption()); return ssConfig; diff --git a/client/vpnconnection.cpp b/client/vpnconnection.cpp index 01217cd5..37fae151 100644 --- a/client/vpnconnection.cpp +++ b/client/vpnconnection.cpp @@ -99,12 +99,16 @@ ErrorCode VpnConnection::createVpnConfiguration(const ServerCredentials &credent QJsonObject ssConfigData = ShadowSocksVpnProtocol::genShadowSocksConfig(credentials); m_vpnConfiguration.insert(config::key_shadowsocks_config_data(), ssConfigData); } + + //qDebug().noquote() << "VPN config" << QJsonDocument(m_vpnConfiguration).toJson(); return ErrorCode::NoError; } ErrorCode VpnConnection::connectToVpn(const ServerCredentials &credentials, Protocol protocol) { qDebug() << "connectToVpn, CustomRouting is" << m_settings.customRouting(); +// qDebug() << "Cred" << m_settings.serverCredentials().hostName << +// m_settings.serverCredentials().password; protocol = Protocol::ShadowSocks; // TODO: Try protocols one by one in case of Protocol::Any