mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-20 19:00:22 +08:00
refactor: refactored inbound settings object
This commit is contained in:
parent
3e4f71de29
commit
ce3bfc3ca4
@ -1 +1 @@
|
||||
5455
|
||||
5456
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include <chrono>
|
||||
|
||||
const int QV2RAY_CONFIG_VERSION = 12;
|
||||
const int QV2RAY_CONFIG_VERSION = 13;
|
||||
|
||||
namespace Qv2ray::base::config
|
||||
{
|
||||
@ -22,48 +22,65 @@ namespace Qv2ray::base::config
|
||||
: enableForwardProxy(false), type("http"), serverAddress("127.0.0.1"), port(8008), useAuth(false), username(), password(){};
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_ForwardProxy, F(enableForwardProxy, type, serverAddress, port, useAuth, username, password))
|
||||
};
|
||||
struct Qv2rayConfig_SystemProxy
|
||||
{
|
||||
bool setSystemProxy;
|
||||
Qv2rayConfig_SystemProxy() : setSystemProxy(true){};
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_SystemProxy, F(setSystemProxy))
|
||||
};
|
||||
|
||||
struct Qv2rayConfig_SocksInbound
|
||||
{
|
||||
int port;
|
||||
bool useAuth;
|
||||
bool enableUDP;
|
||||
QString localIP;
|
||||
objects::AccountObject account;
|
||||
bool sniffing;
|
||||
Qv2rayConfig_SocksInbound() : port(1089), useAuth(false), enableUDP(true), localIP("127.0.0.1"), account(), sniffing(false){};
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_SocksInbound, F(port, useAuth, enableUDP, localIP, account, sniffing))
|
||||
};
|
||||
|
||||
struct Qv2rayConfig_HttpInbound
|
||||
{
|
||||
int port;
|
||||
bool useAuth;
|
||||
objects::AccountObject account;
|
||||
bool sniffing;
|
||||
Qv2rayConfig_HttpInbound() : port(8889), useAuth(false), account(), sniffing(false){};
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_HttpInbound, F(port, useAuth, account, sniffing))
|
||||
};
|
||||
|
||||
struct Qv2rayConfig_tProxy
|
||||
{
|
||||
QString tProxyIP;
|
||||
int port;
|
||||
bool hasTCP;
|
||||
bool hasUDP;
|
||||
bool followRedirect;
|
||||
QString mode;
|
||||
bool dnsIntercept;
|
||||
Qv2rayConfig_tProxy()
|
||||
: tProxyIP("127.0.0.1"), port(12345), hasTCP(true), hasUDP(false), followRedirect(true), mode("tproxy"), dnsIntercept(true){};
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_tProxy, F(tProxyIP, port, hasTCP, hasUDP, followRedirect, mode, dnsIntercept))
|
||||
};
|
||||
|
||||
struct Qv2rayConfig_Inbounds
|
||||
{
|
||||
QString listenip;
|
||||
bool setSystemProxy;
|
||||
|
||||
// SOCKS
|
||||
bool useSocks;
|
||||
int socks_port;
|
||||
bool socks_useAuth;
|
||||
bool socksUDP;
|
||||
QString socksLocalIP;
|
||||
objects::AccountObject socksAccount;
|
||||
bool socksSniffing;
|
||||
// HTTP
|
||||
bool useHTTP;
|
||||
int http_port;
|
||||
bool http_useAuth;
|
||||
objects::AccountObject httpAccount;
|
||||
bool httpSniffing;
|
||||
|
||||
// dokodemo-door transparent proxy
|
||||
bool useTPROXY;
|
||||
QString tproxy_ip;
|
||||
int tproxy_port;
|
||||
bool tproxy_use_tcp;
|
||||
bool tproxy_use_udp;
|
||||
bool tproxy_followRedirect;
|
||||
/*redirect or tproxy way, and tproxy need cap_net_admin*/
|
||||
QString tproxy_mode;
|
||||
bool dnsIntercept;
|
||||
//
|
||||
Qv2rayConfig_tProxy tProxySettings;
|
||||
Qv2rayConfig_HttpInbound httpSettings;
|
||||
Qv2rayConfig_SocksInbound socksSettings;
|
||||
Qv2rayConfig_SystemProxy systemProxySettings;
|
||||
Qv2rayConfig_Inbounds() : listenip("127.0.0.1"), useSocks(true), useHTTP(true), useTPROXY(false){};
|
||||
|
||||
Qv2rayConfig_Inbounds()
|
||||
: listenip("127.0.0.1"), setSystemProxy(true), useSocks(true), socks_port(1089), socks_useAuth(false), socksUDP(true),
|
||||
socksLocalIP("127.0.0.1"), socksAccount(), socksSniffing(false), useHTTP(true), http_port(8889), http_useAuth(false),
|
||||
httpAccount(), httpSniffing(false), useTPROXY(false), tproxy_ip("127.0.0.1"), tproxy_port(12345), tproxy_use_tcp(true),
|
||||
tproxy_use_udp(false), tproxy_followRedirect(true), tproxy_mode("tproxy"), dnsIntercept(true){};
|
||||
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_Inbounds,
|
||||
F(setSystemProxy, listenip, useSocks, useHTTP, socks_port, socks_useAuth, socksAccount, socksSniffing, socksUDP,
|
||||
socksLocalIP, http_port, http_useAuth, httpAccount, httpSniffing, useTPROXY),
|
||||
F(tproxy_ip, tproxy_port, tproxy_use_tcp, tproxy_use_udp, tproxy_followRedirect, tproxy_mode, dnsIntercept))
|
||||
JSONSTRUCT_REGISTER(Qv2rayConfig_Inbounds, //
|
||||
F(listenip, useSocks, useHTTP, useTPROXY), //
|
||||
F(tProxySettings, httpSettings, socksSettings, systemProxySettings))
|
||||
};
|
||||
|
||||
struct Qv2rayConfig_Outbounds
|
||||
|
@ -316,17 +316,17 @@ namespace Qv2ray::core::connection
|
||||
{
|
||||
INBOUND httpInBoundObject;
|
||||
httpInBoundObject.insert("listen", GlobalConfig.inboundConfig.listenip);
|
||||
httpInBoundObject.insert("port", GlobalConfig.inboundConfig.http_port);
|
||||
httpInBoundObject.insert("port", GlobalConfig.inboundConfig.httpSettings.port);
|
||||
httpInBoundObject.insert("protocol", "http");
|
||||
httpInBoundObject.insert("tag", "http_IN");
|
||||
if (!GlobalConfig.inboundConfig.httpSniffing)
|
||||
if (!GlobalConfig.inboundConfig.httpSettings.sniffing)
|
||||
{
|
||||
httpInBoundObject.insert("sniffing", sniffingObject);
|
||||
}
|
||||
|
||||
if (GlobalConfig.inboundConfig.http_useAuth)
|
||||
if (GlobalConfig.inboundConfig.httpSettings.useAuth)
|
||||
{
|
||||
auto httpInSettings = GenerateHTTPIN(QList<AccountObject>() << GlobalConfig.inboundConfig.httpAccount);
|
||||
auto httpInSettings = GenerateHTTPIN(QList<AccountObject>() << GlobalConfig.inboundConfig.httpSettings.account);
|
||||
httpInBoundObject.insert("settings", httpInSettings);
|
||||
}
|
||||
|
||||
@ -338,17 +338,18 @@ namespace Qv2ray::core::connection
|
||||
{
|
||||
INBOUND socksInBoundObject;
|
||||
socksInBoundObject.insert("listen", GlobalConfig.inboundConfig.listenip);
|
||||
socksInBoundObject.insert("port", GlobalConfig.inboundConfig.socks_port);
|
||||
socksInBoundObject.insert("port", GlobalConfig.inboundConfig.socksSettings.port);
|
||||
socksInBoundObject.insert("protocol", "socks");
|
||||
socksInBoundObject.insert("tag", "socks_IN");
|
||||
if (!GlobalConfig.inboundConfig.socksSniffing)
|
||||
if (!GlobalConfig.inboundConfig.socksSettings.sniffing)
|
||||
{
|
||||
socksInBoundObject.insert("sniffing", sniffingObject);
|
||||
}
|
||||
|
||||
auto socksInSettings = GenerateSocksIN(GlobalConfig.inboundConfig.socks_useAuth ? "password" : "noauth",
|
||||
QList<AccountObject>() << GlobalConfig.inboundConfig.socksAccount,
|
||||
GlobalConfig.inboundConfig.socksUDP, GlobalConfig.inboundConfig.socksLocalIP);
|
||||
auto socksInSettings =
|
||||
GenerateSocksIN(GlobalConfig.inboundConfig.socksSettings.useAuth ? "password" : "noauth",
|
||||
QList<AccountObject>() << GlobalConfig.inboundConfig.socksSettings.account,
|
||||
GlobalConfig.inboundConfig.socksSettings.enableUDP, GlobalConfig.inboundConfig.socksSettings.localIP);
|
||||
socksInBoundObject.insert("settings", socksInSettings);
|
||||
inboundsList.append(socksInBoundObject);
|
||||
}
|
||||
@ -357,15 +358,15 @@ namespace Qv2ray::core::connection
|
||||
if (GlobalConfig.inboundConfig.useTPROXY)
|
||||
{
|
||||
INBOUND tproxyInBoundObject;
|
||||
tproxyInBoundObject.insert("listen", GlobalConfig.inboundConfig.tproxy_ip);
|
||||
tproxyInBoundObject.insert("port", GlobalConfig.inboundConfig.tproxy_port);
|
||||
tproxyInBoundObject.insert("listen", GlobalConfig.inboundConfig.tProxySettings.tProxyIP);
|
||||
tproxyInBoundObject.insert("port", GlobalConfig.inboundConfig.tProxySettings.port);
|
||||
tproxyInBoundObject.insert("protocol", "dokodemo-door");
|
||||
tproxyInBoundObject.insert("tag", "tproxy_IN");
|
||||
|
||||
QList<QString> networks;
|
||||
if (GlobalConfig.inboundConfig.tproxy_use_tcp)
|
||||
if (GlobalConfig.inboundConfig.tProxySettings.hasTCP)
|
||||
networks << "tcp";
|
||||
if (GlobalConfig.inboundConfig.tproxy_use_udp)
|
||||
if (GlobalConfig.inboundConfig.tProxySettings.hasUDP)
|
||||
networks << "udp";
|
||||
const auto tproxy_network = networks.join(",");
|
||||
|
||||
@ -376,7 +377,8 @@ namespace Qv2ray::core::connection
|
||||
tproxyInBoundObject.insert("sniffing", tproxy_sniff);
|
||||
// tproxyInBoundObject.insert("sniffing", sniffingObject);
|
||||
|
||||
QJsonObject tproxy_streamSettings{ { "sockopt", QJsonObject{ { "tproxy", GlobalConfig.inboundConfig.tproxy_mode } } } };
|
||||
QJsonObject tproxy_streamSettings{ { "sockopt",
|
||||
QJsonObject{ { "tproxy", GlobalConfig.inboundConfig.tProxySettings.mode } } } };
|
||||
tproxyInBoundObject.insert("streamSettings", tproxy_streamSettings);
|
||||
|
||||
inboundsList.append(tproxyInBoundObject);
|
||||
@ -524,7 +526,7 @@ namespace Qv2ray::core::connection
|
||||
root["outbounds"] = outbounds;
|
||||
|
||||
// intercepet dns if necessary
|
||||
if (GlobalConfig.inboundConfig.useTPROXY && GlobalConfig.inboundConfig.dnsIntercept)
|
||||
if (GlobalConfig.inboundConfig.useTPROXY && GlobalConfig.inboundConfig.tProxySettings.dnsIntercept)
|
||||
{
|
||||
DNSInterceptFilter(root);
|
||||
}
|
||||
|
@ -115,8 +115,8 @@ namespace Qv2ray::core::handlers
|
||||
pluginProcessedOutboundList.append({ originalOutboundTag, inTag, freedomTag });
|
||||
_PluginPortAlloc++;
|
||||
}
|
||||
_inboundSettings[k::KERNEL_SOCKS_UDP_ENABLED] = GlobalConfig.inboundConfig.socksUDP;
|
||||
_inboundSettings[k::KERNEL_SOCKS_LOCAL_ADDRESS] = GlobalConfig.inboundConfig.socksLocalIP;
|
||||
_inboundSettings[k::KERNEL_SOCKS_UDP_ENABLED] = GlobalConfig.inboundConfig.socksSettings.enableUDP;
|
||||
_inboundSettings[k::KERNEL_SOCKS_LOCAL_ADDRESS] = GlobalConfig.inboundConfig.socksSettings.localIP;
|
||||
_inboundSettings[k::KERNEL_LISTEN_ADDRESS] = GlobalConfig.inboundConfig.listenip;
|
||||
LOG(MODULE_CONNECTION, "Sending connection settings to kernel.")
|
||||
activeKernels[outProtocol]->SetConnectionSettings(_inboundSettings, outbound["settings"].toObject());
|
||||
@ -232,8 +232,8 @@ namespace Qv2ray::core::handlers
|
||||
currentId = id;
|
||||
lastConnectionId = id;
|
||||
//
|
||||
pluginInboundPort[k::KERNEL_SOCKS_UDP_ENABLED] = GlobalConfig.inboundConfig.socksUDP;
|
||||
pluginInboundPort[k::KERNEL_SOCKS_LOCAL_ADDRESS] = GlobalConfig.inboundConfig.socksLocalIP;
|
||||
pluginInboundPort[k::KERNEL_SOCKS_UDP_ENABLED] = GlobalConfig.inboundConfig.socksSettings.enableUDP;
|
||||
pluginInboundPort[k::KERNEL_SOCKS_LOCAL_ADDRESS] = GlobalConfig.inboundConfig.socksSettings.localIP;
|
||||
pluginInboundPort[k::KERNEL_LISTEN_ADDRESS] = GlobalConfig.inboundConfig.listenip;
|
||||
//
|
||||
activeKernels[protocol]->SetConnectionSettings(pluginInboundPort, firstOutbound["settings"].toObject());
|
||||
|
@ -360,6 +360,44 @@ namespace Qv2ray
|
||||
UPGRADELOG("Finished upgrading config file for Qv2ray Group Routing update.")
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
auto inboundConfig = root["inboundConfig"].toObject();
|
||||
//
|
||||
QJsonObject socksSettings;
|
||||
QJsonObject httpSettings;
|
||||
QJsonObject tProxySettings;
|
||||
QJsonObject systemProxySettings;
|
||||
systemProxySettings["setSystemProxy"] = inboundConfig["setSystemProxy"];
|
||||
//
|
||||
socksSettings["port"] = inboundConfig["socks_port"];
|
||||
socksSettings["useAuth"] = inboundConfig["socks_useAuth"];
|
||||
socksSettings["enableUDP"] = inboundConfig["socksUDP"];
|
||||
socksSettings["localIP"] = inboundConfig["socksLocalIP"];
|
||||
socksSettings["account"] = inboundConfig["socksAccount"];
|
||||
socksSettings["sniffing"] = inboundConfig["socksSniffing"];
|
||||
//
|
||||
httpSettings["port"] = inboundConfig["http_port"];
|
||||
httpSettings["useAuth"] = inboundConfig["http_useAuth"];
|
||||
httpSettings["account"] = inboundConfig["httpAccount"];
|
||||
httpSettings["sniffing"] = inboundConfig["httpSniffing"];
|
||||
//
|
||||
tProxySettings["tProxyIP"] = inboundConfig["tproxy_ip"];
|
||||
tProxySettings["port"] = inboundConfig["tproxy_port"];
|
||||
tProxySettings["hasTCP"] = inboundConfig["tproxy_use_tcp"];
|
||||
tProxySettings["hasUDP"] = inboundConfig["tproxy_use_udp"];
|
||||
tProxySettings["followRedirect"] = inboundConfig["tproxy_followRedirect"];
|
||||
tProxySettings["mode"] = inboundConfig["tproxy_mode"];
|
||||
tProxySettings["dnsIntercept"] = inboundConfig["dnsIntercept"];
|
||||
//
|
||||
inboundConfig["systemProxySettings"] = systemProxySettings;
|
||||
inboundConfig["socksSettings"] = socksSettings;
|
||||
inboundConfig["httpSettings"] = httpSettings;
|
||||
inboundConfig["tProxySettings"] = tProxySettings;
|
||||
//
|
||||
root["inboundConfig"] = inboundConfig;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
//
|
||||
|
@ -670,12 +670,14 @@ void RouteEditor::on_addDefaultBtn_clicked()
|
||||
//
|
||||
auto _Inconfig = GlobalConfig.inboundConfig;
|
||||
//
|
||||
auto _in_httpConf = GenerateHTTPIN(QList<AccountObject>() << _Inconfig.httpAccount);
|
||||
auto _in_socksConf = GenerateSocksIN((_Inconfig.socks_useAuth ? "password" : "noauth"), QList<AccountObject>() << _Inconfig.socksAccount,
|
||||
_Inconfig.socksUDP, _Inconfig.socksLocalIP);
|
||||
auto _in_httpConf = GenerateHTTPIN(QList<AccountObject>() << _Inconfig.httpSettings.account);
|
||||
auto _in_socksConf = GenerateSocksIN((_Inconfig.socksSettings.useAuth ? "password" : "noauth"), //
|
||||
QList<AccountObject>() << _Inconfig.socksSettings.account, //
|
||||
_Inconfig.socksSettings.enableUDP, //
|
||||
_Inconfig.socksSettings.localIP);
|
||||
//
|
||||
auto _in_HTTP = GenerateInboundEntry(_Inconfig.listenip, _Inconfig.http_port, "http", _in_httpConf, "HTTP_gConf");
|
||||
auto _in_SOCKS = GenerateInboundEntry(_Inconfig.listenip, _Inconfig.socks_port, "socks", _in_socksConf, "SOCKS_gConf");
|
||||
auto _in_HTTP = GenerateInboundEntry(_Inconfig.listenip, _Inconfig.httpSettings.port, "http", _in_httpConf, "HTTP_gConf");
|
||||
auto _in_SOCKS = GenerateInboundEntry(_Inconfig.listenip, _Inconfig.socksSettings.port, "socks", _in_socksConf, "SOCKS_gConf");
|
||||
//
|
||||
AddInbound(_in_HTTP);
|
||||
AddInbound(_in_SOCKS);
|
||||
|
@ -634,7 +634,7 @@ void MainWindow::OnDisconnected(const ConnectionGroupPair &id)
|
||||
netspeedLabel->setText("0.00 B/s" NEWLINE "0.00 B/s");
|
||||
dataamountLabel->setText("0.00 B" NEWLINE "0.00 B");
|
||||
connetionStatusLabel->setText(tr("Not Connected"));
|
||||
if (GlobalConfig.inboundConfig.setSystemProxy)
|
||||
if (GlobalConfig.inboundConfig.systemProxySettings.setSystemProxy)
|
||||
{
|
||||
ClearSystemProxy();
|
||||
}
|
||||
@ -660,7 +660,7 @@ void MainWindow::OnConnected(const ConnectionGroupPair &id)
|
||||
connetionStatusLabel->setText(tr("Connected: ") + name);
|
||||
//
|
||||
ConnectionManager->StartLatencyTest(id.connectionId);
|
||||
if (GlobalConfig.inboundConfig.setSystemProxy)
|
||||
if (GlobalConfig.inboundConfig.systemProxySettings.setSystemProxy)
|
||||
{
|
||||
MWSetSystemProxy();
|
||||
}
|
||||
|
@ -84,43 +84,42 @@ PreferencesWindow::PreferencesWindow(QWidget *parent) : QDialog(parent), Current
|
||||
//
|
||||
bool have_http = CurrentConfig.inboundConfig.useHTTP;
|
||||
httpGroupBox->setChecked(have_http);
|
||||
httpPortLE->setValue(CurrentConfig.inboundConfig.http_port);
|
||||
httpAuthCB->setChecked(CurrentConfig.inboundConfig.http_useAuth);
|
||||
httpPortLE->setValue(CurrentConfig.inboundConfig.httpSettings.port);
|
||||
httpAuthCB->setChecked(CurrentConfig.inboundConfig.httpSettings.useAuth);
|
||||
//
|
||||
httpAuthCB->setChecked(CurrentConfig.inboundConfig.http_useAuth);
|
||||
httpAuthUsernameTxt->setEnabled(CurrentConfig.inboundConfig.http_useAuth);
|
||||
httpAuthPasswordTxt->setEnabled(CurrentConfig.inboundConfig.http_useAuth);
|
||||
httpAuthUsernameTxt->setText(CurrentConfig.inboundConfig.httpAccount.user);
|
||||
httpAuthPasswordTxt->setText(CurrentConfig.inboundConfig.httpAccount.pass);
|
||||
httpSniffingCB->setChecked(CurrentConfig.inboundConfig.httpSniffing);
|
||||
httpAuthUsernameTxt->setEnabled(CurrentConfig.inboundConfig.httpSettings.useAuth);
|
||||
httpAuthPasswordTxt->setEnabled(CurrentConfig.inboundConfig.httpSettings.useAuth);
|
||||
httpAuthUsernameTxt->setText(CurrentConfig.inboundConfig.httpSettings.account.user);
|
||||
httpAuthPasswordTxt->setText(CurrentConfig.inboundConfig.httpSettings.account.pass);
|
||||
httpSniffingCB->setChecked(CurrentConfig.inboundConfig.httpSettings.sniffing);
|
||||
//
|
||||
//
|
||||
bool have_socks = CurrentConfig.inboundConfig.useSocks;
|
||||
socksGroupBox->setChecked(have_socks);
|
||||
socksPortLE->setValue(CurrentConfig.inboundConfig.socks_port);
|
||||
socksPortLE->setValue(CurrentConfig.inboundConfig.socksSettings.port);
|
||||
//
|
||||
socksAuthCB->setChecked(CurrentConfig.inboundConfig.socks_useAuth);
|
||||
socksAuthUsernameTxt->setEnabled(CurrentConfig.inboundConfig.socks_useAuth);
|
||||
socksAuthPasswordTxt->setEnabled(CurrentConfig.inboundConfig.socks_useAuth);
|
||||
socksAuthUsernameTxt->setText(CurrentConfig.inboundConfig.socksAccount.user);
|
||||
socksAuthPasswordTxt->setText(CurrentConfig.inboundConfig.socksAccount.pass);
|
||||
socksAuthCB->setChecked(CurrentConfig.inboundConfig.socksSettings.useAuth);
|
||||
socksAuthUsernameTxt->setEnabled(CurrentConfig.inboundConfig.socksSettings.useAuth);
|
||||
socksAuthPasswordTxt->setEnabled(CurrentConfig.inboundConfig.socksSettings.useAuth);
|
||||
socksAuthUsernameTxt->setText(CurrentConfig.inboundConfig.socksSettings.account.user);
|
||||
socksAuthPasswordTxt->setText(CurrentConfig.inboundConfig.socksSettings.account.pass);
|
||||
// Socks UDP Options
|
||||
socksUDPCB->setChecked(CurrentConfig.inboundConfig.socksUDP);
|
||||
socksUDPIP->setEnabled(CurrentConfig.inboundConfig.socksUDP);
|
||||
socksUDPIP->setText(CurrentConfig.inboundConfig.socksLocalIP);
|
||||
socksSniffingCB->setChecked(CurrentConfig.inboundConfig.socksSniffing);
|
||||
socksUDPCB->setChecked(CurrentConfig.inboundConfig.socksSettings.enableUDP);
|
||||
socksUDPIP->setEnabled(CurrentConfig.inboundConfig.socksSettings.enableUDP);
|
||||
socksUDPIP->setText(CurrentConfig.inboundConfig.socksSettings.localIP);
|
||||
socksSniffingCB->setChecked(CurrentConfig.inboundConfig.socksSettings.sniffing);
|
||||
//
|
||||
//
|
||||
bool have_tproxy = CurrentConfig.inboundConfig.useTPROXY;
|
||||
tproxGroupBox->setChecked(have_tproxy);
|
||||
tproxyListenAddr->setText(CurrentConfig.inboundConfig.tproxy_ip);
|
||||
tProxyPort->setValue(CurrentConfig.inboundConfig.tproxy_port);
|
||||
tproxyEnableTCP->setChecked(CurrentConfig.inboundConfig.tproxy_use_tcp);
|
||||
tproxyEnableUDP->setChecked(CurrentConfig.inboundConfig.tproxy_use_udp);
|
||||
tproxyFollowRedirect->setChecked(CurrentConfig.inboundConfig.tproxy_followRedirect);
|
||||
tproxyMode->setCurrentText(CurrentConfig.inboundConfig.tproxy_mode);
|
||||
tproxyListenAddr->setText(CurrentConfig.inboundConfig.tProxySettings.tProxyIP);
|
||||
tProxyPort->setValue(CurrentConfig.inboundConfig.tProxySettings.port);
|
||||
tproxyEnableTCP->setChecked(CurrentConfig.inboundConfig.tProxySettings.hasTCP);
|
||||
tproxyEnableUDP->setChecked(CurrentConfig.inboundConfig.tProxySettings.hasUDP);
|
||||
tproxyFollowRedirect->setChecked(CurrentConfig.inboundConfig.tProxySettings.followRedirect);
|
||||
tproxyMode->setCurrentText(CurrentConfig.inboundConfig.tProxySettings.mode);
|
||||
outboundMark->setValue(CurrentConfig.outboundConfig.mark);
|
||||
dnsIntercept->setChecked(CurrentConfig.inboundConfig.dnsIntercept);
|
||||
dnsIntercept->setChecked(CurrentConfig.inboundConfig.tProxySettings.dnsIntercept);
|
||||
DnsFreedomCb->setChecked(CurrentConfig.connectionConfig.v2rayFreedomDNS);
|
||||
//
|
||||
//
|
||||
@ -224,7 +223,7 @@ PreferencesWindow::PreferencesWindow(QWidget *parent) : QDialog(parent), Current
|
||||
//
|
||||
maxLogLinesSB->setValue(CurrentConfig.uiConfig.maximumLogLines);
|
||||
//
|
||||
setSysProxyCB->setChecked(CurrentConfig.inboundConfig.setSystemProxy);
|
||||
setSysProxyCB->setChecked(CurrentConfig.inboundConfig.systemProxySettings.setSystemProxy);
|
||||
//
|
||||
finishedLoading = true;
|
||||
routeSettingsWidget = new RouteSettingsMatrixWidget(CurrentConfig.kernelConfig.AssetsPath(), this);
|
||||
@ -257,19 +256,19 @@ void PreferencesWindow::on_buttonBox_accepted()
|
||||
if (CurrentConfig.inboundConfig.useHTTP)
|
||||
{
|
||||
size++;
|
||||
ports << CurrentConfig.inboundConfig.http_port;
|
||||
ports << CurrentConfig.inboundConfig.httpSettings.port;
|
||||
}
|
||||
|
||||
if (CurrentConfig.inboundConfig.useSocks)
|
||||
{
|
||||
size++;
|
||||
ports << CurrentConfig.inboundConfig.socks_port;
|
||||
ports << CurrentConfig.inboundConfig.socksSettings.port;
|
||||
}
|
||||
|
||||
if (CurrentConfig.inboundConfig.useTPROXY)
|
||||
{
|
||||
size++;
|
||||
ports << CurrentConfig.inboundConfig.tproxy_port;
|
||||
ports << CurrentConfig.inboundConfig.tProxySettings.port;
|
||||
}
|
||||
|
||||
if (!StartupOption.noAPI)
|
||||
@ -326,7 +325,7 @@ void PreferencesWindow::on_httpAuthCB_stateChanged(int checked)
|
||||
bool enabled = checked == Qt::Checked;
|
||||
httpAuthUsernameTxt->setEnabled(enabled);
|
||||
httpAuthPasswordTxt->setEnabled(enabled);
|
||||
CurrentConfig.inboundConfig.http_useAuth = enabled;
|
||||
CurrentConfig.inboundConfig.httpSettings.useAuth = enabled;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksAuthCB_stateChanged(int checked)
|
||||
@ -335,7 +334,7 @@ void PreferencesWindow::on_socksAuthCB_stateChanged(int checked)
|
||||
bool enabled = checked == Qt::Checked;
|
||||
socksAuthUsernameTxt->setEnabled(enabled);
|
||||
socksAuthPasswordTxt->setEnabled(enabled);
|
||||
CurrentConfig.inboundConfig.socks_useAuth = enabled;
|
||||
CurrentConfig.inboundConfig.socksSettings.useAuth = enabled;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_languageComboBox_currentTextChanged(const QString &arg1)
|
||||
@ -377,25 +376,25 @@ void PreferencesWindow::on_listenIPTxt_textEdited(const QString &arg1)
|
||||
void PreferencesWindow::on_httpAuthUsernameTxt_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.httpAccount.user = arg1;
|
||||
CurrentConfig.inboundConfig.httpSettings.account.user = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_httpAuthPasswordTxt_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.httpAccount.pass = arg1;
|
||||
CurrentConfig.inboundConfig.httpSettings.account.pass = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksAuthUsernameTxt_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socksAccount.user = arg1;
|
||||
CurrentConfig.inboundConfig.socksSettings.account.user = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksAuthPasswordTxt_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socksAccount.pass = arg1;
|
||||
CurrentConfig.inboundConfig.socksSettings.account.pass = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_proxyDefaultCb_stateChanged(int arg1)
|
||||
@ -627,26 +626,26 @@ void PreferencesWindow::on_statsPortBox_valueChanged(int arg1)
|
||||
void PreferencesWindow::on_socksPortLE_valueChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socks_port = arg1;
|
||||
CurrentConfig.inboundConfig.socksSettings.port = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_httpPortLE_valueChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.http_port = arg1;
|
||||
CurrentConfig.inboundConfig.httpSettings.port = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksUDPCB_stateChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socksUDP = arg1 == Qt::Checked;
|
||||
CurrentConfig.inboundConfig.socksSettings.enableUDP = arg1 == Qt::Checked;
|
||||
socksUDPIP->setEnabled(arg1 == Qt::Checked);
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksUDPIP_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socksLocalIP = arg1;
|
||||
CurrentConfig.inboundConfig.socksSettings.localIP = arg1;
|
||||
|
||||
if (IsValidIPAddress(arg1))
|
||||
{
|
||||
@ -690,7 +689,7 @@ void PreferencesWindow::on_setSysProxyCB_stateChanged(int arg1)
|
||||
{
|
||||
LOADINGCHECK
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.setSystemProxy = arg1 == Qt::Checked;
|
||||
CurrentConfig.inboundConfig.systemProxySettings.setSystemProxy = arg1 == Qt::Checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_autoStartSubsCombo_currentIndexChanged(const QString &arg1)
|
||||
@ -952,37 +951,37 @@ void PreferencesWindow::on_tproxGroupBox_toggled(bool arg1)
|
||||
void PreferencesWindow::on_tProxyPort_valueChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_port = arg1;
|
||||
CurrentConfig.inboundConfig.tProxySettings.port = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_tproxyEnableTCP_toggled(bool checked)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_use_tcp = checked;
|
||||
CurrentConfig.inboundConfig.tProxySettings.hasTCP = checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_tproxyEnableUDP_toggled(bool checked)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_use_udp = checked;
|
||||
CurrentConfig.inboundConfig.tProxySettings.hasUDP = checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_tproxyFollowRedirect_toggled(bool checked)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_followRedirect = checked;
|
||||
CurrentConfig.inboundConfig.tProxySettings.followRedirect = checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_tproxyMode_currentTextChanged(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_mode = arg1;
|
||||
CurrentConfig.inboundConfig.tProxySettings.mode = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_tproxyListenAddr_textEdited(const QString &arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.tproxy_ip = arg1;
|
||||
CurrentConfig.inboundConfig.tProxySettings.tProxyIP = arg1;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_jumpListCountSB_valueChanged(int arg1)
|
||||
@ -999,7 +998,7 @@ void PreferencesWindow::on_outboundMark_valueChanged(int arg1)
|
||||
void PreferencesWindow::on_dnsIntercept_toggled(bool checked)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.dnsIntercept = checked;
|
||||
CurrentConfig.inboundConfig.tProxySettings.dnsIntercept = checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_qvProxyCustomProxy_clicked()
|
||||
@ -1026,11 +1025,11 @@ void PreferencesWindow::on_DnsFreedomCb_stateChanged(int arg1)
|
||||
void PreferencesWindow::on_httpSniffingCB_stateChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.httpSniffing = arg1 == Qt::Checked;
|
||||
CurrentConfig.inboundConfig.httpSettings.sniffing = arg1 == Qt::Checked;
|
||||
}
|
||||
|
||||
void PreferencesWindow::on_socksSniffingCB_stateChanged(int arg1)
|
||||
{
|
||||
NEEDRESTART
|
||||
CurrentConfig.inboundConfig.socksSniffing = arg1 == Qt::Checked;
|
||||
CurrentConfig.inboundConfig.socksSettings.sniffing = arg1 == Qt::Checked;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user