feat: android/ios & fix qml

This commit is contained in:
Mark Puha 2025-06-20 19:09:22 +02:00
parent 89ed4d03a3
commit 23be2749f7
14 changed files with 227 additions and 896 deletions

View file

@ -124,6 +124,15 @@ open class Wireguard : Protocol() {
configData.optStringOrNull("H2")?.let { setH2(it.toLong()) }
configData.optStringOrNull("H3")?.let { setH3(it.toLong()) }
configData.optStringOrNull("H4")?.let { setH4(it.toLong()) }
configData.optStringOrNull("I1")?.let { setI1(it.toString()) }
configData.optStringOrNull("I2")?.let { setI2(it.toString()) }
configData.optStringOrNull("I3")?.let { setI3(it.toString()) }
configData.optStringOrNull("I4")?.let { setI4(it.toString()) }
configData.optStringOrNull("I5")?.let { setI5(it.toString()) }
configData.optStringOrNull("J1")?.let { setJ1(it.toString()) }
configData.optStringOrNull("J2")?.let { setJ2(it.toString()) }
configData.optStringOrNull("J3")?.let { setJ3(it.toString()) }
configData.optStringOrNull("Itime")?.let { setItime(it.Int()) }
}
private fun start(config: WireguardConfig, vpnBuilder: Builder, protect: (Int) -> Boolean) {

View file

@ -121,6 +121,15 @@ open class WireguardConfig protected constructor(
internal var h2: Long? = null
internal var h3: Long? = null
internal var h4: Long? = null
internal var i1: String? = null
internal var i2: String? = null
internal var i3: String? = null
internal var i4: String? = null
internal var i5: String? = null
internal var j1: String? = null
internal var j2: String? = null
internal var j3: String? = null
internal var itime: Int? = null
fun setEndpoint(endpoint: InetEndpoint) = apply { this.endpoint = endpoint }
@ -143,6 +152,15 @@ open class WireguardConfig protected constructor(
fun setH2(h2: Long) = apply { this.h2 = h2 }
fun setH3(h3: Long) = apply { this.h3 = h3 }
fun setH4(h4: Long) = apply { this.h4 = h4 }
fun setI1(i1: String) = apply { this.i1 = i1 }
fun setI2(i2: String) = apply { this.i2 = i2 }
fun setI3(i3: String) = apply { this.i3 = i3 }
fun setI4(i4: String) = apply { this.i4 = i4 }
fun setI5(i5: String) = apply { this.i5 = i5 }
fun setJ1(j1: String) = apply { this.j1 = j1 }
fun setJ2(j2: String) = apply { this.j2 = j2 }
fun setJ3(j3: String) = apply { this.j3 = j3 }
fun setItime(itime: Int) = apply { this.itime = itime }
override fun build(): WireguardConfig = configBuild().run { WireguardConfig(this@Builder) }
}

View file

@ -5,6 +5,9 @@ struct WGConfig: Decodable {
let underloadPacketMagicHeader, transportPacketMagicHeader: String?
let junkPacketCount, junkPacketMinSize, junkPacketMaxSize: String?
let initPacketJunkSize, responsePacketJunkSize: String?
let specialJunk1, specialJunk2, specialJunk3, specialJunk4, specialJunk5: String?
let controlledJunk1, controlledJunk2, controlledJunk3: String?
let specialHandshakeTimeout: String?
let dns1: String
let dns2: String
let mtu: String
@ -24,6 +27,9 @@ struct WGConfig: Decodable {
case underloadPacketMagicHeader = "H3", transportPacketMagicHeader = "H4"
case junkPacketCount = "Jc", junkPacketMinSize = "Jmin", junkPacketMaxSize = "Jmax"
case initPacketJunkSize = "S1", responsePacketJunkSize = "S2"
case specialJunk1 = "I1", specialJunk2 = "I2", specialJunk3 = "I3", specialJunk4 = "I4", specialJunk5 = "I5"
case controlledJunk1 = "J1", controlledJunk2 = "J2", controlledJunk3 = "J3"
case specialHandshakeTimeout = "Itime"
case dns1
case dns2
case mtu
@ -51,7 +57,15 @@ struct WGConfig: Decodable {
H2 = \(responsePacketMagicHeader!)
H3 = \(underloadPacketMagicHeader!)
H4 = \(transportPacketMagicHeader!)
I1 = \(specialJunk1!)
I2 = \(specialJunk2!)
I3 = \(specialJunk3!)
I4 = \(specialJunk4!)
I5 = \(specialJunk5!)
J1 = \(controlledJunk1!)
J2 = \(controlledJunk2!)
J3 = \(controlledJunk3!)
Itime = \(specialHandshakeTimeout!)
"""
}

View file

@ -797,149 +797,84 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>اعدادات AmneziaWG</translation>
<translation type="vanished">اعدادات AmneziaWG</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>منفذ</translation>
<translation type="vanished">منفذ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>جميع المستخدمين الذين شاركت معهم اتصال لن يكونو قادرين علي الاتصال مرة اخري.</translation>
<translation type="vanished">جميع المستخدمين الذين شاركت معهم اتصال لن يكونو قادرين علي الاتصال مرة اخري.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation>احفظ</translation>
<translation type="vanished">احفظ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">الشبكة الفرعية لعنوان VPN</translation>
<translation type="obsolete">الشبكة الفرعية لعنوان VPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation>Jc - عدد الحزم غير المرغوب فيها</translation>
<translation type="vanished">Jc - عدد الحزم غير المرغوب فيها</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation>Jmin - الحجم الادني للحزم الغير مرغوب فيها</translation>
<translation type="vanished">Jmin - الحجم الادني للحزم الغير مرغوب فيها</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation>Jmax - الحجم الاقصي للحزم الغير مرغوب فيها</translation>
<translation type="vanished">Jmax - الحجم الاقصي للحزم الغير مرغوب فيها</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation>S1 - حجم حزمة البيانات العشوائية الأولية</translation>
<translation type="vanished">S1 - حجم حزمة البيانات العشوائية الأولية</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation>S2 - حجم حزمة الاستجابة غير المرغوب فيها</translation>
<translation type="vanished">S2 - حجم حزمة الاستجابة غير المرغوب فيها</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation>H1 - حزمة رأس سحرية مبدئية</translation>
<translation type="vanished">H1 - حزمة رأس سحرية مبدئية</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation>H2 - رأس حزمة الاستجابة السحرية</translation>
<translation type="vanished">H2 - رأس حزمة الاستجابة السحرية</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation>H4 - رأس حزمة النقل السحرية</translation>
<translation type="vanished">H4 - رأس حزمة النقل السحرية</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation>H3 - رأس حزمة السحر غير المحمل</translation>
<translation type="vanished">H3 - رأس حزمة السحر غير المحمل</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>يجب أن تكون قيم الحقول H1-H4 فريدة</translation>
<translation type="vanished">يجب أن تكون قيم الحقول H1-H4 فريدة</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation>يجب ألا تساوي قيمة الحقل S1 + حجم بدء الرسالة (148) S2 + حجم استجابة الرسالة (92)</translation>
<translation type="vanished">يجب ألا تساوي قيمة الحقل S1 + حجم بدء الرسالة (148) S2 + حجم استجابة الرسالة (92)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>احفظ الإعدادات؟</translation>
<translation type="vanished">احفظ الإعدادات؟</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>واصل</translation>
<translation type="vanished">واصل</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>إلغاء</translation>
<translation type="vanished">إلغاء</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>لا يمكن تغيير الإعدادات أثناء وجود اتصال نشط</translation>
<translation type="vanished">لا يمكن تغيير الإعدادات أثناء وجود اتصال نشط</translation>
</message>
</context>
<context>

View file

@ -801,14 +801,12 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>تنظیمات AmneziaWG</translation>
<translation type="vanished">تنظیمات AmneziaWG</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>پورت</translation>
<translation type="vanished">پورت</translation>
</message>
<message>
<source>Remove AmneziaWG</source>
@ -819,139 +817,32 @@ Thank you for staying with us!</source>
<translation type="vanished">آیا میخواهید AmneziaWG از سرور حذف شود؟</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>همه کاربرانی که با آنها ارتباطی به اشتراک گذاشتهاید دیگر قادر به اتصال به آن نخواهند بود.</translation>
<translation type="vanished">همه کاربرانی که با آنها ارتباطی به اشتراک گذاشتهاید دیگر قادر به اتصال به آن نخواهند بود.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation>ذخیره</translation>
<translation type="vanished">ذخیره</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">زیرشبکه آدرس VPN</translation>
<translation type="obsolete">زیرشبکه آدرس VPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>تنظیمات را ذخیره کن?</translation>
<translation type="vanished">تنظیمات را ذخیره کن?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>ادامه</translation>
<translation type="vanished">ادامه</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>کنسل</translation>
<translation type="vanished">کنسل</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>نمیتوان تنظیمات را تغییر داد در حالی که اتصال فعال است.</translation>
<translation type="vanished">نمیتوان تنظیمات را تغییر داد در حالی که اتصال فعال است.</translation>
</message>
</context>
<context>

View file

@ -765,153 +765,52 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>Amneziaडब्ल्यूज ि</translation>
<translation type="vanished">Amneziaडब्ल्यूज ि</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">VPN </translation>
<translation type="obsolete">VPN </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>MTU</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>H1-H4 ि ि</translation>
<translation type="vanished">H1-H4 ि ि</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation> S1 + (148) S2 + िि (92) ि</translation>
<translation type="vanished"> S1 + (148) S2 + िि (92) ि</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>ि ?</translation>
<translation type="vanished">ि ?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation> ि ि , .</translation>
<translation type="vanished"> ि ि , .</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>ि ि </translation>
<translation type="vanished">ि ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
</context>
<context>

View file

@ -797,153 +797,88 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>AmneziaWG က</translation>
<translation type="vanished">AmneziaWG က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>Port</translation>
<translation type="vanished">Port</translation>
</message>
<message>
<source>MTU</source>
<translation type="vanished">MTU</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>ကက က.</translation>
<translation type="vanished">ကက က.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">VPN ကက</translation>
<translation type="obsolete">VPN ကက</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation>Jc - Junk packet က</translation>
<translation type="vanished">Jc - Junk packet က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation>Jmin - Junk packet က</translation>
<translation type="vanished">Jmin - Junk packet က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation>Jmax - Junk packet ကက</translation>
<translation type="vanished">Jmax - Junk packet ကက</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation>S1 - Init packet junk </translation>
<translation type="vanished">S1 - Init packet junk </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation>S2 - Response packet junk </translation>
<translation type="vanished">S2 - Response packet junk </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation>H1 - Init packet magic header</translation>
<translation type="vanished">H1 - Init packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation>H2 - Response packet magic header</translation>
<translation type="vanished">H2 - Response packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation>H4 - Transport packet magic header</translation>
<translation type="vanished">H4 - Transport packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation>H3 - Underload packet magic header</translation>
<translation type="vanished">H3 - Underload packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>H1-H4 ကက </translation>
<translation type="vanished">H1-H4 ကက </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation>ကက S1 + က (148) S2 + က (92) </translation>
<translation type="vanished">ကက S1 + က (148) S2 + က (92) </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>ကက ?</translation>
<translation type="vanished">ကက ?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>ကက</translation>
<translation type="vanished">ကက</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>က</translation>
<translation type="vanished">က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>ကက ကက </translation>
<translation type="vanished">ကက ကက </translation>
</message>
</context>
<context>

View file

@ -733,149 +733,84 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>Настройки AmneziaWG</translation>
<translation type="vanished">Настройки AmneziaWG</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>Порт</translation>
<translation type="vanished">Порт</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>Все пользователи, с которыми вы поделились конфигурацией вашего VPN, больше не смогут к нему подключаться.</translation>
<translation type="vanished">Все пользователи, с которыми вы поделились конфигурацией вашего VPN, больше не смогут к нему подключаться.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation>Сохранить</translation>
<translation type="vanished">Сохранить</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation>Подсеть VPN-адресов</translation>
<translation type="vanished">Подсеть VPN-адресов</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation>Jc - Junk packet count</translation>
<translation type="vanished">Jc - Junk packet count</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation>Jmin - Junk packet minimum size</translation>
<translation type="vanished">Jmin - Junk packet minimum size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation>Jmax - Junk packet maximum size</translation>
<translation type="vanished">Jmax - Junk packet maximum size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation>S1 - Init packet junk size</translation>
<translation type="vanished">S1 - Init packet junk size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation>S2 - Response packet junk size</translation>
<translation type="vanished">S2 - Response packet junk size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation>H1 - Init packet magic header</translation>
<translation type="vanished">H1 - Init packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation>H2 - Response packet magic header</translation>
<translation type="vanished">H2 - Response packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation>H4 - Transport packet magic header</translation>
<translation type="vanished">H4 - Transport packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation>H3 - Underload packet magic header</translation>
<translation type="vanished">H3 - Underload packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>Значения в полях H1-H4 должны быть уникальными</translation>
<translation type="vanished">Значения в полях H1-H4 должны быть уникальными</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation>Значение в поле S1 + размер инициации сообщения (148) не должно равняться значению в поле S2 + размер ответа на сообщение (92)</translation>
<translation type="vanished">Значение в поле S1 + размер инициации сообщения (148) не должно равняться значению в поле S2 + размер ответа на сообщение (92)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>Сохранить настройки?</translation>
<translation type="vanished">Сохранить настройки?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>Продолжить</translation>
<translation type="vanished">Продолжить</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>Отменить</translation>
<translation type="vanished">Отменить</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>Невозможно изменить настройки во время активного соединения</translation>
<translation type="vanished">Невозможно изменить настройки во время активного соединения</translation>
</message>
</context>
<context>

View file

@ -827,139 +827,40 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>налаштування AmneziaWG</translation>
<translation type="vanished">налаштування AmneziaWG</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">VPN address subnet</translation>
<translation type="obsolete">VPN address subnet</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>Порт</translation>
<translation type="vanished">Порт</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation>Зберегти</translation>
<translation type="vanished">Зберегти</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>Значення полів H1-H4 мають бути унікальними</translation>
<translation type="vanished">Значення полів H1-H4 мають бути унікальними</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation>Значення поля S1 + розмір повідомлення ініціалізації (148) не має бути рівним значенню S2 + розмір повідомлення відповіді (92)</translation>
<translation type="vanished">Значення поля S1 + розмір повідомлення ініціалізації (148) не має бути рівним значенню S2 + розмір повідомлення відповіді (92)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>Зберегти налаштування?</translation>
<translation type="vanished">Зберегти налаштування?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>Усі користувачі, з якими ви поділилися підключенням, більше не зможуть підключитися до нього.</translation>
<translation type="vanished">Усі користувачі, з якими ви поділилися підключенням, більше не зможуть підключитися до нього.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>Неможливо змінити налаштування, поки є активне підключення</translation>
<translation type="vanished">Неможливо змінити налаштування, поки є активне підключення</translation>
</message>
<message>
<source>Remove AmneziaWG</source>
@ -978,14 +879,12 @@ Thank you for staying with us!</source>
<translation type="vanished">Користувачі, з якими ви поділились цим протоколм, більше не зможуть до нього підключитись.</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>Продовжити</translation>
<translation type="vanished">Продовжити</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>Відмінити</translation>
<translation type="vanished">Відмінити</translation>
</message>
<message>
<source>Save and Restart Amnezia</source>

View file

@ -765,153 +765,52 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>امنیزیا وی جی کی ترتیبات</translation>
<translation type="vanished">امنیزیا وی جی کی ترتیبات</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation>پورٹ</translation>
<translation type="vanished">پورٹ</translation>
</message>
<message>
<source>MTU</source>
<translation type="vanished">ام ٹی یو</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation>آپ جن لوگوں کے ساتھ آپ نے اس کنکشن کا اشتراک کیا تھا، وہ اس سے مزید جڑ نہیں سکیں گے۔</translation>
<translation type="vanished">آپ جن لوگوں کے ساتھ آپ نے اس کنکشن کا اشتراک کیا تھا، وہ اس سے مزید جڑ نہیں سکیں گے۔</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation>محفوظ کریں</translation>
<translation type="vanished">محفوظ کریں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">وی پی این ایڈریس سب نیٹ</translation>
<translation type="obsolete">وی پی این ایڈریس سب نیٹ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation>H1 تا H4 فیلڈز کی قیمتیں مخصوص ہونی چاہیے</translation>
<translation type="vanished">H1 تا H4 فیلڈز کی قیمتیں مخصوص ہونی چاہیے</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation>S1 + پیغام شروع کار (148) کے فیلڈ کی قیمت S2 + پیغام جواب (92) کے سائز کے برابر نہیں ہونی چاہئے</translation>
<translation type="vanished">S1 + پیغام شروع کار (148) کے فیلڈ کی قیمت S2 + پیغام جواب (92) کے سائز کے برابر نہیں ہونی چاہئے</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation>ترتیبات محفوظ کریں?</translation>
<translation type="vanished">ترتیبات محفوظ کریں?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation>جاری رکھیں</translation>
<translation type="vanished">جاری رکھیں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation>منسوخ کریں</translation>
<translation type="vanished">منسوخ کریں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation>جب ایک فعال کنکشن موجود ہو تو ترتیبات کو تبدیل نہیں کیا جا سکتا</translation>
<translation type="vanished">جب ایک فعال کنکشن موجود ہو تو ترتیبات کو تبدیل نہیں کیا جا سکتا</translation>
</message>
</context>
<context>

View file

@ -779,14 +779,12 @@ Thank you for staying with us!</source>
<context>
<name>PageProtocolAwgSettings</name>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="97"/>
<source>AmneziaWG settings</source>
<translation>AmneziaWG </translation>
<translation type="vanished">AmneziaWG </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="127"/>
<source>Port</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>Remove AmneziaWG</source>
@ -797,139 +795,28 @@ Thank you for staying with us!</source>
<translation type="vanished">AmneziaWG</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="511"/>
<source>All users with whom you shared a connection with will no longer be able to connect to it.</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="483"/>
<source>Save</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="108"/>
<source>VPN address subnet</source>
<translation type="unfinished">VPN </translation>
<translation type="obsolete">VPN </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="324"/>
<source>I1 - First special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="339"/>
<source>I2 - Second special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
<source>I3 - Third special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="369"/>
<source>I4 - Fourth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="384"/>
<source>I5 - Fifth special junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="399"/>
<source>J1 - First controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="414"/>
<source>J2 - Second controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="429"/>
<source>J3 - Third controlled junk packet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="444"/>
<source>Itime - Special handshake timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="499"/>
<source>The values of the H1-H4 fields must be unique</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="505"/>
<source>The value of the field S1 + message initiation size (148) must not equal S2 + message response size (92)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="510"/>
<source>Save settings?</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="512"/>
<source>Continue</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="513"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="517"/>
<source>Unable change settings while there is an active connection</source>
<translation type="unfinished"></translation>
<translation type="vanished"></translation>
</message>
</context>
<context>

View file

@ -196,7 +196,8 @@ void AwgConfigModel::updateModel(const QJsonObject &config)
m_serverProtocolConfig[config_key::controlledJunk3] =
serverProtocolConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3);
m_serverProtocolConfig[config_key::specialHandshakeTimeout] =
serverProtocolConfig.value(config_key::specialHandshakeTimeout).toString(protocols::awg::defaultSpecialHandshakeTimeout);
serverProtocolConfig.value(config_key::specialHandshakeTimeout)
.toString(protocols::awg::defaultSpecialHandshakeTimeout);
auto lastConfig = m_serverProtocolConfig.value(config_key::last_config).toString();
QJsonObject clientProtocolConfig = QJsonDocument::fromJson(lastConfig.toUtf8()).object();
@ -275,15 +276,15 @@ QHash<int, QByteArray> AwgConfigModel::roleNames() const
roles[ServerUnderloadPacketMagicHeaderRole] = "serverUnderloadPacketMagicHeader";
roles[ServerTransportPacketMagicHeaderRole] = "serverTransportPacketMagicHeader";
roles[ServerSpecialJunk1Role] = "specialJunk1";
roles[ServerSpecialJunk2Role] = "specialJunk2";
roles[ServerSpecialJunk3Role] = "specialJunk3";
roles[ServerSpecialJunk4Role] = "specialJunk4";
roles[ServerSpecialJunk5Role] = "specialJunk5";
roles[ServerControlledJunk1Role] = "controlledJunk1";
roles[ServerControlledJunk2Role] = "controlledJunk2";
roles[ServerControlledJunk3Role] = "controlledJunk3";
roles[ServerSpecialHandshakeTimeoutRole] = "specialHandshakeTimeout";
roles[ServerSpecialJunk1Role] = "serverSpecialJunk1";
roles[ServerSpecialJunk2Role] = "serverSpecialJunk2";
roles[ServerSpecialJunk3Role] = "serverSpecialJunk3";
roles[ServerSpecialJunk4Role] = "serverSpecialJunk4";
roles[ServerSpecialJunk5Role] = "serverSpecialJunk5";
roles[ServerControlledJunk1Role] = "serverControlledJunk1";
roles[ServerControlledJunk2Role] = "serverControlledJunk2";
roles[ServerControlledJunk3Role] = "serverControlledJunk3";
roles[ServerSpecialHandshakeTimeoutRole] = "serverSpecialHandshakeTimeout";
return roles;
}
@ -321,21 +322,21 @@ AwgConfig::AwgConfig(const QJsonObject &serverProtocolConfig)
.toString(protocols::awg::defaultUnderloadPacketMagicHeader);
serverTransportPacketMagicHeader = serverProtocolConfig.value(config_key::transportPacketMagicHeader)
.toString(protocols::awg::defaultTransportPacketMagicHeader);
serverSpecialJunk[config_key::specialJunk1] =
serverSpecialJunk1 =
serverProtocolConfig.value(config_key::specialJunk1).toString(protocols::awg::defaultSpecialJunk1);
serverSpecialJunk[config_key::specialJunk2] =
serverSpecialJunk2 =
serverProtocolConfig.value(config_key::specialJunk2).toString(protocols::awg::defaultSpecialJunk2);
serverSpecialJunk[config_key::specialJunk3] =
serverSpecialJunk3 =
serverProtocolConfig.value(config_key::specialJunk3).toString(protocols::awg::defaultSpecialJunk3);
serverSpecialJunk[config_key::specialJunk4] =
serverSpecialJunk4 =
serverProtocolConfig.value(config_key::specialJunk4).toString(protocols::awg::defaultSpecialJunk4);
serverSpecialJunk[config_key::specialJunk5] =
serverSpecialJunk5 =
serverProtocolConfig.value(config_key::specialJunk5).toString(protocols::awg::defaultSpecialJunk5);
serverControlledJunk[config_key::controlledJunk1] =
serverControlledJunk1 =
serverProtocolConfig.value(config_key::controlledJunk1).toString(protocols::awg::defaultControlledJunk1);
serverControlledJunk[config_key::controlledJunk2] =
serverControlledJunk2 =
serverProtocolConfig.value(config_key::controlledJunk2).toString(protocols::awg::defaultControlledJunk2);
serverControlledJunk[config_key::controlledJunk3] =
serverControlledJunk3 =
serverProtocolConfig.value(config_key::controlledJunk3).toString(protocols::awg::defaultControlledJunk3);
serverSpecialHandshakeTimeout = serverProtocolConfig.value(config_key::specialHandshakeTimeout)
.toString(protocols::awg::defaultSpecialHandshakeTimeout);
@ -352,7 +353,10 @@ bool AwgConfig::hasEqualServerSettings(const AwgConfig &other) const
|| serverResponsePacketMagicHeader != other.serverResponsePacketMagicHeader
|| serverUnderloadPacketMagicHeader != other.serverUnderloadPacketMagicHeader
|| serverTransportPacketMagicHeader != other.serverTransportPacketMagicHeader
|| serverSpecialJunk != other.serverSpecialJunk || serverControlledJunk != other.serverControlledJunk
|| serverSpecialJunk1 != other.serverSpecialJunk1 || serverSpecialJunk2 != other.serverSpecialJunk2
|| serverSpecialJunk3 != other.serverSpecialJunk3 || serverSpecialJunk4 != other.serverSpecialJunk4
|| serverSpecialJunk5 != other.serverSpecialJunk5 || serverControlledJunk1 != other.serverControlledJunk1
|| serverControlledJunk2 != other.serverControlledJunk2 || serverControlledJunk3 != other.serverControlledJunk3
|| serverSpecialHandshakeTimeout != other.serverSpecialHandshakeTimeout) {
return false;
}

View file

@ -33,13 +33,18 @@ struct AwgConfig
QString serverUnderloadPacketMagicHeader;
QString serverTransportPacketMagicHeader;
QMap<QString, QString> serverSpecialJunk;
QMap<QString, QString> serverControlledJunk;
QString serverSpecialJunk1;
QString serverSpecialJunk2;
QString serverSpecialJunk3;
QString serverSpecialJunk4;
QString serverSpecialJunk5;
QString serverControlledJunk1;
QString serverControlledJunk2;
QString serverControlledJunk3;
QString serverSpecialHandshakeTimeout;
bool hasEqualServerSettings(const AwgConfig &other) const;
bool hasEqualClientSettings(const AwgConfig &other) const;
};
class AwgConfigModel : public QAbstractListModel
@ -65,6 +70,7 @@ public:
ServerResponsePacketMagicHeaderRole,
ServerUnderloadPacketMagicHeaderRole,
ServerTransportPacketMagicHeaderRole,
ServerSpecialJunk1Role,
ServerSpecialJunk2Role,
ServerSpecialJunk3Role,

View file

@ -317,121 +317,121 @@ PageType {
}
TextFieldWithHeaderType {
id: i1JunkPacketTextField
id: specialJunk1TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I1 - First special junk packet")
textField.text: serverSpecialJunk["I1"]
textField.text: serverSpecialJunk1
textField.onEditingFinished: {
if (textField.text !== serverI1JunkPacket) {
serverI1JunkPacket = textField.text
if (textField.text !== serverSpecialJunk1) {
serverSpecialJunk1 = textField.text
}
}
}
TextFieldWithHeaderType {
id: i2JunkPacketTextField
id: specialJunk2TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I2 - Second special junk packet")
textField.text: serverSpecialJunk["I2"]
textField.text: serverSpecialJunk2
textField.onEditingFinished: {
if (textField.text !== serverI2JunkPacket) {
serverI2JunkPacket = textField.text
if (textField.text !== serverSpecialJunk2) {
serverSpecialJunk2 = textField.text
}
}
}
TextFieldWithHeaderType {
id: i3JunkPacketTextField
id: specialJunk3TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I3 - Third special junk packet")
textField.text: serverSpecialJunk["I3"]
textField.text: serverSpecialJunk3
textField.onEditingFinished: {
if (textField.text !== serverI3JunkPacket) {
serverI3JunkPacket = textField.text
if (textField.text !== serverSpecialJunk3) {
serverSpecialJunk3 = textField.text
}
}
}
TextFieldWithHeaderType {
id: i4JunkPacketTextField
id: specialJunk4TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I4 - Fourth special junk packet")
textField.text: serverSpecialJunk["I4"]
textField.text: serverSpecialJunk4
textField.onEditingFinished: {
if (textField.text !== serverI4JunkPacket) {
serverI4JunkPacket = textField.text
if (textField.text !== serverSpecialJunk4) {
serverSpecialJunk4 = textField.text
}
}
}
TextFieldWithHeaderType {
id: i5JunkPacketTextField
id: specialJunk5TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("I5 - Fifth special junk packet")
textField.text: serverSpecialJunk["I5"]
textField.text: serverSpecialJunk5
textField.onEditingFinished: {
if (textField.text !== serverI5JunkPacket) {
serverI5JunkPacket = textField.text
if (textField.text !== serverSpecialJunk5 ) {
serverSpecialJunk5 = textField.text
}
}
}
TextFieldWithHeaderType {
id: j1JunkPacketTextField
id: controlledJunk1TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J1 - First controlled junk packet")
textField.text: serverControlledJunk["J1"]
textField.text: serverControlledJunk1
textField.onEditingFinished: {
if (textField.text !== serverJ1JunkPacket) {
serverJ1JunkPacket = textField.text
if (textField.text !== serverControlledJunk1) {
serverControlledJunk1 = textField.text
}
}
}
TextFieldWithHeaderType {
id: j2JunkPacketTextField
id: controlledJunk2TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J2 - Second controlled junk packet")
textField.text: serverControlledJunk[J2]
textField.text: serverControlledJunk2
textField.onEditingFinished: {
if (textField.text !== serverJ2JunkPacket) {
serverJ2JunkPacket = textField.text
if (textField.text !== serverControlledJunk2) {
serverControlledJunk2 = textField.text
}
}
}
TextFieldWithHeaderType {
id: j3JunkPacketTextField
id: controlledJunk3TextField
Layout.fillWidth: true
Layout.topMargin: 16
headerText: qsTr("J3 - Third controlled junk packet")
textField.text: serverControlledJunk[J3]
textField.text: serverControlledJunk3
textField.onEditingFinished: {
if (textField.text !== serverJ3JunkPacket) {
serverJ3JunkPacket = textField.text
if (textField.text !== serverControlledJunk3) {
serverControlledJunk3 = textField.text
}
}
}
@ -442,12 +442,12 @@ PageType {
Layout.topMargin: 16
headerText: qsTr("Itime - Special handshake timeout")
textField.text: serverSpeciaHandshakeIntervalTime
textField.text: serverSpecialHandshakeTimeout
textField.validator: IntValidator { bottom: 0 }
textField.onEditingFinished: {
if (textField.text !== serverSepcialHandshakeTimeout) {
serverSepcialHandshakeTimeout = textField.text
if (textField.text !== serverSpecialHandshakeTimeout) {
serverSpecialHandshakeTimeout = textField.text
}
}
}
@ -468,14 +468,14 @@ PageType {
junkPacketMaxSizeTextField.errorText === "" &&
junkPacketMinSizeTextField.errorText === "" &&
junkPacketCountTextField.errorText === "" &&
i1JunkPacketTextField.errorText === "" &&
i2JunkPacketTextField.errorText === "" &&
i3JunkPacketTextField.errorText === "" &&
i4JunkPacketTextField.errorText === "" &&
i5JunkPacketTextField.errorText === "" &&
j1JunkPacketTextField.errorText === "" &&
j2JunkPacketTextField.errorText === "" &&
j3JunkPacketTextField.errorText === "" &&
specialJunk1TextField.errorText === "" &&
specialJunk2TextField.errorText === "" &&
specialJunk3TextField.errorText === "" &&
specialJunk4TextField.errorText === "" &&
specialJunk5TextField.errorText === "" &&
controlledJunk1TextField.errorText === "" &&
controlledJunk2TextField.errorText === "" &&
controlledJunk3TextField.errorText === "" &&
iTimeTextField.errorText === "" &&
portTextField.errorText === "" &&
vpnAddressSubnetTextField.errorText === ""