Fix OpenVpn over Cloak

This commit is contained in:
albexk 2024-01-27 17:30:56 +03:00
parent 3afbc248b1
commit cbd6755aa5
3 changed files with 14 additions and 3 deletions

View file

@ -77,6 +77,7 @@ open class OpenVpn : Protocol() {
if (evalConfig.error) {
throw BadConfigException("OpenVPN config parse error: ${evalConfig.message}")
}
configPluggableTransport(configBuilder, config)
configBuilder.configSplitTunneling(config)
scope.launch {
@ -111,6 +112,8 @@ open class OpenVpn : Protocol() {
return openVpnConfig
}
protected open fun configPluggableTransport(configBuilder: OpenVpnConfig.Builder, config: JSONObject) {}
private fun makeEstablish(vpnBuilder: Builder): (OpenVpnConfig.Builder) -> Int = { configBuilder ->
val openVpnConfig = configBuilder.build()
buildVpnInterface(openVpnConfig, vpnBuilder)

View file

@ -91,9 +91,7 @@ class OpenVpnClient(
// metric is optional and should be ignored if < 0
override fun tun_builder_exclude_route(address: String, prefix_length: Int, metric: Int, ipv6: Boolean): Boolean {
Log.d(TAG, "tun_builder_exclude_route: $address, $prefix_length, $metric, $ipv6")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
configBuilder.excludeRoute(InetNetwork(address, prefix_length))
}
configBuilder.excludeRoute(InetNetwork(address, prefix_length))
return true
}