fix: fixed awg 1.5 fields processing for ios (#1700)

This commit is contained in:
Nethius 2025-07-08 15:06:52 +08:00 committed by GitHub
parent 5445e6637b
commit 10a107716c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -46,29 +46,59 @@ struct WGConfig: Decodable {
} }
var settings: String { var settings: String {
junkPacketCount == nil ? "" : guard junkPacketCount != nil else { return "" }
"""
Jc = \(junkPacketCount!) var settingsLines: [String] = []
Jmin = \(junkPacketMinSize!)
Jmax = \(junkPacketMaxSize!) // Required parameters when junkPacketCount is present
S1 = \(initPacketJunkSize!) settingsLines.append("Jc = \(junkPacketCount!)")
S2 = \(responsePacketJunkSize!) settingsLines.append("Jmin = \(junkPacketMinSize!)")
S3 = \(cookieReplyPacketJunkSize!) settingsLines.append("Jmax = \(junkPacketMaxSize!)")
S4 = \(transportPacketJunkSize!) settingsLines.append("S1 = \(initPacketJunkSize!)")
H1 = \(initPacketMagicHeader!) settingsLines.append("S2 = \(responsePacketJunkSize!)")
H2 = \(responsePacketMagicHeader!)
H3 = \(underloadPacketMagicHeader!) settingsLines.append("H1 = \(initPacketMagicHeader!)")
H4 = \(transportPacketMagicHeader!) settingsLines.append("H2 = \(responsePacketMagicHeader!)")
I1 = \(specialJunk1!) settingsLines.append("H3 = \(underloadPacketMagicHeader!)")
I2 = \(specialJunk2!) settingsLines.append("H4 = \(transportPacketMagicHeader!)")
I3 = \(specialJunk3!)
I4 = \(specialJunk4!) // Optional parameters - only add if not nil and not empty
I5 = \(specialJunk5!) if let s3 = cookieReplyPacketJunkSize, !s3.isEmpty {
J1 = \(controlledJunk1!) settingsLines.append("S3 = \(s3)")
J2 = \(controlledJunk2!) }
J3 = \(controlledJunk3!) if let s4 = transportPacketJunkSize, !s4.isEmpty {
Itime = \(specialHandshakeTimeout!) settingsLines.append("S4 = \(s4)")
""" }
if let i1 = specialJunk1, !i1.isEmpty {
settingsLines.append("I1 = \(i1)")
}
if let i2 = specialJunk2, !i2.isEmpty {
settingsLines.append("I2 = \(i2)")
}
if let i3 = specialJunk3, !i3.isEmpty {
settingsLines.append("I3 = \(i3)")
}
if let i4 = specialJunk4, !i4.isEmpty {
settingsLines.append("I4 = \(i4)")
}
if let i5 = specialJunk5, !i5.isEmpty {
settingsLines.append("I5 = \(i5)")
}
if let j1 = controlledJunk1, !j1.isEmpty {
settingsLines.append("J1 = \(j1)")
}
if let j2 = controlledJunk2, !j2.isEmpty {
settingsLines.append("J2 = \(j2)")
}
if let j3 = controlledJunk3, !j3.isEmpty {
settingsLines.append("J3 = \(j3)")
}
if let itime = specialHandshakeTimeout, !itime.isEmpty {
settingsLines.append("Itime = \(itime)")
}
return settingsLines.joined(separator: "\n")
} }
var str: String { var str: String {