2023-11-26 13:07:31 +03:00
|
|
|
package org.amnezia.vpn.protocol.awg
|
|
|
|
|
|
|
|
|
|
import org.amnezia.vpn.protocol.wireguard.Wireguard
|
2024-09-23 17:53:56 +03:00
|
|
|
import org.amnezia.vpn.protocol.wireguard.WireguardConfig
|
2023-11-26 13:07:31 +03:00
|
|
|
import org.json.JSONObject
|
|
|
|
|
|
|
|
|
|
class Awg : Wireguard() {
|
|
|
|
|
|
|
|
|
|
override val ifName: String = "awg0"
|
|
|
|
|
|
2024-09-23 17:53:56 +03:00
|
|
|
override fun parseConfig(config: JSONObject): WireguardConfig {
|
2024-09-13 13:53:21 +04:00
|
|
|
val configData = config.getJSONObject("awg_config_data")
|
2024-09-23 17:53:56 +03:00
|
|
|
return WireguardConfig.build {
|
|
|
|
|
setUseProtocolExtension(true)
|
|
|
|
|
configExtensionParameters(configData)
|
2024-09-13 13:53:21 +04:00
|
|
|
configWireguard(config, configData)
|
2023-12-12 22:48:18 +03:00
|
|
|
configSplitTunneling(config)
|
2024-04-01 18:45:00 +07:00
|
|
|
configAppSplitTunneling(config)
|
2023-11-26 13:07:31 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|