feat: add recursive nameservers settings for dns challenge #372

This commit is contained in:
Jacky 2024-05-04 12:00:53 +08:00
parent d3e9d92750
commit 7be4a70824
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
22 changed files with 4517 additions and 3498 deletions

View file

@ -4,9 +4,10 @@ import (
"errors"
"github.com/0xJacky/Nginx-UI/internal/logger"
"github.com/gin-gonic/gin"
val "github.com/go-playground/validator/v10"
"github.com/go-playground/validator/v10"
"net/http"
"reflect"
"regexp"
"strings"
)
@ -27,7 +28,7 @@ func BindAndValid(c *gin.Context, target interface{}) bool {
if err != nil {
logger.Error("bind err", err)
var verrs val.ValidationErrors
var verrs validator.ValidationErrors
ok := errors.As(err, &verrs)
if !ok {
@ -44,7 +45,7 @@ func BindAndValid(c *gin.Context, target interface{}) bool {
var path []string
namespace := strings.Split(value.StructNamespace(), ".")
logger.Debug(t.Name(), namespace)
// logger.Debug(t.Name(), namespace)
if t.Name() != "" && len(namespace) > 1 {
namespace = namespace[1:]
}
@ -67,13 +68,30 @@ func BindAndValid(c *gin.Context, target interface{}) bool {
// findField recursively finds the field in a nested struct
func getJsonPath(t reflect.Type, fields []string, path *[]string) {
f, ok := t.FieldByName(fields[0])
field := fields[0]
// used in case of array
var index string
if field[len(field)-1] == ']' {
re := regexp.MustCompile(`(\w+)\[(\d+)\]`)
matches := re.FindStringSubmatch(field)
if len(matches) > 2 {
field = matches[1]
index = matches[2]
}
}
f, ok := t.FieldByName(field)
if !ok {
return
}
*path = append(*path, f.Tag.Get("json"))
if index != "" {
*path = append(*path, index)
}
if len(fields) > 1 {
subFields := fields[1:]
getJsonPath(f.Type, subFields, path)

View file

@ -71,5 +71,5 @@
"vite-svg-loader": "^5.1.0",
"vue-tsc": "^1.8.27"
},
"packageManager": "pnpm@8.15.5+sha256.4b4efa12490e5055d59b9b9fc9438b7d581a6b7af3b5675eb5c5f447cee1a589"
"packageManager": "pnpm@9.0.6+sha256.0624e30eff866cdeb363b15061bdb7fd9425b17bc1bb42c22f5f4efdea21f6b3"
}

6292
app/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
es fr_FR ko_KR ru_RU vi_VN zh_CN zh_TW
en zh_CN zh_TW fr_FR es ru_RU vi_VN ko_KR

View file

@ -18,7 +18,7 @@ msgid "Access Logs"
msgstr ""
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "Username"
@ -37,6 +37,7 @@ msgstr "Action"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr ""
@ -123,6 +124,11 @@ msgstr "Are you sure you want to remove this directive?"
msgid "Are you sure you want to remove this directive?"
msgstr "Are you sure you want to remove this directive?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Are you sure you want to remove this directive?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#, fuzzy
msgid "Are you sure you want to remove this location?"
@ -175,7 +181,7 @@ msgstr "Base information"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
#, fuzzy
msgid "Basic"
@ -199,7 +205,7 @@ msgstr "Build with"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr ""
@ -226,7 +232,7 @@ msgstr "Certificate has expired"
msgid "Certificate is valid"
msgstr "Certificate is valid"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Certificate is valid"
@ -377,7 +383,7 @@ msgstr "Dashboard"
msgid "Database (Optional, default: database)"
msgstr "Database (Optional, default: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -763,7 +769,7 @@ msgstr ""
msgid "Finished"
msgstr "Finished"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -803,7 +809,7 @@ msgstr "Base information"
msgid "Getting the certificate, please wait..."
msgstr "Getting the certificate, please wait..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr ""
@ -811,15 +817,15 @@ msgstr ""
msgid "Home"
msgstr "Home"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr ""
@ -889,7 +895,7 @@ msgstr "Certificate Status"
msgid "Issued certificate successfully"
msgstr "Enabled successfully"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr ""
@ -967,7 +973,7 @@ msgstr "Login successful"
msgid "Logout successful"
msgstr "Logout successful"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1097,7 +1103,7 @@ msgstr ""
msgid "Next"
msgstr "Next"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr ""
@ -1140,11 +1146,12 @@ msgstr "Saved successfully"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "No"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr ""
@ -1225,7 +1232,7 @@ msgstr ""
msgid "Online"
msgstr ""
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr ""
@ -1319,7 +1326,7 @@ msgstr ""
msgid "Pre-release"
msgstr ""
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr ""
@ -1363,6 +1370,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Saved successfully"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr ""
@ -1459,7 +1470,7 @@ msgstr ""
msgid "Restarting"
msgstr ""
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
#, fuzzy
msgid "Run Mode"
msgstr "Advance Mode"
@ -1472,7 +1483,7 @@ msgstr ""
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "Save"
@ -1488,7 +1499,7 @@ msgstr "Save error %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
#, fuzzy
msgid "Save successfully"
msgstr "Saved successfully"
@ -1521,7 +1532,7 @@ msgstr "Send"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1540,6 +1551,12 @@ msgstr "server_name not found in directives"
msgid "server_name parameter is required"
msgstr "server_name parameter is required"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr ""
@ -1645,7 +1662,7 @@ msgstr ""
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr ""
@ -1689,8 +1706,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1858,6 +1875,7 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "Yes"

View file

@ -23,7 +23,7 @@ msgid "Access Logs"
msgstr "Registros de acceso"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "Usuario"
@ -42,6 +42,7 @@ msgstr "Acción"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Agregar"
@ -123,6 +124,11 @@ msgstr "¿Está seguro de que quiere borrar esta directiva?"
msgid "Are you sure you want to remove this directive?"
msgstr "¿Está seguro de que quiere borrar esta directiva?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "¿Está seguro de que quiere borrar esta directiva?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr "¿Está seguro de que quiere borrar esta ubicación?"
@ -173,7 +179,7 @@ msgstr "Información general"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr "Básico"
@ -195,7 +201,7 @@ msgstr "Desarrollado con"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr "Directorio CA"
@ -222,7 +228,7 @@ msgstr "El certificado expiró"
msgid "Certificate is valid"
msgstr "El certificado es válido"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "El certificado es válido"
@ -367,7 +373,7 @@ msgstr "Panel"
msgid "Database (Optional, default: database)"
msgstr "Base de datos (Opcional, default: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -734,7 +740,7 @@ msgstr "Filtro"
msgid "Finished"
msgstr "Terminado"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Para usuario chino: https://mirror.ghproxy.com/"
@ -770,7 +776,7 @@ msgstr "Obtener error de información de versión"
msgid "Getting the certificate, please wait..."
msgstr "Obteniendo el certificado, por favor espere..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr "Proxy Github"
@ -778,15 +784,15 @@ msgstr "Proxy Github"
msgid "Home"
msgstr "Inicio"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr "Puerto de desafío HTTP"
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "Host HTTP"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "Puerto HTTP"
@ -851,7 +857,7 @@ msgstr "Obtener certificado Comodín"
msgid "Issued certificate successfully"
msgstr "Certificado emitido con éxito"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr "Secreto Jwt"
@ -925,7 +931,7 @@ msgstr "Acceso exitoso"
msgid "Logout successful"
msgstr "Cierre de sesión exitoso"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1049,7 +1055,7 @@ msgstr "Se liberó una nueva versión"
msgid "Next"
msgstr "Siguiente"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr "Nginx"
@ -1089,11 +1095,12 @@ msgstr "Nginx reiniciado con éxito"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "No"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr "Secreto del nodo"
@ -1171,7 +1178,7 @@ msgstr "Una vez que se complete la verificación, los registros se eliminarán."
msgid "Online"
msgstr "En línea"
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr "OpenAI"
@ -1273,7 +1280,7 @@ msgstr "¡Seleccione al menos un nodo!"
msgid "Pre-release"
msgstr "Prelanzamiento"
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "Configuración"
@ -1316,6 +1323,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Eliminado con éxito"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "Regenerar respuesta"
@ -1407,7 +1418,7 @@ msgstr "Reiniciar"
msgid "Restarting"
msgstr "Reiniciando"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
msgid "Run Mode"
msgstr "Modo de ejecución"
@ -1419,7 +1430,7 @@ msgstr "Corriendo"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "Guardar"
@ -1435,7 +1446,7 @@ msgstr "Error al guardar %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
msgid "Save successfully"
msgstr "Guardado con éxito"
@ -1467,7 +1478,7 @@ msgstr "Enviado"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1486,6 +1497,12 @@ msgstr "No se encuentra server_name en las directivas"
msgid "server_name parameter is required"
msgstr "Se requiere el parámetro server_name"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "Usando el proveedor de desafíos DNS01"
@ -1583,7 +1600,7 @@ msgstr "Objetivo"
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "Comando de inicio de terminal"
@ -1625,8 +1642,8 @@ msgstr ""
"El server_name en la configuración actual debe ser el nombre de dominio que "
"necesita para obtener el certificado, soporta dominios múltiples."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1799,6 +1816,7 @@ msgstr "Escribir certificado a disco"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "Si"

View file

@ -20,7 +20,7 @@ msgid "Access Logs"
msgstr "Journaux d'accès"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "Nom d'utilisateur"
@ -39,6 +39,7 @@ msgstr "Action"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Ajouter"
@ -125,6 +126,11 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?"
msgid "Are you sure you want to remove this directive?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr "Voulez-vous vraiment supprimer cette localisation ?"
@ -176,7 +182,7 @@ msgstr "Information générale"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr "Basique"
@ -199,7 +205,7 @@ msgstr "Build avec"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr ""
@ -226,7 +232,7 @@ msgstr "Le certificat a expiré"
msgid "Certificate is valid"
msgstr "Le certificat est valide"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Le certificat est valide"
@ -375,7 +381,7 @@ msgstr "Dashboard"
msgid "Database (Optional, default: database)"
msgstr "Base de données (Facultatif, par défaut : database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -763,7 +769,7 @@ msgstr "Filtrer"
msgid "Finished"
msgstr "Finie"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Utilisateur chinois : https://mirror.ghproxy.com/"
@ -801,7 +807,7 @@ msgstr "Erreur d'obtention des informations sur la version"
msgid "Getting the certificate, please wait..."
msgstr "Obtention du certificat, veuillez patienter..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr "Proxy Github"
@ -809,15 +815,15 @@ msgstr "Proxy Github"
msgid "Home"
msgstr "Menu principal"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr "Port de challenge HTTP"
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "Host HTTP"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "Port HTTP"
@ -885,7 +891,7 @@ msgstr "État du certificat"
msgid "Issued certificate successfully"
msgstr "Certificat délivré avec succès"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr "Secret Jwt"
@ -966,7 +972,7 @@ msgstr "Connexion réussie"
msgid "Logout successful"
msgstr "Déconnexion réussie"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1094,7 +1100,7 @@ msgstr "Nouvelle version publiée"
msgid "Next"
msgstr "Suivant"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
#, fuzzy
msgid "Nginx"
msgstr "Journal Nginx"
@ -1135,11 +1141,12 @@ msgstr "Nginx a redémarré avec succès"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Non"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
#, fuzzy
msgid "Node Secret"
msgstr "Secret Jwt"
@ -1220,7 +1227,7 @@ msgstr ""
msgid "Online"
msgstr ""
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr "OpenAI"
@ -1320,7 +1327,7 @@ msgstr ""
msgid "Pre-release"
msgstr ""
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "Préférence"
@ -1366,6 +1373,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Enregistré avec succès"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "Régénérer la réponse"
@ -1463,7 +1474,7 @@ msgstr "Redémarrer"
msgid "Restarting"
msgstr "Redémarrage"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
msgid "Run Mode"
msgstr "Mode d'exécution"
@ -1475,7 +1486,7 @@ msgstr "En cours d'éxécution"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "Enregistrer"
@ -1491,7 +1502,7 @@ msgstr "Enregistrer l'erreur %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
msgid "Save successfully"
msgstr "Sauvegarde réussie"
@ -1523,7 +1534,7 @@ msgstr "Envoyer"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1542,6 +1553,12 @@ msgstr "server_name introuvable dans les directives"
msgid "server_name parameter is required"
msgstr "Le paramètre server_name est obligatoire"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
#, fuzzy
msgid "Setting DNS01 challenge provider"
@ -1647,7 +1664,7 @@ msgstr ""
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "Commande de démarrage du terminal"
@ -1692,8 +1709,8 @@ msgstr ""
"dont vous avez besoin pour obtenir le certificat, prendre en charge "
"plusieurs domaines."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1868,6 +1885,7 @@ msgstr "Écriture du certificat sur le disque"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "Oui"

View file

@ -22,7 +22,7 @@ msgid "Access Logs"
msgstr "접근 로그"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "사용자 이름"
@ -41,6 +41,7 @@ msgstr "작업"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "추가"
@ -122,6 +123,11 @@ msgstr "이 지시문을 정말로 제거하시겠습니까?"
msgid "Are you sure you want to remove this directive?"
msgstr "이 지시문을 정말로 제거하시겠습니까?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "이 지시문을 정말로 제거하시겠습니까?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr "이 위치를 제거하시겠습니까?"
@ -172,7 +178,7 @@ msgstr "기본 정보"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr "기본"
@ -194,7 +200,7 @@ msgstr "빌드 환경"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr "CA 디렉토리"
@ -221,7 +227,7 @@ msgstr "인증서가 만료되었습니다"
msgid "Certificate is valid"
msgstr "인증서가 유효합니다"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "인증서가 유효합니다"
@ -365,7 +371,7 @@ msgstr "대시보드"
msgid "Database (Optional, default: database)"
msgstr "데이터베이스 (선택사항, 기본값: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -733,7 +739,7 @@ msgstr "필터"
msgid "Finished"
msgstr "완료됨"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "중국 사용자를 위해: https://mirror.ghproxy.com/"
@ -773,7 +779,7 @@ msgstr "릴리스 정보 가져오기 오류"
msgid "Getting the certificate, please wait..."
msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr "Github 프록시"
@ -781,15 +787,15 @@ msgstr "Github 프록시"
msgid "Home"
msgstr "홈"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr "HTTP 검증 포트"
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "HTTP 호스트"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "HTTP 포트"
@ -859,7 +865,7 @@ msgstr "인증서 상태"
msgid "Issued certificate successfully"
msgstr "성공적으로 활성화됨"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr "Jwt 토큰"
@ -937,7 +943,7 @@ msgstr "로그인 성공"
msgid "Logout successful"
msgstr "로그아웃 성공"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr "로그관리"
@ -1072,7 +1078,7 @@ msgstr "새 버전 출시"
msgid "Next"
msgstr "다음"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr "Nginx"
@ -1115,11 +1121,12 @@ msgstr "Nginx가 성공적으로 재시작됨"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "아니요"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr "노드 시크릿"
@ -1200,7 +1207,7 @@ msgstr "검증이 완료되면, 레코드는 제거됩니다."
msgid "Online"
msgstr "온라인"
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr "오픈AI"
@ -1296,7 +1303,7 @@ msgstr "적어도 하나의 노드를 선택해주세요!"
msgid "Pre-release"
msgstr "사전 출시"
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "환경설정"
@ -1340,6 +1347,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "성공적으로 제거됨"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "응답 재생성"
@ -1438,7 +1449,7 @@ msgstr "재시작"
msgid "Restarting"
msgstr "재시작 중"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
#, fuzzy
msgid "Run Mode"
msgstr "실행 모드"
@ -1451,7 +1462,7 @@ msgstr "실행 중"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "저장"
@ -1467,7 +1478,7 @@ msgstr "저장 오류 %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
#, fuzzy
msgid "Save successfully"
msgstr "성공적으로 저장됨"
@ -1500,7 +1511,7 @@ msgstr "보내기"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1519,6 +1530,12 @@ msgstr "directives에서 server_name을 찾을 수 없습니다"
msgid "server_name parameter is required"
msgstr "server_name 매개변수가 필요합니다"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "DNS01 공급자 설정"
@ -1623,7 +1640,7 @@ msgstr "대상"
msgid "Terminal"
msgstr "터미널"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "터미널 시작 명령"
@ -1667,8 +1684,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1844,6 +1861,7 @@ msgstr "인증서를 디스크에 쓰기"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "예"

View file

@ -13,7 +13,7 @@ msgstr ""
#: src/routes/index.ts:128
#: src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
msgid "ACME User"
msgstr ""
@ -34,6 +34,7 @@ msgstr ""
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr ""
@ -115,6 +116,10 @@ msgstr ""
msgid "Are you sure you want to remove this directive?"
msgstr ""
#: src/views/preference/BasicSettings.vue:99
msgid "Are you sure you want to remove this item?"
msgstr ""
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr ""
@ -167,7 +172,7 @@ msgstr ""
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr ""
@ -190,7 +195,7 @@ msgstr ""
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr ""
@ -217,7 +222,7 @@ msgstr ""
msgid "Certificate is valid"
msgstr ""
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
msgid "Certificate Renewal Interval"
msgstr ""
@ -362,7 +367,7 @@ msgstr ""
msgid "Database (Optional, default: database)"
msgstr ""
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -738,7 +743,7 @@ msgstr ""
msgid "Finished"
msgstr ""
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -774,7 +779,7 @@ msgstr ""
msgid "Getting the certificate, please wait..."
msgstr ""
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr ""
@ -782,15 +787,15 @@ msgstr ""
msgid "Home"
msgstr ""
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr ""
@ -856,7 +861,7 @@ msgstr ""
msgid "Issued certificate successfully"
msgstr ""
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr ""
@ -931,7 +936,7 @@ msgstr ""
msgid "Logout successful"
msgstr ""
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1049,7 +1054,7 @@ msgstr ""
msgid "Next"
msgstr ""
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr ""
@ -1091,11 +1096,12 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr ""
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr ""
@ -1174,7 +1180,7 @@ msgstr ""
msgid "Online"
msgstr ""
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr ""
@ -1265,7 +1271,7 @@ msgid "Pre-release"
msgstr ""
#: src/routes/index.ts:239
#: src/views/preference/Preference.vue:88
#: src/views/preference/Preference.vue:89
msgid "Preference"
msgstr ""
@ -1307,6 +1313,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr ""
@ -1394,7 +1404,7 @@ msgstr ""
msgid "Restarting"
msgstr ""
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
msgid "Run Mode"
msgstr ""
@ -1407,7 +1417,7 @@ msgstr ""
#: src/views/config/ConfigEdit.vue:96
#: src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122
#: src/views/preference/Preference.vue:123
#: src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr ""
@ -1425,7 +1435,7 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
msgid "Save successfully"
msgstr ""
@ -1460,7 +1470,7 @@ msgstr ""
#: src/views/config/ConfigEdit.vue:40
#: src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70
#: src/views/preference/Preference.vue:62
#: src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113
#: src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
@ -1480,6 +1490,10 @@ msgstr ""
msgid "server_name parameter is required"
msgstr ""
#: src/views/preference/BasicSettings.vue:64
msgid "Set the recursive nameservers to override the systems nameservers for the step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr ""
@ -1581,7 +1595,7 @@ msgstr ""
msgid "Terminal"
msgstr ""
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr ""
@ -1613,8 +1627,8 @@ msgstr ""
msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
msgstr ""
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1776,6 +1790,7 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr ""

View file

@ -18,7 +18,7 @@ msgid "Access Logs"
msgstr "Журнал доступа"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "Пользователь"
@ -37,6 +37,7 @@ msgstr "Действие"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Добавить"
@ -123,6 +124,11 @@ msgstr "Вы уверены, что хотите удалить эту дире
msgid "Are you sure you want to remove this directive?"
msgstr "Вы уверены, что хотите удалить эту директиву?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Вы уверены, что хотите удалить эту директиву?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#, fuzzy
msgid "Are you sure you want to remove this location?"
@ -175,7 +181,7 @@ msgstr "Основная информация"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
#, fuzzy
msgid "Basic"
@ -199,7 +205,7 @@ msgstr "Собрать с"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr ""
@ -226,7 +232,7 @@ msgstr "Срок действия сертификата истек"
msgid "Certificate is valid"
msgstr "Сертификат действителен"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Сертификат действителен"
@ -377,7 +383,7 @@ msgstr "Доска"
msgid "Database (Optional, default: database)"
msgstr "База данных (Опционально, по умолчанию: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -765,7 +771,7 @@ msgstr "Фильтр"
msgid "Finished"
msgstr "Готово"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -805,7 +811,7 @@ msgstr "Ошибка получения информации о релизе"
msgid "Getting the certificate, please wait..."
msgstr "Получение сертификата, пожалуйста, подождите..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr ""
@ -813,15 +819,15 @@ msgstr ""
msgid "Home"
msgstr "Главная"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "Хостинг HTTP"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "Порт HTTP"
@ -892,7 +898,7 @@ msgstr "Статус сертификата"
msgid "Issued certificate successfully"
msgstr "Сертификат успешно выдан"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr ""
@ -971,7 +977,7 @@ msgstr "Авторизация успешна"
msgid "Logout successful"
msgstr "Выход выполнен успешно"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1101,7 +1107,7 @@ msgstr "Вышла новая версия"
msgid "Next"
msgstr "Дальше"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
#, fuzzy
msgid "Nginx"
msgstr "Журнал"
@ -1145,11 +1151,12 @@ msgstr "Nginx успешно перезапущен"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Нет"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr ""
@ -1230,7 +1237,7 @@ msgstr ""
msgid "Online"
msgstr ""
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr ""
@ -1326,7 +1333,7 @@ msgstr ""
msgid "Pre-release"
msgstr ""
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "Настройки"
@ -1370,6 +1377,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Успешно сохранено"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "Восстановить ответ"
@ -1468,7 +1479,7 @@ msgstr "Перезапуск"
msgid "Restarting"
msgstr "Перезапускается"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
#, fuzzy
msgid "Run Mode"
msgstr "Расширенный режим"
@ -1481,7 +1492,7 @@ msgstr "Выполняется"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "Сохранить"
@ -1497,7 +1508,7 @@ msgstr "Ошибка сохранения %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
#, fuzzy
msgid "Save successfully"
msgstr "Успешно сохранено"
@ -1530,7 +1541,7 @@ msgstr "Отправлено"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1549,6 +1560,12 @@ msgstr "server_name не нашел в директивах"
msgid "server_name parameter is required"
msgstr "server_name параметр обязателен"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr ""
@ -1654,7 +1671,7 @@ msgstr ""
msgid "Terminal"
msgstr "Терминал"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "Терминальная команда запуска"
@ -1698,8 +1715,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1870,6 +1887,7 @@ msgstr "Запись сертификата на диск"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "Да"

View file

@ -18,7 +18,7 @@ msgid "Access Logs"
msgstr "Log truy cập"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "Người dùng"
@ -37,6 +37,7 @@ msgstr "Hành động"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Thêm"
@ -123,6 +124,11 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?"
msgid "Are you sure you want to remove this directive?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#, fuzzy
msgid "Are you sure you want to remove this location?"
@ -175,7 +181,7 @@ msgstr "Thông tin"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
#, fuzzy
msgid "Basic"
@ -199,7 +205,7 @@ msgstr "Xây dựng với"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr ""
@ -226,7 +232,7 @@ msgstr "Chứng chỉ đã hết hạn"
msgid "Certificate is valid"
msgstr "Chứng chỉ SSL hợp lệ"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Chứng chỉ SSL hợp lệ"
@ -377,7 +383,7 @@ msgstr "Bảng điều khiển"
msgid "Database (Optional, default: database)"
msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -766,7 +772,7 @@ msgstr "Lọc"
msgid "Finished"
msgstr "Đã hoàn thành"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Người dùng Trung Quốc: https://mirror.ghproxy.com/"
@ -807,7 +813,7 @@ msgstr "Nhận lỗi thông tin phát hành"
msgid "Getting the certificate, please wait..."
msgstr "Đang lấy chứng chỉ, vui lòng đợi..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr ""
@ -815,15 +821,15 @@ msgstr ""
msgid "Home"
msgstr "Trang chủ"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr ""
@ -894,7 +900,7 @@ msgstr "Thêm chứng chỉ SSL"
msgid "Issued certificate successfully"
msgstr "Cấp chứng chỉ thành công"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr ""
@ -973,7 +979,7 @@ msgstr "Đăng nhập thành công"
msgid "Logout successful"
msgstr "Đã đăng xuất"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1102,7 +1108,7 @@ msgstr "Đã có phiên bản mới"
msgid "Next"
msgstr "Tiếp theo"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr ""
@ -1145,11 +1151,12 @@ msgstr "Restart Nginx thành công"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Không"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr ""
@ -1230,7 +1237,7 @@ msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa."
msgid "Online"
msgstr "Trực tuyến"
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr ""
@ -1328,7 +1335,7 @@ msgstr ""
msgid "Pre-release"
msgstr ""
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "Cài đặt"
@ -1372,6 +1379,10 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Xoá thành công"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "Tạo lại câu trả lời"
@ -1470,7 +1481,7 @@ msgstr "Khởi động lại"
msgid "Restarting"
msgstr "Đang khởi động lại"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
#, fuzzy
msgid "Run Mode"
msgstr "Run Mode"
@ -1483,7 +1494,7 @@ msgstr "Running"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "Lưu"
@ -1499,7 +1510,7 @@ msgstr "Đã xảy ra lỗi khi lưu %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
#, fuzzy
msgid "Save successfully"
msgstr "Lưu thành công"
@ -1532,7 +1543,7 @@ msgstr "Gửi"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1551,6 +1562,12 @@ msgstr "không tìm thấy server_name trong directives"
msgid "server_name parameter is required"
msgstr "Tham số server_name là bắt buộc"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "Sử dụng DNS01 để xác thực SSL"
@ -1652,7 +1669,7 @@ msgstr "Mục tiêu"
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr ""
@ -1693,8 +1710,8 @@ msgid ""
msgstr ""
"Lưu ý: server_name trong cấu hình hiện tại phải là tên miền bạn muốn ký SSL."
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1871,6 +1888,7 @@ msgstr "Ghi chứng chỉ vào disk"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "Có"

Binary file not shown.

View file

@ -22,7 +22,7 @@ msgid "Access Logs"
msgstr "访问日志"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
msgid "ACME User"
msgstr "ACME 用户"
@ -40,6 +40,7 @@ msgstr "操作"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "添加"
@ -118,6 +119,10 @@ msgstr "您确定要恢复这个项目吗?"
msgid "Are you sure you want to remove this directive?"
msgstr "您确定要删除这条指令?"
#: src/views/preference/BasicSettings.vue:99
msgid "Are you sure you want to remove this item?"
msgstr "您确定要删除这个项目吗?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr "您确定要删除这个 Location"
@ -168,7 +173,7 @@ msgstr "基本信息"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr "基本"
@ -190,7 +195,7 @@ msgstr "构建基于"
msgid "CA Dir"
msgstr "CA Dir"
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr "CADir"
@ -217,7 +222,7 @@ msgstr "此证书已过期"
msgid "Certificate is valid"
msgstr "此证书有效"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
msgid "Certificate Renewal Interval"
msgstr "证书续期间隔"
@ -360,7 +365,7 @@ msgstr "仪表盘"
msgid "Database (Optional, default: database)"
msgstr "数据库 (可选,默认: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr "天"
@ -721,7 +726,7 @@ msgstr "过滤"
msgid "Finished"
msgstr "完成"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "中国用户https://mirror.ghproxy.com/"
@ -757,7 +762,7 @@ msgstr "获取发布信息错误"
msgid "Getting the certificate, please wait..."
msgstr "正在获取证书,请稍等..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr "Github代理"
@ -765,15 +770,15 @@ msgstr "Github代理"
msgid "Home"
msgstr "首页"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr "HTTP Challenge 监听端口"
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "HTTP 监听主机"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "HTTP 监听端口"
@ -837,7 +842,7 @@ msgstr "颁发通配符证书"
msgid "Issued certificate successfully"
msgstr "证书申请成功"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr "Jwt 密钥"
@ -910,7 +915,7 @@ msgstr "登录成功"
msgid "Logout successful"
msgstr "登出成功"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr "Logrotate"
@ -1036,7 +1041,7 @@ msgstr "新版本发布"
msgid "Next"
msgstr "下一步"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr "Nginx"
@ -1076,11 +1081,12 @@ msgstr "Nginx 重启成功"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "取消"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr "节点密钥"
@ -1158,7 +1164,7 @@ msgstr "一旦验证完成,这些记录将被删除。"
msgid "Online"
msgstr "在线"
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr "OpenAI"
@ -1253,7 +1259,7 @@ msgstr "请至少选择一个节点!"
msgid "Pre-release"
msgstr "预发布"
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "偏好设置"
@ -1295,6 +1301,10 @@ msgstr "恢复"
msgid "Recovered Successfully"
msgstr "恢复成功"
#: src/views/preference/BasicSettings.vue:68
msgid "Recursive Nameservers"
msgstr "递归域名服务器"
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "重新生成响应"
@ -1382,7 +1392,7 @@ msgstr "重启"
msgid "Restarting"
msgstr "重启中"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
msgid "Run Mode"
msgstr "运行模式"
@ -1394,7 +1404,7 @@ msgstr "运行中"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "保存"
@ -1410,7 +1420,7 @@ msgstr "保存错误 %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
msgid "Save successfully"
msgstr "保存成功"
@ -1442,7 +1452,7 @@ msgstr "上传"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1461,6 +1471,12 @@ msgstr "未在指令集合中找到 server_name"
msgid "server_name parameter is required"
msgstr "必须为 server_name 指令指明参数"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr "为 DNS 挑战步骤设置递归域名服务器以覆盖操作系统的域名服务器设置。"
#: src/language/constants.ts:11
msgid "Setting DNS01 challenge provider"
msgstr "使用 DNS01 Challenge 提供商"
@ -1558,7 +1574,7 @@ msgstr "目标"
msgid "Terminal"
msgstr "终端"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "终端启动命令"
@ -1596,8 +1612,8 @@ msgid ""
"need to get the certificate, supportmultiple domains."
msgstr "当前配置中的 server_name 必须是获取证书所需的域名,支持多个域名。"
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
msgid "The url is not valid"
@ -1763,6 +1779,7 @@ msgstr "正在将证书写入磁盘"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "是的"
@ -1947,9 +1964,6 @@ msgstr "你可以在这个页面检查Nginx UI的升级。"
#~ msgid "Root Directory (root)"
#~ msgstr "网站根目录 (root)"
#~ msgid "Server Names (server_name)"
#~ msgstr "网站域名 (server_name)"
#~ msgid ""
#~ "The certificate for the domain will be checked every hour, and will be "
#~ "renewed if it has been more than 1 month since it was last issued.<br/>If "

View file

@ -23,7 +23,7 @@ msgid "Access Logs"
msgstr "存取日誌"
#: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUserSelector.vue:72
#: src/views/certificate/ACMEUserSelector.vue:79
#, fuzzy
msgid "ACME User"
msgstr "使用者名稱"
@ -42,6 +42,7 @@ msgstr "操作"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "新增"
@ -126,6 +127,11 @@ msgstr "您確定要刪除這條指令嗎?"
msgid "Are you sure you want to remove this directive?"
msgstr "您確定要刪除這條指令嗎?"
#: src/views/preference/BasicSettings.vue:99
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "您確定要刪除這條指令嗎?"
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Are you sure you want to remove this location?"
msgstr "您確定要刪除此 Location 嗎?"
@ -176,7 +182,7 @@ msgstr "基本資訊"
#: src/views/config/ConfigEdit.vue:115
#: src/views/domain/components/RightSettings.vue:75
#: src/views/preference/Preference.vue:93
#: src/views/preference/Preference.vue:94
#: src/views/stream/components/RightSettings.vue:74
msgid "Basic"
msgstr "基本"
@ -198,7 +204,7 @@ msgstr "構建基於"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:45
#: src/views/preference/BasicSettings.vue:47
msgid "CADir"
msgstr "CADir"
@ -225,7 +231,7 @@ msgstr "此憑證已過期"
msgid "Certificate is valid"
msgstr "此憑證有效"
#: src/views/preference/BasicSettings.vue:53
#: src/views/preference/BasicSettings.vue:55
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "憑證自動續簽"
@ -374,7 +380,7 @@ msgstr "儀表板"
msgid "Database (Optional, default: database)"
msgstr "資料庫 (可選,預設: database)"
#: src/views/preference/BasicSettings.vue:58
#: src/views/preference/BasicSettings.vue:60
msgid "Days"
msgstr ""
@ -747,7 +753,7 @@ msgstr "篩選"
msgid "Finished"
msgstr "完成"
#: src/views/preference/BasicSettings.vue:41
#: src/views/preference/BasicSettings.vue:43
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "中國使用者https://mirror.ghproxy.com/"
@ -785,7 +791,7 @@ msgstr "取得發布資訊錯誤"
msgid "Getting the certificate, please wait..."
msgstr "正在取得憑證,請稍候..."
#: src/views/preference/BasicSettings.vue:33
#: src/views/preference/BasicSettings.vue:35
msgid "Github Proxy"
msgstr "Github 代理"
@ -793,15 +799,15 @@ msgstr "Github 代理"
msgid "Home"
msgstr "首頁"
#: src/views/preference/BasicSettings.vue:29
#: src/views/preference/BasicSettings.vue:31
msgid "HTTP Challenge Port"
msgstr "HTTP 挑戰埠"
#: src/views/preference/BasicSettings.vue:11
#: src/views/preference/BasicSettings.vue:13
msgid "HTTP Host"
msgstr "HTTP 監聽主機"
#: src/views/preference/BasicSettings.vue:14
#: src/views/preference/BasicSettings.vue:16
msgid "HTTP Port"
msgstr "HTTP 監聽埠"
@ -870,7 +876,7 @@ msgstr "憑證狀態"
msgid "Issued certificate successfully"
msgstr "成功頒發憑證"
#: src/views/preference/BasicSettings.vue:20
#: src/views/preference/BasicSettings.vue:22
msgid "Jwt Secret"
msgstr "Jwt Secret"
@ -948,7 +954,7 @@ msgstr "登入成功"
msgid "Logout successful"
msgstr "登出成功"
#: src/views/preference/Preference.vue:111
#: src/views/preference/Preference.vue:112
msgid "Logrotate"
msgstr ""
@ -1074,7 +1080,7 @@ msgstr "新版本發布"
msgid "Next"
msgstr "下一步"
#: src/views/preference/Preference.vue:99
#: src/views/preference/Preference.vue:100
msgid "Nginx"
msgstr "Nginx"
@ -1114,11 +1120,12 @@ msgstr "Nginx 重啟成功"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:68
#: src/views/preference/BasicSettings.vue:101
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "取消"
#: src/views/preference/BasicSettings.vue:23
#: src/views/preference/BasicSettings.vue:25
msgid "Node Secret"
msgstr "Node Secret"
@ -1198,7 +1205,7 @@ msgstr ""
msgid "Online"
msgstr "線上"
#: src/views/preference/Preference.vue:105
#: src/views/preference/Preference.vue:106
msgid "OpenAI"
msgstr "OpenAI"
@ -1294,7 +1301,7 @@ msgstr "請至少選擇一個節點!"
msgid "Pre-release"
msgstr "預先發布"
#: src/routes/index.ts:239 src/views/preference/Preference.vue:88
#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
msgid "Preference"
msgstr "偏好設定"
@ -1337,6 +1344,11 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "儲存成功"
#: src/views/preference/BasicSettings.vue:68
#, fuzzy
msgid "Recursive Nameservers"
msgstr "網站域名 (server_name)"
#: src/components/ChatGPT/ChatGPT.vue:278
msgid "Regenerate response"
msgstr "重新產生回應"
@ -1434,7 +1446,7 @@ msgstr "重新啟動"
msgid "Restarting"
msgstr "正在重新啟動"
#: src/views/preference/BasicSettings.vue:17
#: src/views/preference/BasicSettings.vue:19
msgid "Run Mode"
msgstr "執行模式"
@ -1446,7 +1458,7 @@ msgstr "執行中"
#: src/views/certificate/CertificateEditor.vue:242
#: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:254
#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
msgid "Save"
msgstr "儲存"
@ -1462,7 +1474,7 @@ msgstr "儲存錯誤 %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
#: src/views/certificate/CertificateEditor.vue:45
#: src/views/preference/Preference.vue:58
#: src/views/preference/Preference.vue:59
msgid "Save successfully"
msgstr "儲存成功"
@ -1494,7 +1506,7 @@ msgstr "傳送"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
#: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62
#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
#: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
#: src/views/system/Upgrade.vue:42
msgid "Server error"
@ -1513,6 +1525,12 @@ msgstr "在指令中未找到 server_name"
msgid "server_name parameter is required"
msgstr "必須提供 server_name 參數"
#: src/views/preference/BasicSettings.vue:64
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/language/constants.ts:11
#, fuzzy
msgid "Setting DNS01 challenge provider"
@ -1616,7 +1634,7 @@ msgstr "目標"
msgid "Terminal"
msgstr "終端機"
#: src/views/preference/BasicSettings.vue:26
#: src/views/preference/BasicSettings.vue:28
msgid "Terminal Start Command"
msgstr "終端機啟動指令"
@ -1658,8 +1676,8 @@ msgid ""
"need to get the certificate, supportmultiple domains."
msgstr "注意:目前設定中的 server_name 必須為需要申請憑證的域名。"
#: src/views/preference/BasicSettings.vue:36
#: src/views/preference/BasicSettings.vue:48
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/OpenAISettings.vue:36
#: src/views/preference/OpenAISettings.vue:48
#, fuzzy
@ -1830,6 +1848,7 @@ msgstr "將憑證寫入磁碟"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
msgstr "是的"
@ -1976,9 +1995,6 @@ msgstr "您可以在此頁面檢查 Nginx UI 的升級。"
#~ msgid "Root Directory (root)"
#~ msgstr "網站根目錄 (root)"
#~ msgid "Server Names (server_name)"
#~ msgstr "網站域名 (server_name)"
#~ msgid ""
#~ "The certificate for the domain will be checked every hour, and will be "
#~ "renewed if it has been more than 1 month since it was last issued.<br/>If "

View file

@ -1,5 +1,7 @@
<script setup lang="ts">
import { inject } from 'vue'
import Draggable from 'vuedraggable'
import { DeleteOutlined, HolderOutlined } from '@ant-design/icons-vue'
import type { Settings } from '@/views/preference/typedef'
const data: Settings = inject('data') as Settings
@ -58,6 +60,59 @@ const errors: Record<string, Record<string, string>> = inject('errors') as Recor
:addon-after="$gettext('Days')"
/>
</AFormItem>
<AFormItem
:help="$gettext('Set the recursive nameservers to override the systems nameservers '
+ 'for the step of DNS challenge.')"
>
<template #label>
{{ $gettext('Recursive Nameservers') }}
<AButton
type="link"
@click="data.server.recursive_nameservers.push('')"
>
{{ $gettext('Add') }}
</AButton>
</template>
<Draggable
:list="data.server.recursive_nameservers"
item-key="name"
class="list-group"
ghost-class="ghost"
handle=".anticon-holder"
>
<template #item="{ index }">
<ARow>
<ACol :span="2">
<HolderOutlined class="p-2" />
</ACol>
<ACol :span="20">
<AInput
v-model:value="data.server.recursive_nameservers[index]"
:status="errors?.server?.recursive_nameservers?.[index] ? 'error' : undefined"
placeholder="8.8.8.8:53"
class="mb-4"
/>
</ACol>
<ACol :span="2">
<APopconfirm
:title="$gettext('Are you sure you want to remove this item?')"
:ok-text="$gettext('Yes')"
:cancel-text="$gettext('No')"
@confirm="data.server.recursive_nameservers.splice(index, 1)"
>
<AButton
type="link"
danger
>
<DeleteOutlined />
</AButton>
</APopconfirm>
</ACol>
</ARow>
</template>
</Draggable>
</AFormItem>
</AForm>
</template>

View file

@ -22,6 +22,7 @@ const data = ref<Settings>({
ca_dir: '',
node_secret: '',
cert_renewal_interval: 7,
recursive_nameservers: [],
},
nginx: {
access_log_path: '',

View file

@ -11,6 +11,7 @@ export interface Settings {
email: string
ca_dir: string
cert_renewal_interval: number
recursive_nameservers: string[]
}
nginx: {
access_log_path: string

View file

@ -7,12 +7,13 @@
"docs:preview": "vitepress preview"
},
"dependencies": {
"vue": "^3.4.19",
"vitepress": "^1.0.0-rc.43"
"vue": "^3.4.26",
"vitepress": "^1.1.4"
},
"devDependencies": {
"@types/node": "^20.1.0",
"less": "^4.1.3"
"@types/node": "^20.12.8",
"less": "^4.2.0"
},
"license": "AGPL-3.0"
"license": "AGPL-3.0",
"packageManager": "pnpm@9.0.6+sha256.0624e30eff866cdeb363b15061bdb7fd9425b17bc1bb42c22f5f4efdea21f6b3"
}

645
docs/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,7 @@ import (
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/query"
"github.com/0xJacky/Nginx-UI/settings"
"github.com/go-acme/lego/v4/challenge/dns01"
"github.com/go-acme/lego/v4/challenge/http01"
"github.com/go-acme/lego/v4/lego"
legolog "github.com/go-acme/lego/v4/log"
@ -116,7 +117,15 @@ func IssueCert(payload *ConfigPayload, logChan chan string, errChan chan error)
if err != nil {
break
}
err = client.Challenge.SetDNS01Provider(provider)
challengeOptions := make([]dns01.ChallengeOption, 0)
if len(settings.ServerSettings.RecursiveNameservers) > 0 {
challengeOptions = append(challengeOptions,
dns01.AddRecursiveNameservers(settings.ServerSettings.RecursiveNameservers),
)
}
err = client.Challenge.SetDNS01Provider(provider, challengeOptions...)
} else {
errChan <- errors.Wrap(err, "environment configuration is empty")
return

View file

@ -18,7 +18,8 @@ type Server struct {
Demo bool `json:"demo" protected:"true"`
PageSize int `json:"page_size" protected:"true"`
GithubProxy string `json:"github_proxy" binding:"omitempty,url"`
CertRenewalInterval int `json:"cert_renewal_interval" binging:"min=7,max=21"`
CertRenewalInterval int `json:"cert_renewal_interval" binding:"min=7,max=21"`
RecursiveNameservers []string `json:"recursive_nameservers" binding:"omitempty,dive,hostname_port"`
}
func (s *Server) GetCADir() string {
@ -55,4 +56,5 @@ var ServerSettings = Server{
CADir: "",
GithubProxy: "",
CertRenewalInterval: 7,
RecursiveNameservers: make([]string, 0),
}