summaryrefslogtreecommitdiffhomepage
path: root/android/lib/model
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-09-17 15:34:41 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2024-09-17 15:34:41 +0200
commit95cd7d3e57fe08a93068c34d069d259c9d58dddd (patch)
treee1a608d11a51fa2246002695b5ecaed9c71f1da5 /android/lib/model
parent196061b0c06c031d3e19b4bfa13268010e8a4e2c (diff)
downloadmullvadvpn-95cd7d3e57fe08a93068c34d069d259c9d58dddd.tar.xz
mullvadvpn-95cd7d3e57fe08a93068c34d069d259c9d58dddd.zip
Implement wireguard over shadowsocks
Diffstat (limited to 'android/lib/model')
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationMode.kt (renamed from android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SelectedObfuscation.kt)3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationSettings.kt3
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Port.kt4
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ShadowsocksSettings.kt8
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardEndpointData.kt5
6 files changed, 20 insertions, 6 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt
index d11f405869..9b6b5cbf33 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/FeatureIndicator.kt
@@ -10,9 +10,10 @@ enum class FeatureIndicator {
SERVER_IP_OVERRIDE,
CUSTOM_MTU,
DAITA,
+ SHADOWSOCKS,
// Currently not supported
+ // DAITA_SMART_ROUTING
// LOCKDOWN_MODE,
- // SHADOWSOCKS,
// MULTIHOP,
// BRIDGE_MODE,
// CUSTOM_MSS_FIX,
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SelectedObfuscation.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationMode.kt
index 03de12079e..7e4101e973 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/SelectedObfuscation.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationMode.kt
@@ -1,7 +1,8 @@
package net.mullvad.mullvadvpn.lib.model
-enum class SelectedObfuscation {
+enum class ObfuscationMode {
Auto,
Off,
Udp2Tcp,
+ Shadowsocks,
}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationSettings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationSettings.kt
index 1bf12b2f9b..4425abd39b 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationSettings.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ObfuscationSettings.kt
@@ -4,8 +4,9 @@ import arrow.optics.optics
@optics
data class ObfuscationSettings(
- val selectedObfuscation: SelectedObfuscation,
+ val selectedObfuscationMode: ObfuscationMode,
val udp2tcp: Udp2TcpObfuscationSettings,
+ val shadowsocks: ShadowsocksSettings,
) {
companion object
}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Port.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Port.kt
index e6ca1e01b9..0f8bf37332 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Port.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/Port.kt
@@ -19,8 +19,8 @@ value class Port(val value: Int) : Parcelable {
Port(number)
}
- private const val MIN_VALUE = 0
- private const val MAX_VALUE = 65535
+ const val MIN_VALUE = 0
+ const val MAX_VALUE = 65535
}
}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ShadowsocksSettings.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ShadowsocksSettings.kt
new file mode 100644
index 0000000000..dd20470436
--- /dev/null
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ShadowsocksSettings.kt
@@ -0,0 +1,8 @@
+package net.mullvad.mullvadvpn.lib.model
+
+import arrow.optics.optics
+
+@optics
+data class ShadowsocksSettings(val port: Constraint<Port>) {
+ companion object
+}
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardEndpointData.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardEndpointData.kt
index 8aff7d2895..358882ddce 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardEndpointData.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/WireguardEndpointData.kt
@@ -1,3 +1,6 @@
package net.mullvad.mullvadvpn.lib.model
-data class WireguardEndpointData(val portRanges: List<PortRange>)
+data class WireguardEndpointData(
+ val portRanges: List<PortRange>,
+ val shadowsocksPortRanges: List<PortRange>,
+)