NewServerConfiguringLogic
NewServerProtocolsLogic
This commit is contained in:
parent
deda2e158e
commit
7c28fe2795
13 changed files with 132 additions and 94 deletions
|
@ -1,451 +0,0 @@
|
|||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import "./"
|
||||
import "../Controls"
|
||||
import "../Config"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
ImageButtonType {
|
||||
id: back
|
||||
x: 10
|
||||
y: 10
|
||||
width: 26
|
||||
height: 20
|
||||
icon.source: "qrc:/images/arrow_left.png"
|
||||
onClicked: {
|
||||
UiLogic.closePage()
|
||||
}
|
||||
}
|
||||
Text {
|
||||
font.family: "Lato"
|
||||
font.styleName: "normal"
|
||||
font.pixelSize: 24
|
||||
color: "#100A44"
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: qsTr("Select VPN protocols")
|
||||
x: 10
|
||||
y: 35
|
||||
width: 361
|
||||
height: 31
|
||||
}
|
||||
ProgressBar {
|
||||
id: progress_bar_new_server_connection
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
y: 570
|
||||
width: 301
|
||||
height: 40
|
||||
from: UiLogic.progressBarNewServerConnectionMinimum
|
||||
to: UiLogic.progressBarNewServerConnectionMaximum
|
||||
value: 0
|
||||
background: Rectangle {
|
||||
implicitWidth: parent.width
|
||||
implicitHeight: parent.height
|
||||
color: "#100A44"
|
||||
radius: 4
|
||||
}
|
||||
|
||||
contentItem: Item {
|
||||
implicitWidth: parent.width
|
||||
implicitHeight: parent.height
|
||||
Rectangle {
|
||||
width: progress_bar_new_server_connection.visualPosition * parent.width
|
||||
height: parent.height
|
||||
radius: 4
|
||||
color: Qt.rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
}
|
||||
|
||||
LabelType {
|
||||
anchors.fill: parent
|
||||
text: qsTr("Configuring...")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.family: "Lato"
|
||||
font.styleName: "normal"
|
||||
font.pixelSize: 16
|
||||
color: "#D4D4D4"
|
||||
}
|
||||
}
|
||||
BlueButtonType {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
y: 570
|
||||
width: 301
|
||||
height: 40
|
||||
text: qsTr("Setup server")
|
||||
onClicked: {
|
||||
UiLogic.pushButtonNewServerConnectConfigureClicked()
|
||||
}
|
||||
}
|
||||
ScrollView {
|
||||
x: 0
|
||||
y: 70
|
||||
width: 380
|
||||
height: 471
|
||||
clip: true
|
||||
Column {
|
||||
spacing: 5
|
||||
Rectangle {
|
||||
x: 5
|
||||
y: 5
|
||||
width: 368
|
||||
height: frame_new_server_setting_cloak.visible ? 140 : 72
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
Rectangle {
|
||||
id: frame_new_server_setting_cloak
|
||||
height: 77
|
||||
width: 353
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: false
|
||||
radius: 2
|
||||
Grid {
|
||||
anchors.fill: parent
|
||||
columns: 2
|
||||
horizontalItemAlignment: Grid.AlignHCenter
|
||||
verticalItemAlignment: Grid.AlignVCenter
|
||||
topPadding: 5
|
||||
leftPadding: 10
|
||||
spacing: 5
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Port (TCP)")
|
||||
}
|
||||
TextFieldType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: UiLogic.lineEditNewServerCloakPortText
|
||||
onEditingFinished: {
|
||||
UiLogic.lineEditNewServerCloakPortText = text
|
||||
}
|
||||
}
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Fake Web Site")
|
||||
}
|
||||
TextFieldType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: UiLogic.lineEditNewServerCloakSiteText
|
||||
onEditingFinished: {
|
||||
UiLogic.lineEditNewServerCloakSiteText = text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Row {
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 5
|
||||
leftPadding: 15
|
||||
rightPadding: 5
|
||||
height: 55
|
||||
width: parent.width
|
||||
CheckBoxType {
|
||||
text: qsTr("OpenVPN and ShadowSocks\n with masking using Cloak plugin")
|
||||
height: parent.height
|
||||
width: 308
|
||||
checked: UiLogic.checkBoxNewServerCloakChecked
|
||||
onCheckedChanged: {
|
||||
UiLogic.checkBoxNewServerCloakChecked = checked
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
width: 35
|
||||
height: 35
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
checkable: true
|
||||
checked: UiLogic.pushButtonNewServerSettingsCloakChecked
|
||||
onCheckedChanged: {
|
||||
UiLogic.pushButtonNewServerSettingsCloakChecked = checked
|
||||
if (checked) {
|
||||
frame_new_server_setting_cloak.visible = true
|
||||
} else {
|
||||
frame_new_server_setting_cloak.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
x: 5
|
||||
y: 5
|
||||
width: 368
|
||||
height: frame_new_server_settings_ss.visible ? 140 : 72
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
Rectangle {
|
||||
id: frame_new_server_settings_ss
|
||||
height: 77
|
||||
width: 353
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
radius: 2
|
||||
visible: false
|
||||
Grid {
|
||||
anchors.fill: parent
|
||||
columns: 2
|
||||
horizontalItemAlignment: Grid.AlignHCenter
|
||||
verticalItemAlignment: Grid.AlignVCenter
|
||||
topPadding: 5
|
||||
leftPadding: 10
|
||||
spacing: 5
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Port (TCP)")
|
||||
}
|
||||
TextFieldType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: UiLogic.lineEditNewServerSsPortText
|
||||
onEditingFinished: {
|
||||
UiLogic.lineEditNewServerSsPortText = text
|
||||
}
|
||||
}
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Encryption")
|
||||
}
|
||||
ComboBoxType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
model: [
|
||||
qsTr("chacha20-ietf-poly1305"),
|
||||
qsTr("xchacha20-ietf-poly1305"),
|
||||
qsTr("aes-256-gcm"),
|
||||
qsTr("aes-192-gcm"),
|
||||
qsTr("aes-128-gcm")
|
||||
]
|
||||
currentIndex: {
|
||||
for (let i = 0; i < model.length; ++i) {
|
||||
if (UiLogic.comboBoxNewServerSsCipherText === model[i]) {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
onCurrentTextChanged: {
|
||||
UiLogic.comboBoxNewServerSsCipherText = currentText
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Row {
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 5
|
||||
leftPadding: 15
|
||||
rightPadding: 5
|
||||
height: 55
|
||||
width: parent.width
|
||||
CheckBoxType {
|
||||
text: qsTr("ShadowSocks")
|
||||
height: parent.height
|
||||
width: 308
|
||||
checked: UiLogic.checkBoxNewServerSsChecked
|
||||
onCheckedChanged: {
|
||||
UiLogic.checkBoxNewServerSsChecked = checked
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
width: 35
|
||||
height: 35
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
checked: UiLogic.pushButtonNewServerSettingsSsChecked
|
||||
checkable: true
|
||||
onCheckedChanged: {
|
||||
UiLogic.pushButtonNewServerSettingsSsChecked = checked
|
||||
if (checked) {
|
||||
frame_new_server_settings_ss.visible = true
|
||||
} else {
|
||||
frame_new_server_settings_ss.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
x: 5
|
||||
y: 5
|
||||
width: 368
|
||||
height: frame_new_server_settings_openvpn.visible ? 140 : 72
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
Rectangle {
|
||||
id: frame_new_server_settings_openvpn
|
||||
height: 77
|
||||
width: 353
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
radius: 2
|
||||
visible: false
|
||||
Grid {
|
||||
anchors.fill: parent
|
||||
columns: 2
|
||||
horizontalItemAlignment: Grid.AlignHCenter
|
||||
verticalItemAlignment: Grid.AlignVCenter
|
||||
topPadding: 5
|
||||
leftPadding: 10
|
||||
spacing: 5
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Port (TCP)")
|
||||
}
|
||||
TextFieldType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: UiLogic.lineEditNewServerOpenvpnPortText
|
||||
onEditingFinished: {
|
||||
UiLogic.lineEditNewServerOpenvpnPortText = text
|
||||
}
|
||||
}
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
text: qsTr("Protocol")
|
||||
}
|
||||
ComboBoxType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2) / 2
|
||||
model: [
|
||||
qsTr("udp"),
|
||||
qsTr("tcp"),
|
||||
]
|
||||
currentIndex: {
|
||||
for (let i = 0; i < model.length; ++i) {
|
||||
if (UiLogic.comboBoxNewServerOpenvpnProtoText === model[i]) {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
onCurrentTextChanged: {
|
||||
UiLogic.comboBoxNewServerOpenvpnProtoText = currentText
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Row {
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 5
|
||||
leftPadding: 15
|
||||
rightPadding: 5
|
||||
height: 55
|
||||
width: parent.width
|
||||
CheckBoxType {
|
||||
text: qsTr("OpenVPN")
|
||||
height: parent.height
|
||||
width: 308
|
||||
checked: UiLogic.checkBoxNewServerOpenvpnChecked
|
||||
onCheckedChanged: {
|
||||
UiLogic.checkBoxNewServerOpenvpnChecked = checked
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
width: 35
|
||||
height: 35
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
checked: UiLogic.pushButtonNewServerSettingsOpenvpnChecked
|
||||
checkable: true
|
||||
onCheckedChanged: {
|
||||
UiLogic.pushButtonNewServerSettingsOpenvpnChecked = checked
|
||||
if (checked) {
|
||||
frame_new_server_settings_openvpn.visible = true
|
||||
} else {
|
||||
frame_new_server_settings_openvpn.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: frame_new_server_settings_parent_wireguard
|
||||
visible: UiLogic.frameNewServerSettingsParentWireguardVisible
|
||||
x: 5
|
||||
y: 5
|
||||
width: 368
|
||||
height: frame_new_server_settings_wireguard.visible ? 109 : 72
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
Rectangle {
|
||||
id: frame_new_server_settings_wireguard
|
||||
height: 46
|
||||
width: 353
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 5
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
radius: 2
|
||||
visible: false
|
||||
Grid {
|
||||
anchors.fill: parent
|
||||
columns: 2
|
||||
horizontalItemAlignment: Grid.AlignHCenter
|
||||
verticalItemAlignment: Grid.AlignVCenter
|
||||
topPadding: 5
|
||||
leftPadding: 10
|
||||
spacing: 5
|
||||
LabelType {
|
||||
width: 130
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2)
|
||||
text: qsTr("Port (TCP)")
|
||||
}
|
||||
TextFieldType {
|
||||
width: parent.width - 130 - parent.spacing - parent.leftPadding * 2
|
||||
height: (parent.height - parent.spacing - parent.topPadding * 2)
|
||||
text: "32767"
|
||||
}
|
||||
}
|
||||
}
|
||||
Row {
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 5
|
||||
leftPadding: 15
|
||||
rightPadding: 5
|
||||
height: 55
|
||||
width: parent.width
|
||||
CheckBoxType {
|
||||
text: qsTr("WireGuard")
|
||||
height: parent.height
|
||||
width: 308
|
||||
}
|
||||
ImageButtonType {
|
||||
width: 35
|
||||
height: 35
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
checkable: true
|
||||
onCheckedChanged: {
|
||||
if (checked) {
|
||||
frame_new_server_settings_wireguard.visible = true
|
||||
} else {
|
||||
frame_new_server_settings_wireguard.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue