Merge pull request #3089

0fcaadae main: command line option for socks5 proxy (selsta)
This commit is contained in:
Alexander Blair 2020-09-28 19:06:58 -07:00
commit 22386aa7e1
No known key found for this signature in database
GPG key ID: C64552D877C32479
3 changed files with 13 additions and 6 deletions

View file

@ -1427,13 +1427,14 @@ ApplicationWindow {
property string proxyAddress: "127.0.0.1:9050" property string proxyAddress: "127.0.0.1:9050"
property bool proxyEnabled: isTails property bool proxyEnabled: isTails
function getProxyAddress() { function getProxyAddress() {
if (!proxyEnabled) { if ((socksProxyFlagSet && socksProxyFlag == "") || !proxyEnabled) {
return ""; return "";
} }
if (proxyAddress == "") { var proxyAddressSetOrForced = socksProxyFlagSet ? socksProxyFlag : proxyAddress;
if (proxyAddressSetOrForced == "") {
return "127.0.0.1:0"; return "127.0.0.1:0";
} }
return proxyAddress; return proxyAddressSetOrForced;
} }
function getWalletProxyAddress() { function getWalletProxyAddress() {
if (!useRemoteNode) { if (!useRemoteNode) {

View file

@ -254,7 +254,8 @@ Rectangle {
MoneroComponents.CheckBox { MoneroComponents.CheckBox {
id: proxyCheckbox id: proxyCheckbox
Layout.topMargin: 6 Layout.topMargin: 6
checked: persistentSettings.proxyEnabled enabled: !socksProxyFlagSet
checked: socksProxyFlagSet ? socksProxyFlag : persistentSettings.proxyEnabled
onClicked: { onClicked: {
persistentSettings.proxyEnabled = !persistentSettings.proxyEnabled; persistentSettings.proxyEnabled = !persistentSettings.proxyEnabled;
} }
@ -265,16 +266,17 @@ Rectangle {
MoneroComponents.RemoteNodeEdit { MoneroComponents.RemoteNodeEdit {
id: proxyEdit id: proxyEdit
enabled: proxyCheckbox.enabled
Layout.leftMargin: 36 Layout.leftMargin: 36
Layout.topMargin: 6 Layout.topMargin: 6
Layout.minimumWidth: 100 Layout.minimumWidth: 100
placeholderFontSize: 15 placeholderFontSize: 15
visible: persistentSettings.proxyEnabled visible: proxyCheckbox.checked
daemonAddrLabelText: qsTr("IP address") + translationManager.emptyString daemonAddrLabelText: qsTr("IP address") + translationManager.emptyString
daemonPortLabelText: qsTr("Port") + translationManager.emptyString daemonPortLabelText: qsTr("Port") + translationManager.emptyString
initialAddress: persistentSettings.proxyAddress initialAddress: socksProxyFlagSet ? socksProxyFlag : persistentSettings.proxyAddress
onEditingFinished: { onEditingFinished: {
persistentSettings.proxyAddress = proxyEdit.getAddress(); persistentSettings.proxyAddress = proxyEdit.getAddress();
} }

View file

@ -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."); QCommandLineOption disableCheckUpdatesOption("disable-check-updates", "Disable automatic check for updates.");
parser.addOption(disableCheckUpdatesOption); 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"); QCommandLineOption testQmlOption("test-qml");
testQmlOption.setFlags(QCommandLineOption::HiddenFromHelp); testQmlOption.setFlags(QCommandLineOption::HiddenFromHelp);
parser.addOption(logPathOption); 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("applicationDirectory", QApplication::applicationDirPath());
engine.rootContext()->setContextProperty("idealThreadCount", QThread::idealThreadCount()); engine.rootContext()->setContextProperty("idealThreadCount", QThread::idealThreadCount());
engine.rootContext()->setContextProperty("disableCheckUpdatesFlag", parser.isSet(disableCheckUpdatesOption)); engine.rootContext()->setContextProperty("disableCheckUpdatesFlag", parser.isSet(disableCheckUpdatesOption));
engine.rootContext()->setContextProperty("socksProxyFlag", parser.value(socksProxyOption));
engine.rootContext()->setContextProperty("socksProxyFlagSet", parser.isSet(socksProxyOption));
bool builtWithScanner = false; bool builtWithScanner = false;
#ifdef WITH_SCANNER #ifdef WITH_SCANNER