feat: add special handshake params to ui

This commit is contained in:
Mark Puha 2025-06-15 08:29:18 +02:00
parent d3715d00ae
commit 9ad3ace7e7
4 changed files with 300 additions and 6 deletions

View file

@ -23,4 +23,14 @@ H1 = $INIT_PACKET_MAGIC_HEADER
H2 = $RESPONSE_PACKET_MAGIC_HEADER
H3 = $UNDERLOAD_PACKET_MAGIC_HEADER
H4 = $TRANSPORT_PACKET_MAGIC_HEADER
I1 = $I1
I2 = $I2
I3 = $I3
I4 = $I4
I5 = $I5
J1 = $J1
J2 = $J2
J3 = $J3
Itime = $I_TIME
EOF

View file

@ -11,6 +11,15 @@ H1 = $INIT_PACKET_MAGIC_HEADER
H2 = $RESPONSE_PACKET_MAGIC_HEADER
H3 = $UNDERLOAD_PACKET_MAGIC_HEADER
H4 = $TRANSPORT_PACKET_MAGIC_HEADER
I1 = $I1
I2 = $I2
I3 = $I3
I4 = $I4
I5 = $I5
J1 = $J1
J2 = $J2
J3 = $J3
Itime = $I_TIME
[Peer]
PublicKey = $WIREGUARD_SERVER_PUBLIC_KEY

View file

@ -171,7 +171,6 @@ PageType {
}
checkEmptyText: true
}
Header2TextType {
@ -257,6 +256,105 @@ PageType {
headerText: "H4 - Transport packet magic header"
textField.text: serverTransportPacketMagicHeader
}
TextFieldWithHeaderType {
id: i1JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "I1 - First special junk packet"
textField.text: serverI1JunkPacket
}
TextFieldWithHeaderType {
id: i2JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "I2 - Second special junk packet"
textField.text: serverI2JunkPacket
}
TextFieldWithHeaderType {
id: i3JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "I3 - Third special junk packet"
textField.text: serverI3JunkPacket
}
TextFieldWithHeaderType {
id: i4JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "I4 - Fourth special junk packet"
textField.text: serverI4JunkPacket
}
TextFieldWithHeaderType {
id: i5JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "I5 - Fifth special junk packet"
textField.text: serverI5JunkPacket
}
TextFieldWithHeaderType {
id: j1JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "J1 - First controlled junk packet"
textField.text: serverJ1JunkPacket
}
TextFieldWithHeaderType {
id: j2JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "J2 - Second controlled junk packet"
textField.text: serverJ2JunkPacket
}
TextFieldWithHeaderType {
id: j3JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "J3 - Third controlled junk packet"
textField.text: serverJ3JunkPacket
}
TextFieldWithHeaderType {
id: iTimeTextField
Layout.fillWidth: true
Layout.topMargin: 16
enabled: false
headerText: "Itime - Special handshake timeout"
textField.text: serverSepciaHandshaketIntervalTime
}
}
}
}

View file

@ -280,6 +280,24 @@ PageType {
checkEmptyText: true
}
TextFieldWithHeaderType {
id: underloadPacketMagicHeaderTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("H3 - Underload packet magic header")
textField.text: serverUnderloadPacketMagicHeader
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverUnderloadPacketMagicHeader) {
serverUnderloadPacketMagicHeader = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: transportPacketMagicHeaderTextField
Layout.fillWidth: true
@ -299,23 +317,173 @@ PageType {
}
TextFieldWithHeaderType {
id: underloadPacketMagicHeaderTextField
id: I1JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("H3 - Underload packet magic header")
textField.text: serverUnderloadPacketMagicHeader
headerText: qsTr("I1 - First special junk packet")
textField.text: serverI1JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverUnderloadPacketMagicHeader) {
serverUnderloadPacketMagicHeader = textField.text
if (textField.text !== serverI1JunkPacket) {
serverI1JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: I2JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I2 - Second special junk packet")
textField.text: serverI2JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverI2JunkPacket) {
serverI2JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: I3JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I3 - Third special junk packet")
textField.text: serverI3JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverI3JunkPacket) {
serverI3JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: I4JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I4 - Fourth special junk packet")
textField.text: serverI4JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverI4JunkPacket) {
serverI4JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: I5JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I5 - Fifth special junk packet")
textField.text: serverI5JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverI5JunkPacket) {
serverI5JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: J1JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J1 - First controlled junk packet")
textField.text: serverJ1JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverJ1JunkPacket) {
serverJ1JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: J2JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J2 - Second controlled junk packet")
textField.text: serverJ2JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverJ2JunkPacket) {
serverJ2JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: J3JunkPacketTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J3 - Third controlled junk packet")
textField.text: serverJ3JunkPacket
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverJ3JunkPacket) {
serverJ3JunkPacket = textField.text
}
}
checkEmptyText: true
}
TextFieldWithHeaderType {
id: ItimeTextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("Itime - Special handshake timeout")
textField.text: serverSepciaHandshaketIntervalTime
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverSepcialHandshakeIntervalTime) {
serverSepcialHandshakeIntervalTime = textField.text
}
}
checkEmptyText: true
onActiveFocusChanged: {
if(activeFocus) {
listview.positionViewAtEnd()
}
}
}
BasicButtonType {
id: saveRestartButton
@ -332,6 +500,15 @@ PageType {
junkPacketMaxSizeTextField.errorText === "" &&
junkPacketMinSizeTextField.errorText === "" &&
junkPacketCountTextField.errorText === "" &&
I1JunkPacketTextField.errorText === "" &&
I2JunkPacketTextField.errorText === "" &&
I3JunkPacketTextField.errorText === "" &&
I4JunkPacketTextField.errorText === "" &&
I5JunkPacketTextField.errorText === "" &&
J1JunkPacketTextField.errorText === "" &&
J2JunkPacketTextField.errorText === "" &&
J3JunkPacketTextField.errorText === "" &&
ItimeTextField.errorText === "" &&
portTextField.errorText === "" &&
vpnAddressSubnetTextField.errorText === ""