diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7c30040..74a44ee 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.zaneschepke.wireguardautotunnel" minSdk = 26 targetSdk = 34 - versionCode = 31200 - versionName = "3.1.2" + versionCode = 31300 + versionName = "3.1.3" multiDexEnabled = true diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/InterfaceProxy.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/InterfaceProxy.kt index 3cbd002..e67a772 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/InterfaceProxy.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/InterfaceProxy.kt @@ -12,15 +12,14 @@ data class InterfaceProxy( var mtu : String = "", ){ companion object { - private fun String.removeWhiteSpaces() = replace("\\s".toRegex(), "") fun from(i : Interface) : InterfaceProxy { return InterfaceProxy( - publicKey = i.keyPair.publicKey.toBase64().removeWhiteSpaces(), - privateKey = i.keyPair.privateKey.toBase64().removeWhiteSpaces(), - addresses = i.addresses.joinToString(",").removeWhiteSpaces(), - dnsServers = i.dnsServers.joinToString(",").replace("/", "").removeWhiteSpaces(), - listenPort = if(i.listenPort.isPresent) i.listenPort.get().toString().removeWhiteSpaces() else "", - mtu = if(i.mtu.isPresent) i.mtu.get().toString().removeWhiteSpaces() else "" + publicKey = i.keyPair.publicKey.toBase64().trim(), + privateKey = i.keyPair.privateKey.toBase64().trim(), + addresses = i.addresses.joinToString(", ").trim(), + dnsServers = i.dnsServers.joinToString(", ").replace("/", "").trim(), + listenPort = if(i.listenPort.isPresent) i.listenPort.get().toString().trim() else "", + mtu = if(i.mtu.isPresent) i.mtu.get().toString().trim() else "" ) } } diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/PeerProxy.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/PeerProxy.kt index 2bb6abb..8306864 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/PeerProxy.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/models/PeerProxy.kt @@ -7,16 +7,16 @@ data class PeerProxy( var preSharedKey : String = "", var persistentKeepalive : String = "", var endpoint : String = "", - var allowedIps: String = IPV4_WILDCARD.joinToString(",") + var allowedIps: String = IPV4_WILDCARD.joinToString(", ").trim() ){ companion object { fun from(peer : Peer) : PeerProxy { return PeerProxy( publicKey = peer.publicKey.toBase64(), - preSharedKey = if(peer.preSharedKey.isPresent) peer.preSharedKey.get().toString() else "", - persistentKeepalive = if(peer.persistentKeepalive.isPresent) peer.persistentKeepalive.get().toString() else "", - endpoint = if(peer.endpoint.isPresent) peer.endpoint.get().toString() else "", - allowedIps = peer.allowedIps.joinToString(",") + preSharedKey = if(peer.preSharedKey.isPresent) peer.preSharedKey.get().toBase64().trim() else "", + persistentKeepalive = if(peer.persistentKeepalive.isPresent) peer.persistentKeepalive.get().toString().trim() else "", + endpoint = if(peer.endpoint.isPresent) peer.endpoint.get().toString().trim() else "", + allowedIps = peer.allowedIps.joinToString(", ").trim() ) } val IPV4_PUBLIC_NETWORKS = setOf( diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/config/ConfigViewModel.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/config/ConfigViewModel.kt index 5c41a97..6d3ef8b 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/config/ConfigViewModel.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/ui/screens/config/ConfigViewModel.kt @@ -271,22 +271,22 @@ class ConfigViewModel @Inject constructor(private val application : Application, fun buildPeerListFromProxyPeers() : List { return _proxyPeers.value.map { val builder = Peer.Builder() - if (it.allowedIps.isNotEmpty()) builder.parseAllowedIPs(it.allowedIps.removeWhiteSpaces()) - if (it.publicKey.isNotEmpty()) builder.parsePublicKey(it.publicKey.removeWhiteSpaces()) - if (it.preSharedKey.isNotEmpty()) builder.parsePreSharedKey(it.preSharedKey.removeWhiteSpaces()) - if (it.endpoint.isNotEmpty()) builder.parseEndpoint(it.endpoint.removeWhiteSpaces()) - if (it.persistentKeepalive.isNotEmpty()) builder.parsePersistentKeepalive(it.persistentKeepalive.removeWhiteSpaces()) + if (it.allowedIps.isNotEmpty()) builder.parseAllowedIPs(it.allowedIps.trim()) + if (it.publicKey.isNotEmpty()) builder.parsePublicKey(it.publicKey.trim()) + if (it.preSharedKey.isNotEmpty()) builder.parsePreSharedKey(it.preSharedKey.trim()) + if (it.endpoint.isNotEmpty()) builder.parseEndpoint(it.endpoint.trim()) + if (it.persistentKeepalive.isNotEmpty()) builder.parsePersistentKeepalive(it.persistentKeepalive.trim()) builder.build() } } fun buildInterfaceListFromProxyInterface() : Interface { val builder = Interface.Builder() - builder.parsePrivateKey(_interface.value.privateKey.removeWhiteSpaces()) - builder.parseAddresses(_interface.value.addresses.removeWhiteSpaces()) - builder.parseDnsServers(_interface.value.dnsServers.removeWhiteSpaces()) - if(_interface.value.mtu.isNotEmpty()) builder.parseMtu(_interface.value.mtu.removeWhiteSpaces()) - if(_interface.value.listenPort.isNotEmpty()) builder.parseListenPort(_interface.value.listenPort.removeWhiteSpaces()) + builder.parsePrivateKey(_interface.value.privateKey.trim()) + builder.parseAddresses(_interface.value.addresses.trim()) + builder.parseDnsServers(_interface.value.dnsServers.trim()) + if(_interface.value.mtu.isNotEmpty()) builder.parseMtu(_interface.value.mtu.trim()) + if(_interface.value.listenPort.isNotEmpty()) builder.parseListenPort(_interface.value.listenPort.trim()) if(isAllApplicationsEnabled()) _checkedPackages.value.clear() if(_include.value) builder.includeApplications(_checkedPackages.value) if(!_include.value) builder.excludeApplications(_checkedPackages.value) @@ -397,6 +397,4 @@ class ConfigViewModel @Inject constructor(private val application : Application, onInterfacePublicKeyChange("") } } - - private fun String.removeWhiteSpaces() = replace("\\s".toRegex(), "") } \ No newline at end of file