added inclusion of an additional client/server config when generating configs from templates
- fixed name in additional server config field
This commit is contained in:
parent
59248b7c2e
commit
f90ebbbb4e
11 changed files with 43 additions and 4 deletions
|
@ -662,6 +662,11 @@ ServerController::Vars ServerController::genVarsForScript(const ServerCredential
|
|||
vars.append({{"$OPENVPN_TA_KEY", "" }});
|
||||
}
|
||||
|
||||
vars.append({{"$OPENVPN_ADDITIONAL_CLIENT_CONFIG", openvpnConfig.value(config_key::additional_client_config).
|
||||
toString(protocols::openvpn::defaultAdditionalClientConfig) }});
|
||||
vars.append({{"$OPENVPN_ADDITIONAL_SERVER_CONFIG", openvpnConfig.value(config_key::additional_server_config).
|
||||
toString(protocols::openvpn::defaultAdditionalServerConfig) }});
|
||||
|
||||
// ShadowSocks vars
|
||||
vars.append({{"$SHADOWSOCKS_SERVER_PORT", ssConfig.value(config_key::port).toString(protocols::shadowsocks::defaultPort) }});
|
||||
vars.append({{"$SHADOWSOCKS_LOCAL_PORT", ssConfig.value(config_key::local_port).toString(protocols::shadowsocks::defaultLocalProxyPort) }});
|
||||
|
|
|
@ -53,6 +53,9 @@ constexpr char subnet_address[] = "subnet_address";
|
|||
constexpr char subnet_mask[] = "subnet_mask";
|
||||
constexpr char subnet_cidr[] = "subnet_cidr";
|
||||
|
||||
constexpr char additional_client_config[] = "additional_client_config";
|
||||
constexpr char additional_server_config[] = "additional_server_config";
|
||||
|
||||
// proto config keys
|
||||
constexpr char last_config[] = "last_config";
|
||||
}
|
||||
|
@ -82,6 +85,8 @@ constexpr bool defaultTlsAuth = true;
|
|||
constexpr char ncpDisableString[] = "ncp-disable";
|
||||
constexpr char tlsAuthString[] = "tls-auth /opt/amnezia/openvpn/ta.key 0";
|
||||
|
||||
constexpr char defaultAdditionalClientConfig[] = "";
|
||||
constexpr char defaultAdditionalServerConfig[] = "";
|
||||
}
|
||||
|
||||
namespace shadowsocks {
|
||||
|
|
|
@ -23,4 +23,5 @@ verb 1
|
|||
tls-server
|
||||
tls-version-min 1.2
|
||||
$OPENVPN_TLS_AUTH
|
||||
$OPENVPN_ADDITIONAL_SERVER_CONFIG
|
||||
EOF
|
||||
|
|
|
@ -21,6 +21,8 @@ block-outside-dns
|
|||
|
||||
remote $REMOTE_HOST $OPENVPN_PORT
|
||||
|
||||
$OPENVPN_ADDITIONAL_CLIENT_CONFIG
|
||||
|
||||
<ca>
|
||||
$OPENVPN_CA_CERT
|
||||
</ca>
|
||||
|
|
|
@ -23,6 +23,7 @@ verb 1
|
|||
tls-server
|
||||
tls-version-min 1.2
|
||||
$OPENVPN_TLS_AUTH
|
||||
$OPENVPN_ADDITIONAL_SERVER_CONFIG
|
||||
EOF
|
||||
|
||||
# Cloak config
|
||||
|
|
|
@ -22,6 +22,8 @@ block-outside-dns
|
|||
route $REMOTE_HOST 255.255.255.255 net_gateway
|
||||
remote 127.0.0.1 1194
|
||||
|
||||
$OPENVPN_ADDITIONAL_CLIENT_CONFIG
|
||||
|
||||
<ca>
|
||||
$OPENVPN_CA_CERT
|
||||
</ca>
|
||||
|
|
|
@ -23,6 +23,7 @@ verb 1
|
|||
tls-server
|
||||
tls-version-min 1.2
|
||||
$OPENVPN_TLS_AUTH
|
||||
$OPENVPN_ADDITIONAL_SERVER_CONFIG
|
||||
EOF
|
||||
|
||||
# ShadowSocks config
|
||||
|
|
|
@ -23,6 +23,8 @@ socks-proxy 127.0.0.1 $SHADOWSOCKS_LOCAL_PORT
|
|||
route $REMOTE_HOST 255.255.255.255 net_gateway
|
||||
remote $REMOTE_HOST $OPENVPN_PORT
|
||||
|
||||
$OPENVPN_ADDITIONAL_CLIENT_CONFIG
|
||||
|
||||
<ca>
|
||||
$OPENVPN_CA_CERT
|
||||
</ca>
|
||||
|
|
|
@ -21,6 +21,8 @@ OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
|
|||
m_checkBoxBlockDnsChecked{false},
|
||||
m_lineEditPortText{},
|
||||
m_checkBoxTlsAuthChecked{false},
|
||||
m_textAreaAdditionalClientConfig{""},
|
||||
m_textAreaAdditionalServerConfig{""},
|
||||
m_pushButtonSaveVisible{false},
|
||||
m_progressBarResetVisible{false},
|
||||
|
||||
|
@ -67,6 +69,14 @@ void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerCo
|
|||
bool isTlsAuth = openvpnConfig.value(config_key::tls_auth).toBool(protocols::openvpn::defaultTlsAuth);
|
||||
set_checkBoxTlsAuthChecked(isTlsAuth);
|
||||
|
||||
QString additionalClientConfig = openvpnConfig.value(config_key::additional_client_config).
|
||||
toString(protocols::openvpn::defaultAdditionalClientConfig);
|
||||
set_textAreaAdditionalClientConfig(additionalClientConfig);
|
||||
|
||||
QString additionalServerConfig = openvpnConfig.value(config_key::additional_server_config).
|
||||
toString(protocols::openvpn::defaultAdditionalServerConfig);
|
||||
set_textAreaAdditionalServerConfig(additionalServerConfig);
|
||||
|
||||
if (container == DockerContainer::ShadowSocks) {
|
||||
set_radioButtonUdpEnabled(false);
|
||||
set_radioButtonTcpEnabled(false);
|
||||
|
@ -142,5 +152,7 @@ QJsonObject OpenVpnLogic::getProtocolConfigFromPage(QJsonObject oldConfig)
|
|||
oldConfig.insert(config_key::block_outside_dns, checkBoxBlockDnsChecked());
|
||||
oldConfig.insert(config_key::port, lineEditPortText());
|
||||
oldConfig.insert(config_key::tls_auth, checkBoxTlsAuthChecked());
|
||||
oldConfig.insert(config_key::additional_client_config, textAreaAdditionalClientConfig());
|
||||
oldConfig.insert(config_key::additional_server_config, textAreaAdditionalServerConfig());
|
||||
return oldConfig;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@ class OpenVpnLogic : public PageProtocolLogicBase
|
|||
AUTO_PROPERTY(bool, checkBoxBlockDnsChecked)
|
||||
AUTO_PROPERTY(QString, lineEditPortText)
|
||||
AUTO_PROPERTY(bool, checkBoxTlsAuthChecked)
|
||||
AUTO_PROPERTY(QString, textAreaAdditionalClientConfig)
|
||||
AUTO_PROPERTY(QString, textAreaAdditionalServerConfig)
|
||||
|
||||
AUTO_PROPERTY(bool, pushButtonSaveVisible)
|
||||
AUTO_PROPERTY(bool, progressBarResetVisible)
|
||||
|
|
|
@ -281,7 +281,10 @@ PageProtocolBase {
|
|||
font.styleName: "normal"
|
||||
font.pixelSize: 16
|
||||
color: "#181922"
|
||||
|
||||
text: logic.textAreaAdditionalClientConfig
|
||||
onEditingFinished: {
|
||||
logic.textAreaAdditionalClientConfig = text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -294,7 +297,7 @@ PageProtocolBase {
|
|||
|
||||
implicitWidth: parent.width
|
||||
height: 21
|
||||
text: qsTr("Additional client config commands →")
|
||||
text: qsTr("Additional server config commands →")
|
||||
background: Item {
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
@ -305,7 +308,7 @@ PageProtocolBase {
|
|||
font.styleName: "normal"
|
||||
font.pixelSize: 16
|
||||
color: "#15CDCB";
|
||||
text: pb_client_config.text
|
||||
text: pb_server_config.text
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
@ -331,7 +334,10 @@ PageProtocolBase {
|
|||
font.styleName: "normal"
|
||||
font.pixelSize: 16
|
||||
color: "#181922"
|
||||
|
||||
text: logic.textAreaAdditionalServerConfig
|
||||
onEditingFinished: {
|
||||
logic.textAreaAdditionalServerConfig = text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue