Fix bugs in awg and wireguard protocols
This commit is contained in:
parent
eaa209bc3a
commit
d7ec611ff4
3 changed files with 14 additions and 7 deletions
|
|
@ -65,7 +65,7 @@ open class Wireguard : Protocol() {
|
|||
val config = GoBackend.wgGetConfig(tunnelHandle) ?: return Statistics.EMPTY_STATISTICS
|
||||
return Statistics.build {
|
||||
var optsCount = 0
|
||||
config.splitToSequence("\\n").forEach { line ->
|
||||
config.splitToSequence("\n").forEach { line ->
|
||||
with(line) {
|
||||
when {
|
||||
startsWith("rx_bytes=") -> setRxBytes(substring(9).toLong()).also { ++optsCount }
|
||||
|
|
|
|||
|
|
@ -24,9 +24,18 @@ open class WireguardConfig protected constructor(
|
|||
builder.privateKeyHex
|
||||
)
|
||||
|
||||
open fun toWgUserspaceString(): String = with(StringBuilder()) {
|
||||
appendLine("private_key=$privateKeyHex")
|
||||
fun toWgUserspaceString(): String = with(StringBuilder()) {
|
||||
appendDeviceLine(this)
|
||||
appendLine("replace_peers=true")
|
||||
appendPeerLine(this)
|
||||
return this.toString()
|
||||
}
|
||||
|
||||
open fun appendDeviceLine(sb: StringBuilder) = with(sb) {
|
||||
appendLine("private_key=$privateKeyHex")
|
||||
}
|
||||
|
||||
open fun appendPeerLine(sb: StringBuilder) = with(sb) {
|
||||
appendLine("public_key=$publicKeyHex")
|
||||
routes.forEach { route ->
|
||||
appendLine("allowed_ip=$route")
|
||||
|
|
@ -35,7 +44,6 @@ open class WireguardConfig protected constructor(
|
|||
if (persistentKeepalive != 0)
|
||||
appendLine("persistent_keepalive_interval=$persistentKeepalive")
|
||||
appendLine("preshared_key=$preSharedKeyHex")
|
||||
return this.toString()
|
||||
}
|
||||
|
||||
open class Builder : ProtocolConfig.Builder(true) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue