summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2023-04-19 12:31:13 +0200
committerAndrej Mihajlov <and@mullvad.net>2023-04-19 15:43:09 +0200
commitf00dcc7bb0fe0f1376066e484361f517de32ab7c (patch)
treee057c081ffeb6039f903d70872606fba569a664f
parent2939f7ea47dd6c090f7f0406b2e399d94660dd0e (diff)
downloadmullvadvpn-f00dcc7bb0fe0f1376066e484361f517de32ab7c.tar.xz
mullvadvpn-f00dcc7bb0fe0f1376066e484361f517de32ab7c.zip
RelaySelector: add method to pick random shadowsocks bridge
-rw-r--r--ios/RelaySelector/RelaySelector.swift7
1 files changed, 7 insertions, 0 deletions
diff --git a/ios/RelaySelector/RelaySelector.swift b/ios/RelaySelector/RelaySelector.swift
index 2c315f5723..86ebe8ed98 100644
--- a/ios/RelaySelector/RelaySelector.swift
+++ b/ios/RelaySelector/RelaySelector.swift
@@ -11,6 +11,13 @@ import MullvadREST
import MullvadTypes
public enum RelaySelector {
+ /**
+ Returns random shadowsocks TCP bridge, otherwise `nil` if there are no shadowdsocks bridges.
+ */
+ public static func getShadowsocksTCPBridge(relays: REST.ServerRelaysResponse) -> REST.ServerShadowsocks? {
+ return relays.bridge.shadowsocks.filter { $0.protocol == "tcp" }.randomElement()
+ }
+
public static func evaluate(
relays: REST.ServerRelaysResponse,
constraints: RelayConstraints