]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
nodes: clarify useSocks5Proxy
authortobtoht <tob@featherwallet.org>
Sun, 12 Feb 2023 02:01:32 +0000 (03:01 +0100)
committertobtoht <tob@featherwallet.org>
Sun, 12 Feb 2023 02:01:32 +0000 (03:01 +0100)
src/utils/nodes.cpp

index b1f77278423eecf7cd4531fea31a2f40f85d5414..bcbd26e626ccaa1832147fc4a8f528f4fb80096b 100644 (file)
@@ -449,26 +449,36 @@ bool Nodes::useI2PNodes() {
 
 bool Nodes::useSocks5Proxy(const FeatherNode &node) {
     if (node.isLocal()) {
+        // When Feather is connected to a local node, ignore proxy settings.
         return false;
     }
 
     if (Utils::isTorsocks()) {
+        // When Feather is started with torsocks, let torsocks handle traffic.
         return false;
     }
 
-    if (TailsOS::detect() || WhonixOS::detect()) {
+    if (config()->get(Config::proxy).toInt() == Config::Proxy::None) {
+        return false;
+    }
+
+    if (TailsOS::detect()) {
+        // Tails does not transparently route traffic over Tor.
+        return true;
+    }
+
+    if (WhonixOS::detect()) {
         return true;
     }
 
     if (config()->get(Config::proxy).toInt() == Config::Proxy::Tor) {
+        // Don't use socks5 proxy if initial sync traffic is excluded.
         return this->useOnionNodes();
     }
 
     if (config()->get(Config::proxy).toInt() != Config::Proxy::None) {
         return true;
     }
-
-    return false;
 }
 
 void Nodes::updateModels() {