aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorselsta <selsta@sent.at>2020-08-29 23:21:32 +0200
committerselsta <selsta@sent.at>2020-09-28 01:57:47 +0200
commit0fcaadae530167df5be37712f2a0972618c6fbc5 (patch)
treed58a6b76277fbf102b1da56161c0cfac48c342b6
parentd313c2de377e5163a27835d28a835c274ee7abf4 (diff)
downloadmonzero-gui-0fcaadae530167df5be37712f2a0972618c6fbc5.tar.gz
monzero-gui-0fcaadae530167df5be37712f2a0972618c6fbc5.tar.xz
monzero-gui-0fcaadae530167df5be37712f2a0972618c6fbc5.zip
main: command line option for socks5 proxy
-rw-r--r--main.qml7
-rw-r--r--pages/settings/SettingsLayout.qml8
-rw-r--r--src/main/main.cpp4
3 files changed, 13 insertions, 6 deletions
diff --git a/main.qml b/main.qml
index 9e8e1a84..1acab8f2 100644
--- a/main.qml
+++ b/main.qml
@@ -1423,13 +1423,14 @@ ApplicationWindow {
property string proxyAddress: "127.0.0.1:9050"
property bool proxyEnabled: false
function getProxyAddress() {
- if (!proxyEnabled) {
+ if ((socksProxyFlagSet && socksProxyFlag == "") || !proxyEnabled) {
return "";
}
- if (proxyAddress == "") {
+ var proxyAddressSetOrForced = socksProxyFlagSet ? socksProxyFlag : proxyAddress;
+ if (proxyAddressSetOrForced == "") {
return "127.0.0.1:0";
}
- return proxyAddress;
+ return proxyAddressSetOrForced;
}
function getWalletProxyAddress() {
if (!useRemoteNode) {
diff --git a/pages/settings/SettingsLayout.qml b/pages/settings/SettingsLayout.qml
index f65b3747..9db3874f 100644
--- a/pages/settings/SettingsLayout.qml
+++ b/pages/settings/SettingsLayout.qml
@@ -254,7 +254,8 @@ Rectangle {
MoneroComponents.CheckBox {
id: proxyCheckbox
Layout.topMargin: 6
- checked: persistentSettings.proxyEnabled
+ enabled: !socksProxyFlagSet
+ checked: socksProxyFlagSet ? socksProxyFlag : persistentSettings.proxyEnabled
onClicked: {
persistentSettings.proxyEnabled = !persistentSettings.proxyEnabled;
}
@@ -265,16 +266,17 @@ Rectangle {
MoneroComponents.RemoteNodeEdit {
id: proxyEdit
+ enabled: proxyCheckbox.enabled
Layout.leftMargin: 36
Layout.topMargin: 6
Layout.minimumWidth: 100
placeholderFontSize: 15
- visible: persistentSettings.proxyEnabled
+ visible: proxyCheckbox.checked
daemonAddrLabelText: qsTr("IP address") + translationManager.emptyString
daemonPortLabelText: qsTr("Port") + translationManager.emptyString
- initialAddress: persistentSettings.proxyAddress
+ initialAddress: socksProxyFlagSet ? socksProxyFlag : persistentSettings.proxyAddress
onEditingFinished: {
persistentSettings.proxyAddress = proxyEdit.getAddress();
}
diff --git a/src/main/main.cpp b/src/main/main.cpp
index 25cb5296..a738c78a 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -256,6 +256,8 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw
QCommandLineOption disableCheckUpdatesOption("disable-check-updates", "Disable automatic check for updates.");
parser.addOption(disableCheckUpdatesOption);
+ QCommandLineOption socksProxyOption("socks5-proxy", "Enable socks5 proxy. Used for remote node connection (advanced mode), updates downloading and fetching price sources.", "address:port");
+ parser.addOption(socksProxyOption);
QCommandLineOption testQmlOption("test-qml");
testQmlOption.setFlags(QCommandLineOption::HiddenFromHelp);
parser.addOption(logPathOption);
@@ -483,6 +485,8 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw
engine.rootContext()->setContextProperty("applicationDirectory", QApplication::applicationDirPath());
engine.rootContext()->setContextProperty("idealThreadCount", QThread::idealThreadCount());
engine.rootContext()->setContextProperty("disableCheckUpdatesFlag", parser.isSet(disableCheckUpdatesOption));
+ engine.rootContext()->setContextProperty("socksProxyFlag", parser.value(socksProxyOption));
+ engine.rootContext()->setContextProperty("socksProxyFlagSet", parser.isSet(socksProxyOption));
bool builtWithScanner = false;
#ifdef WITH_SCANNER