chore: update deps

This commit is contained in:
Jacky 2025-04-17 18:43:34 +08:00
parent 5b26763a5f
commit 61ff392c5c
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
39 changed files with 940 additions and 426 deletions

1
app/components.d.ts vendored
View file

@ -71,6 +71,7 @@ declare module 'vue' {
ATag: typeof import('ant-design-vue/es')['Tag']
ATextarea: typeof import('ant-design-vue/es')['Textarea']
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger']
BreadcrumbBreadcrumb: typeof import('./src/components/Breadcrumb/Breadcrumb.vue')['default']
ChartAreaChart: typeof import('./src/components/Chart/AreaChart.vue')['default']
ChartRadialBarChart: typeof import('./src/components/Chart/RadialBarChart.vue')['default']

View file

@ -4,6 +4,72 @@
const notifications: Record<string, { title: () => string, content: (args: any) => string }> = {
// cluster module notifications
'Reload Remote Nginx Error': {
title: () => $gettext('Reload Remote Nginx Error'),
content: (args: any) => $gettext('Reload Nginx on %{node} failed, response: %{resp}', args),
},
'Reload Remote Nginx Success': {
title: () => $gettext('Reload Remote Nginx Success'),
content: (args: any) => $gettext('Reload Nginx on %{node} successfully', args),
},
'Restart Remote Nginx Error': {
title: () => $gettext('Restart Remote Nginx Error'),
content: (args: any) => $gettext('Restart Nginx on %{node} failed, response: %{resp}', args),
},
'Restart Remote Nginx Success': {
title: () => $gettext('Restart Remote Nginx Success'),
content: (args: any) => $gettext('Restart Nginx on %{node} successfully', args),
},
// cert module notifications
'Certificate Expired': {
title: () => $gettext('Certificate Expired'),
content: (args: any) => $gettext('Certificate %{name} has expired', args),
},
'Certificate Expiration Notice': {
title: () => $gettext('Certificate Expiration Notice'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon_1': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon_2': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in 1 day', args),
},
'Sync Certificate Error': {
title: () => $gettext('Sync Certificate Error'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args),
},
'Sync Certificate Success': {
title: () => $gettext('Sync Certificate Success'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args),
},
// config module notifications
'Sync Config Error': {
title: () => $gettext('Sync Config Error'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args),
},
'Sync Config Success': {
title: () => $gettext('Sync Config Success'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args),
},
'Rename Remote Config Error': {
title: () => $gettext('Rename Remote Config Error'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args),
},
'Rename Remote Config Success': {
title: () => $gettext('Rename Remote Config Success'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args),
},
// site module notifications
'Delete Remote Site Error': {
title: () => $gettext('Delete Remote Site Error'),
@ -109,72 +175,6 @@ const notifications: Record<string, { title: () => string, content: (args: any)
title: () => $gettext('All Recovery Codes Have Been Used'),
content: (args: any) => $gettext('Please generate new recovery codes in the preferences immediately to prevent lockout.', args),
},
// cluster module notifications
'Reload Remote Nginx Error': {
title: () => $gettext('Reload Remote Nginx Error'),
content: (args: any) => $gettext('Reload Nginx on %{node} failed, response: %{resp}', args),
},
'Reload Remote Nginx Success': {
title: () => $gettext('Reload Remote Nginx Success'),
content: (args: any) => $gettext('Reload Nginx on %{node} successfully', args),
},
'Restart Remote Nginx Error': {
title: () => $gettext('Restart Remote Nginx Error'),
content: (args: any) => $gettext('Restart Nginx on %{node} failed, response: %{resp}', args),
},
'Restart Remote Nginx Success': {
title: () => $gettext('Restart Remote Nginx Success'),
content: (args: any) => $gettext('Restart Nginx on %{node} successfully', args),
},
// cert module notifications
'Certificate Expired': {
title: () => $gettext('Certificate Expired'),
content: (args: any) => $gettext('Certificate %{name} has expired', args),
},
'Certificate Expiration Notice': {
title: () => $gettext('Certificate Expiration Notice'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon_1': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args),
},
'Certificate Expiring Soon_2': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in 1 day', args),
},
'Sync Certificate Error': {
title: () => $gettext('Sync Certificate Error'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args),
},
'Sync Certificate Success': {
title: () => $gettext('Sync Certificate Success'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args),
},
// config module notifications
'Sync Config Error': {
title: () => $gettext('Sync Config Error'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args),
},
'Sync Config Success': {
title: () => $gettext('Sync Config Success'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args),
},
'Rename Remote Config Error': {
title: () => $gettext('Rename Remote Config Error'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args),
},
'Rename Remote Config Success': {
title: () => $gettext('Rename Remote Config Success'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args),
},
}
export default notifications

View file

@ -1,3 +1,4 @@
export default {
50006: () => $gettext('Path: {0} is not under the nginx conf dir: {1}'),
50007: () => $gettext('Destination file: {0} already exists'),
}

View file

@ -0,0 +1,3 @@
export default {
400: () => $gettext('Code completion is not enabled'),
}

View file

@ -914,7 +914,7 @@ msgstr "قم بتخصيص اسم العقدة المحلية ليتم عرضها
msgid "Dashboard"
msgstr "لوحة المعلومات"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "قاعدة البيانات (اختياري، الافتراضي: قاعدة البيانات)"
@ -1279,7 +1279,7 @@ msgstr "تعديل البث"
msgid "Email"
msgstr "بريد إلكتروني"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "البريد الإلكتروني (*)"
@ -2039,11 +2039,11 @@ msgstr "أدخل رمز الاسترداد:"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "تثبيت"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "تم التثبيت بنجاح"
@ -2051,7 +2051,7 @@ msgstr "تم التثبيت بنجاح"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2544,7 +2544,7 @@ msgstr "إجمالي استقبال الشبكة"
msgid "Network Total Send"
msgstr "إجمالي إرسال الشبكة"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "تثبيت"
@ -3011,7 +3011,7 @@ msgstr ""
msgid "Password"
msgstr "كلمة المرور"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "كلمة المرور (*)"
@ -3020,7 +3020,7 @@ msgstr "كلمة المرور (*)"
msgid "Password incorrect"
msgstr "اسم المستخدم أو كلمة المرور غير صحيحة"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3142,19 +3142,20 @@ msgid ""
"configuration."
msgstr "يرجى إدخال الاسم، سيتم استخدامه كاسم الملف للتكوين الجديد."
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "يرجى إدخال بريدك الإلكتروني!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "يرجى إدخال كلمة المرور الخاصة بك!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "يرجى إدخال اسم المستخدم الخاص بك!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3577,7 +3578,7 @@ msgstr "إعادة التشغيل"
msgid "Restore completed successfully"
msgstr "تم الحذف بنجاح"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "نظام"
@ -4121,7 +4122,8 @@ msgstr "مستخدم النظام الأولي"
msgid "System Restore"
msgstr "نظام"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "تم إعادة تشغيل Nginx بنجاح"
@ -4153,7 +4155,7 @@ msgstr ""
"سيتم فحص شهادة النطاق لمدة 30 دقيقة، وسيتم تجديدها إذا مر أكثر من أسبوع أو "
"الفترة التي حددتها في الإعدادات منذ إصدارها الأخير."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "لا يمكن أن يحتوي اسم الملف على الأحرف التالية: %{c}"
@ -4567,7 +4569,7 @@ msgstr ""
msgid "Username"
msgstr "اسم المستخدم"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "اسم المستخدم (*)"

View file

@ -939,7 +939,7 @@ msgstr ""
msgid "Dashboard"
msgstr "Übersicht"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Datenbank (Optional, Standard: database)"
@ -1319,7 +1319,7 @@ msgstr "Seite bearbeiten"
msgid "Email"
msgstr "Email (*)"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Email (*)"
@ -2090,11 +2090,11 @@ msgstr "Füge den Wiederherstellungscode ein:"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Installieren"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
#, fuzzy
msgid "Install successfully"
msgstr "Aktualisierung erfolgreich"
@ -2103,7 +2103,7 @@ msgstr "Aktualisierung erfolgreich"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2616,7 +2616,7 @@ msgstr "Gesamter Netzwerkempfang"
msgid "Network Total Send"
msgstr "Gesamter Netzwerkversand"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Installieren"
@ -3096,7 +3096,7 @@ msgstr ""
msgid "Password"
msgstr "Passwort"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Passwort (*)"
@ -3105,7 +3105,7 @@ msgstr "Passwort (*)"
msgid "Password incorrect"
msgstr "Benuztername oder Passwort ist falsch"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr "Passwort darf nicht länger als 20 Zeichen sein"
@ -3237,19 +3237,20 @@ msgstr ""
"Bitte gib einen Namen ein, der als Dateiname der neuen Konfiguration "
"verwendet wird."
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "Bitte gib deine E-Mail-Adresse ein!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "Bitte gib dein Passwort ein!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "Bitte gib deinen Benutzernamen ein!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3695,7 +3696,7 @@ msgstr "Starte neu"
msgid "Restore completed successfully"
msgstr "Erfolgreich deaktiviert"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "System"
@ -4254,7 +4255,8 @@ msgstr "System-Startbenutzer"
msgid "System Restore"
msgstr "System"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Speichern erfolgreich"
@ -4287,7 +4289,7 @@ msgstr ""
"Das Zertifikat für die Domain wird alle Stunde überprüft und erneuert, wenn "
"es seit der letzten Ausstellung vor mehr als 1 Monat ausgestellt wurde."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Der Dateiname darf die folgenden Zeichen nicht enthalten: %{c}"
@ -4707,7 +4709,7 @@ msgstr ""
msgid "Username"
msgstr "Benutzername"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Benutzername (*)"

View file

@ -929,7 +929,7 @@ msgstr ""
msgid "Dashboard"
msgstr "Dashboard"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Database (Optional, default: database)"
@ -1304,7 +1304,7 @@ msgstr "Edit Site"
msgid "Email"
msgstr "Email (*)"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Email (*)"
@ -2067,11 +2067,11 @@ msgstr ""
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Install"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
#, fuzzy
msgid "Install successfully"
msgstr "Enabled successfully"
@ -2080,7 +2080,7 @@ msgstr "Enabled successfully"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2588,7 +2588,7 @@ msgstr "Network Total Receive"
msgid "Network Total Send"
msgstr "Network Total Send"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Install"
@ -3056,7 +3056,7 @@ msgstr ""
msgid "Password"
msgstr "Password"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Password (*)"
@ -3065,7 +3065,7 @@ msgstr "Password (*)"
msgid "Password incorrect"
msgstr "Password"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3185,19 +3185,20 @@ msgid ""
"configuration."
msgstr ""
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "Please input your E-mail!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "Please input your password!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "Please input your username!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3637,7 +3638,7 @@ msgstr ""
msgid "Restore completed successfully"
msgstr "Disabled successfully"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Created at"
@ -4197,7 +4198,8 @@ msgstr ""
msgid "System Restore"
msgstr ""
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Saved successfully"
@ -4230,7 +4232,7 @@ msgstr ""
"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."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}"
@ -4627,7 +4629,7 @@ msgstr ""
msgid "Username"
msgstr "Username"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Username (*)"

View file

@ -915,7 +915,7 @@ msgstr ""
msgid "Dashboard"
msgstr "Panel"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Base de datos (Opcional, default: database)"
@ -1279,7 +1279,7 @@ msgstr "Editar Transmisión"
msgid "Email"
msgstr "Correo"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Correo (*)"
@ -2042,11 +2042,11 @@ msgstr "Ingrese el código de recuperación:"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Instalar"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "Instalación exitosa"
@ -2054,7 +2054,7 @@ msgstr "Instalación exitosa"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2547,7 +2547,7 @@ msgstr "Total recibido por la red"
msgid "Network Total Send"
msgstr "Total enviado por la red"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Instalar"
@ -3020,7 +3020,7 @@ msgstr ""
msgid "Password"
msgstr "Contraseña"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Contraseña (*)"
@ -3029,7 +3029,7 @@ msgstr "Contraseña (*)"
msgid "Password incorrect"
msgstr "El nombre de usuario o contraseña son incorrectos"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3160,19 +3160,20 @@ msgstr ""
"Ingrese el nombre por favor, este se usará como el nombre de archivo de la "
"nueva configuración."
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "¡Por favor ingrese su correo electrónico!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "¡Por favor ingrese su contraseña!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "¡Por favor ingrese su nombre de usuario!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3605,7 +3606,7 @@ msgstr "Reiniciando"
msgid "Restore completed successfully"
msgstr "Borrado exitoso"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Sistema"
@ -4152,7 +4153,8 @@ msgstr "Usuario inicial del sistema"
msgid "System Restore"
msgstr "Sistema"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Nginx reiniciado con éxito"
@ -4185,7 +4187,7 @@ msgstr ""
"renovado si ha pasado más de 1 semana o el período que configuró en ajustes "
"desde que fue emitido por última vez."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
"El nombre del archivo no puede contener los siguientes caracteres: %{c}"
@ -4609,7 +4611,7 @@ msgstr ""
msgid "Username"
msgstr "Nombre de usuario"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Nombre de usuario (*)"

View file

@ -945,7 +945,7 @@ msgstr ""
msgid "Dashboard"
msgstr "Dashboard"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Base de données (Facultatif, par défaut : database)"
@ -1326,7 +1326,7 @@ msgstr "Modifier le site"
msgid "Email"
msgstr "Email (*)"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Email (*)"
@ -2109,11 +2109,11 @@ msgstr "Entrez le code de récupération :"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Installer"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "Installé avec succès"
@ -2121,7 +2121,7 @@ msgstr "Installé avec succès"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2628,7 +2628,7 @@ msgstr "Réception totale du réseau"
msgid "Network Total Send"
msgstr "Envoi total réseau"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Installer"
@ -3096,7 +3096,7 @@ msgstr ""
msgid "Password"
msgstr "Mot de passe"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Mot de passe (*)"
@ -3105,7 +3105,7 @@ msgstr "Mot de passe (*)"
msgid "Password incorrect"
msgstr "Le pseudo ou mot de passe est incorect"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3231,19 +3231,20 @@ msgstr ""
"Veuillez entrer le nom, il sera utilisé comme nom de fichier de la nouvelle "
"configuration."
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "Veuillez saisir votre e-mail !"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "Veuillez saisir votre mot de passe !"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "Veuillez saisir votre nom d'utilisateur !"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3689,7 +3690,7 @@ msgstr "Redémarrage"
msgid "Restore completed successfully"
msgstr "Désactivé avec succès"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Système"
@ -4248,7 +4249,8 @@ msgstr ""
msgid "System Restore"
msgstr "Système"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Nginx a redémarré avec succès"
@ -4281,7 +4283,7 @@ msgstr ""
"Le certificat du domaine sera vérifié toutes les heures et sera renouvelé "
"s'il s'est écoulé plus d'une semaine depuis sa dernière émission."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}"
@ -4683,7 +4685,7 @@ msgstr ""
msgid "Username"
msgstr "Nom d'utilisateur"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Nom d'utilisateur (*)"

View file

@ -904,7 +904,7 @@ msgstr ""
msgid "Dashboard"
msgstr "대시보드"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "데이터베이스 (선택사항, 기본값: database)"
@ -1269,7 +1269,7 @@ msgstr "스트림 편집"
msgid "Email"
msgstr "이메일 (*)"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "이메일 (*)"
@ -2027,11 +2027,11 @@ msgstr ""
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "설치"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
#, fuzzy
msgid "Install successfully"
msgstr "성공적으로 활성화됨"
@ -2040,7 +2040,7 @@ msgstr "성공적으로 활성화됨"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2548,7 +2548,7 @@ msgstr "네트워크 총 수신"
msgid "Network Total Send"
msgstr "네트워크 총 송신"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "설치"
@ -3018,7 +3018,7 @@ msgstr ""
msgid "Password"
msgstr "비밀번호"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "비밀번호 (*)"
@ -3027,7 +3027,7 @@ msgstr "비밀번호 (*)"
msgid "Password incorrect"
msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3149,19 +3149,20 @@ msgid ""
"configuration."
msgstr "이름을 입력해주세요, 이것은 새 구성의 파일 이름으로 사용될 것입니다!"
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "이메일을 입력해주세요!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "비밀번호를 입력해주세요!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "사용자 이름을 입력해주세요!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3609,7 +3610,7 @@ msgstr "재시작 중"
msgid "Restore completed successfully"
msgstr "성공적으로 삭제됨"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "시스템"
@ -4164,7 +4165,8 @@ msgstr ""
msgid "System Restore"
msgstr "시스템"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Nginx가 성공적으로 재시작됨"
@ -4197,7 +4199,7 @@ msgstr ""
"도메인의 인증서는 매 시간 확인되며,마지막으로 발급된 지 1개월이 경과한 경우 "
"갱신됩니다."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "파일 이름은 다음 문자를 포함할 수 없습니다: %{c}"
@ -4597,7 +4599,7 @@ msgstr ""
msgid "Username"
msgstr "사용자 이름"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "사용자 이름 (*)"

View file

@ -858,7 +858,7 @@ msgstr ""
msgid "Dashboard"
msgstr ""
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr ""
@ -1200,7 +1200,7 @@ msgstr ""
msgid "Email"
msgstr ""
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr ""
@ -1887,11 +1887,11 @@ msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8
#: src/views/other/Install.vue:185
#: src/views/install/Install.vue:185
msgid "Install"
msgstr ""
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr ""
@ -1899,7 +1899,7 @@ msgstr ""
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid "Installation is not allowed after 10 minutes of system startup, please restart the Nginx UI."
msgstr ""
@ -2361,7 +2361,7 @@ msgstr ""
msgid "Network Total Send"
msgstr ""
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
msgid "New Installation"
msgstr ""
@ -2796,7 +2796,7 @@ msgstr ""
msgid "Password"
msgstr ""
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr ""
@ -2804,7 +2804,7 @@ msgstr ""
msgid "Password incorrect"
msgstr ""
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -2907,21 +2907,21 @@ msgstr ""
msgid "Please input name, this will be used as the filename of the new configuration."
msgstr ""
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr ""
#: src/views/other/Install.vue:70
#: src/views/install/Install.vue:70
#: src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr ""
#: src/views/other/Install.vue:64
#: src/views/install/Install.vue:64
#: src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr ""
#: src/views/other/Install.vue:110
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3315,7 +3315,7 @@ msgstr ""
msgid "Restore completed successfully"
msgstr ""
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
msgid "Restore from Backup"
msgstr ""
@ -3816,7 +3816,7 @@ msgstr ""
msgid "System Restore"
msgstr ""
#: src/views/other/Install.vue:106
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
msgid "System restored successfully."
msgstr ""
@ -3843,7 +3843,7 @@ msgstr ""
msgid "The certificate for the domain will be checked 30 minutes, and will be renewed if it has been more than 1 week or the period you set in settings since it was last issued."
msgstr ""
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
@ -4181,7 +4181,7 @@ msgstr ""
msgid "Username"
msgstr ""
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr ""

View file

@ -901,7 +901,7 @@ msgstr "Настройте имя локального сервера для о
msgid "Dashboard"
msgstr "Доска"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "База данных (Опционально, по умолчанию: database)"
@ -1266,7 +1266,7 @@ msgstr "Редактировать поток"
msgid "Email"
msgstr "Электронная почта"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Email (*)"
@ -2025,11 +2025,11 @@ msgstr "Введите код восстановления:"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Установить"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "Установка прошла успешно"
@ -2037,7 +2037,7 @@ msgstr "Установка прошла успешно"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2527,7 +2527,7 @@ msgstr "Всего получено"
msgid "Network Total Send"
msgstr "Всего отправлено"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Установить"
@ -2992,7 +2992,7 @@ msgstr ""
msgid "Password"
msgstr "Пароль"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Пароль (*)"
@ -3001,7 +3001,7 @@ msgstr "Пароль (*)"
msgid "Password incorrect"
msgstr "Имя пользователя или пароль неверны"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3130,19 +3130,20 @@ msgstr ""
"Введите имя, оно будет использоваться в качестве имени файла новой "
"конфигурации."
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "Введите ваш E-mail!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "Введите ваш пароль!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "Введите ваше имя пользователя!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3572,7 +3573,7 @@ msgstr "Перезапускается"
msgid "Restore completed successfully"
msgstr "Удалено успешно"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Система"
@ -4116,7 +4117,8 @@ msgstr "Первоначальный пользователь системы"
msgid "System Restore"
msgstr "Система"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Nginx успешно перезапущен"
@ -4149,7 +4151,7 @@ msgstr ""
"более 1 недели или периода, установленного в настройках, с момента его "
"последней выдачи."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Имя файла не может содержать такой символ: %{c}"
@ -4565,7 +4567,7 @@ msgstr ""
msgid "Username"
msgstr "Имя пользователя"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Имя пользователя (*)"

View file

@ -903,7 +903,7 @@ msgstr "Ortam göstergesinde görüntülenecek yerel sunucu adını özelleştir
msgid "Dashboard"
msgstr "Kontrol Paneli"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Veritabanı (İsteğe bağlı, varsayılan: database)"
@ -1285,7 +1285,7 @@ msgstr "Akışı Düzenle"
msgid "Email"
msgstr "E-posta"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "E-posta(*)"
@ -2059,11 +2059,11 @@ msgstr "Kurtarma kodunu girin:"
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Yükle"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "Başarıyla yüklendi"
@ -2071,7 +2071,7 @@ msgstr "Başarıyla yüklendi"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2583,7 +2583,7 @@ msgstr "Ağ Toplam Alım"
msgid "Network Total Send"
msgstr "Ağ Toplam Gönderme"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Yükle"
@ -3092,7 +3092,7 @@ msgstr ""
msgid "Password"
msgstr "Şifre"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
#, fuzzy
msgid "Password (*)"
msgstr "Şifre (*)"
@ -3102,7 +3102,7 @@ msgstr "Şifre (*)"
msgid "Password incorrect"
msgstr "Kullanıcı adı veya şifre yanlış"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3243,22 +3243,23 @@ msgid ""
msgstr ""
"Lütfen isim girin, bu yeni yapılandırmanın dosya adı olarak kullanılacaktır!"
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
#, fuzzy
msgid "Please input your E-mail!"
msgstr "Lütfen e-postanızı girin!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
#, fuzzy
msgid "Please input your password!"
msgstr "Lütfen şifrenizi girin!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
#, fuzzy
msgid "Please input your username!"
msgstr "Lütfen kullanıcı adınızı girin!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3743,7 +3744,7 @@ msgstr "Yeniden Başlatma"
msgid "Restore completed successfully"
msgstr "Başarıyla silindi"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Sistem"
@ -4335,7 +4336,8 @@ msgstr "Sistem İlk Kullanıcısı"
msgid "System Restore"
msgstr "Sistem"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Nginx başarıyla yeniden başlatıldı"
@ -4371,7 +4373,7 @@ msgstr ""
"verilmesinden bu yana 1 haftadan veya ayarlarda belirlediğiniz süreden fazla "
"zaman geçtiyse yenilenecektir."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
#, fuzzy
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Dosya adı aşağıdaki karakterleri içeremez: %{c}"
@ -4829,7 +4831,7 @@ msgstr ""
msgid "Username"
msgstr "Kullanıcı Adı"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
#, fuzzy
msgid "Username (*)"
msgstr "Kullanıcı adı (*)"

View file

@ -434,7 +434,9 @@ msgstr ""
#: src/views/dashboard/components/PerformanceStatisticsCard.vue:43
#: src/views/dashboard/components/PerformanceTablesCard.vue:190
msgid "Calculated based on worker_processes * worker_connections. Actual performance depends on hardware, configuration, and workload"
msgid ""
"Calculated based on worker_processes * worker_connections. Actual "
"performance depends on hardware, configuration, and workload"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:356
@ -576,7 +578,9 @@ msgid "Check again"
msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/https-check.ts:11
msgid "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features."
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:26
@ -592,11 +596,15 @@ msgid "Check if the nginx.conf includes the streams-enabled directory."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:6
msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory."
msgid ""
"Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory."
msgstr ""
#: src/views/system/SelfCheck/tasks/backend/index.ts:11
msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory."
msgid ""
"Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory."
msgstr ""
#: src/constants/errors/crypto.ts:3
@ -800,7 +808,9 @@ msgid "Create Folder"
msgstr ""
#: src/views/system/Backup/BackupCreator.vue:75
msgid "Create system backups including Nginx configuration and Nginx UI settings. Backup files will be automatically downloaded to your computer."
msgid ""
"Create system backups including Nginx configuration and Nginx UI settings. "
"Backup files will be automatically downloaded to your computer."
msgstr ""
#: src/views/environments/group/columns.ts:31
@ -857,7 +867,9 @@ msgid "Custom"
msgstr ""
#: src/views/preference/NodeSettings.vue:19
msgid "Customize the name of local node to be displayed in the environment indicator."
msgid ""
"Customize the name of local node to be displayed in the environment "
"indicator."
msgstr ""
#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110
@ -865,7 +877,7 @@ msgstr ""
msgid "Dashboard"
msgstr ""
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr ""
@ -1159,7 +1171,9 @@ msgid "Dry run mode enabled"
msgstr ""
#: src/views/preference/components/AddPasskey.vue:101
msgid "Due to the security policies of some browsers, you cannot use passkeys on non-HTTPS websites, except when running on localhost."
msgid ""
"Due to the security policies of some browsers, you cannot use passkeys on "
"non-HTTPS websites, except when running on localhost."
msgstr ""
#: src/views/site/site_list/SiteDuplicate.vue:72
@ -1200,7 +1214,7 @@ msgstr ""
msgid "Email"
msgstr ""
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr ""
@ -1669,7 +1683,9 @@ msgid "First View"
msgstr ""
#: src/views/preference/components/AddPasskey.vue:71
msgid "Follow the instructions in the dialog to complete the passkey registration process."
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
"process."
msgstr ""
#: src/views/preference/NodeSettings.vue:42
@ -1802,15 +1818,21 @@ msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/nginx_log/NginxLogList.vue:81
msgid "If logs are not indexed, please check if the log file is under the directory in Nginx.LogDirWhiteList."
msgid ""
"If logs are not indexed, please check if the log file is under the directory "
"in Nginx.LogDirWhiteList."
msgstr ""
#: src/views/preference/AuthSettings.vue:145
msgid "If the number of login failed attempts from a ip reach the max attempts in ban threshold minutes, the ip will be banned for a period of time."
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:117
msgid "If you want to automatically revoke the old certificate, please enable this option."
msgid ""
"If you want to automatically revoke the old certificate, please enable this "
"option."
msgstr ""
#: src/views/preference/components/AddPasskey.vue:70
@ -1818,7 +1840,9 @@ msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:108
msgid "If your domain has CNAME records and you cannot obtain certificates, you need to enable this option."
msgid ""
"If your domain has CNAME records and you cannot obtain certificates, you "
"need to enable this option."
msgstr ""
#: src/views/certificate/CertificateList/Certificate.vue:22
@ -1835,7 +1859,9 @@ msgid "Inactive Time"
msgstr ""
#: src/views/dashboard/components/ProcessDistributionCard.vue:54
msgid "Includes master process, worker processes, cache processes, and other Nginx processes"
msgid ""
"Includes master process, worker processes, cache processes, and other Nginx "
"processes"
msgstr ""
#: src/views/nginx_log/NginxLogList.vue:89
@ -1877,11 +1903,11 @@ msgstr ""
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr ""
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr ""
@ -1889,8 +1915,10 @@ msgstr ""
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
msgid "Installation is not allowed after 10 minutes of system startup, please restart the Nginx UI."
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
msgstr ""
#: src/views/preference/LogrotateSettings.vue:25
@ -1979,7 +2007,9 @@ msgid "Jwt Secret"
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:74
msgid "Keep your recovery codes as safe as your password. We recommend saving them with a password manager."
msgid ""
"Keep your recovery codes as safe as your password. We recommend saving them "
"with a password manager."
msgstr ""
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60
@ -2127,7 +2157,13 @@ msgid "Logrotate"
msgstr ""
#: src/views/preference/LogrotateSettings.vue:12
msgid "Logrotate, by default, is enabled in most mainstream Linux distributions for users who install Nginx UI on the host machine, so you don't need to modify the parameters on this page. For users who install Nginx UI using Docker containers, you can manually enable this option. The crontab task scheduler of Nginx UI will execute the logrotate command at the interval you set in minutes."
msgid ""
"Logrotate, by default, is enabled in most mainstream Linux distributions for "
"users who install Nginx UI on the host machine, so you don't need to modify "
"the parameters on this page. For users who install Nginx UI using Docker "
"containers, you can manually enable this option. The crontab task scheduler "
"of Nginx UI will execute the logrotate command at the interval you set in "
"minutes."
msgstr ""
#: src/views/site/components/SiteStatusSegmented.vue:138
@ -2145,7 +2181,9 @@ msgid "Maintenance mode enabled successfully"
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:53
msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate."
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate."
msgstr ""
#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115
@ -2341,7 +2379,7 @@ msgstr ""
msgid "Network Total Send"
msgstr ""
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
msgid "New Installation"
msgstr ""
@ -2507,7 +2545,9 @@ msgid "Nginx UI configuration has been restored"
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:336
msgid "Nginx UI configuration has been restored and will restart automatically in a few seconds."
msgid ""
"Nginx UI configuration has been restored and will restart automatically in a "
"few seconds."
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:374
@ -2589,7 +2629,9 @@ msgstr ""
#: src/views/site/site_edit/RightSettings.vue:85
#: src/views/stream/components/RightSettings.vue:118
msgid "Note, if the configuration file include other configurations or certificates, please synchronize them to the remote nodes in advance."
msgid ""
"Note, if the configuration file include other configurations or "
"certificates, please synchronize them to the remote nodes in advance."
msgstr ""
#: src/views/notification/Notification.vue:28
@ -2637,7 +2679,9 @@ msgid "OCSP Must Staple"
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:99
msgid "OCSP Must Staple may cause errors for some users on first access using Firefox."
msgid ""
"OCSP Must Staple may cause errors for some users on first access using "
"Firefox."
msgstr ""
#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73
@ -2765,14 +2809,17 @@ msgid "Passkey"
msgstr ""
#: src/views/preference/components/Passkey.vue:62
msgid "Passkeys are webauthn credentials that validate your identity using touch, facial recognition, a device password, or a PIN. They can be used as a password replacement or as a 2FA method."
msgid ""
"Passkeys are webauthn credentials that validate your identity using touch, "
"facial recognition, a device password, or a PIN. They can be used as a "
"password replacement or as a 2FA method."
msgstr ""
#: src/views/other/Login.vue:183 src/views/user/userColumns.tsx:18
msgid "Password"
msgstr ""
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr ""
@ -2780,7 +2827,7 @@ msgstr ""
msgid "Password incorrect"
msgstr ""
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -2828,11 +2875,15 @@ msgid "Plain text is empty"
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:174
msgid "Please enable the stub_status module to get request statistics, connection count, etc."
msgid ""
"Please enable the stub_status module to get request statistics, connection "
"count, etc."
msgstr ""
#: src/views/preference/components/AddPasskey.vue:69
msgid "Please enter a name for the passkey you wish to create and click the OK button below."
msgid ""
"Please enter a name for the passkey you wish to create and click the OK "
"button below."
msgstr ""
#: src/components/TwoFA/Authorization.vue:85
@ -2849,7 +2900,9 @@ msgid "Please enter the security token received during backup"
msgstr ""
#: src/views/certificate/DNSCredential.vue:53
msgid "Please fill in the API authentication credentials provided by your DNS provider."
msgid ""
"Please fill in the API authentication credentials provided by your DNS "
"provider."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:106
@ -2857,12 +2910,16 @@ msgid "Please fill in the required fields"
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:57
msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider."
msgid ""
"Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider."
msgstr ""
#: src/components/Notification/notifications.ts:110
#: src/language/constants.ts:59
msgid "Please generate new recovery codes in the preferences immediately to prevent lockout."
msgid ""
"Please generate new recovery codes in the preferences immediately to prevent "
"lockout."
msgstr ""
#: src/views/config/components/Rename.vue:65
@ -2875,31 +2932,37 @@ msgid "Please input a folder name"
msgstr ""
#: src/views/stream/components/StreamDuplicate.vue:25
msgid "Please input name, this will be used as the filename of the new configuration!"
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration!"
msgstr ""
#: src/views/site/site_list/SiteDuplicate.vue:33
msgid "Please input name, this will be used as the filename of the new configuration."
msgid ""
"Please input name, this will be used as the filename of the new "
"configuration."
msgstr ""
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr ""
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr ""
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr ""
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
#: src/views/certificate/DNSCredential.vue:62
msgid "Please note that the unit of time configurations below are all in seconds."
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/system/Backup/BackupCreator.vue:107
@ -3020,7 +3083,9 @@ msgid "Recovery Codes"
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:73
msgid "Recovery codes are used to access your account when you lose access to your 2FA device. Each code can only be used once."
msgid ""
"Recovery codes are used to access your account when you lose access to your "
"2FA device. Each code can only be used once."
msgstr ""
#: src/views/preference/CertSettings.vue:40
@ -3036,7 +3101,9 @@ msgid "Register"
msgstr ""
#: src/views/certificate/ACMEUser.vue:56
msgid "Register a user or use this account to issue a certificate through an HTTP proxy."
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:106
@ -3237,7 +3304,10 @@ msgid "Reset 2FA"
msgstr ""
#: src/views/dashboard/components/ResourceUsageCard.vue:53
msgid "Resident Set Size: Actual memory resident in physical memory, including all shared library memory, which will be repeated calculated for multiple processes"
msgid ""
"Resident Set Size: Actual memory resident in physical memory, including all "
"shared library memory, which will be repeated calculated for multiple "
"processes"
msgstr ""
#: src/composables/usePerformanceMetrics.ts:109
@ -3283,7 +3353,7 @@ msgstr ""
msgid "Restore completed successfully"
msgstr ""
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
msgid "Restore from Backup"
msgstr ""
@ -3316,7 +3386,9 @@ msgid "Revoke this certificate"
msgstr ""
#: src/views/certificate/components/RemoveCert.vue:117
msgid "Revoking a certificate will affect any services currently using it. This action cannot be undone."
msgid ""
"Revoking a certificate will affect any services currently using it. This "
"action cannot be undone."
msgstr ""
#: src/views/preference/AuthSettings.vue:107
@ -3478,7 +3550,9 @@ msgid "Session not found"
msgstr ""
#: src/views/preference/CertSettings.vue:36
msgid "Set the recursive nameservers to override the systems nameservers for the step of DNS challenge."
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
msgstr ""
#: src/views/site/components/SiteStatusSegmented.vue:89
@ -3498,11 +3572,15 @@ msgid "Setting HTTP01 challenge provider"
msgstr ""
#: src/constants/errors/nginx_log.ts:8
msgid "Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui.com/guide/config-nginx.html for more information"
msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
"com/guide/config-nginx.html for more information"
msgstr ""
#: src/constants/errors/nginx_log.ts:7
msgid "Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui.com/guide/config-nginx.html for more information"
msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
"com/guide/config-nginx.html for more information"
msgstr ""
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147
@ -3675,7 +3753,11 @@ msgid "Success"
msgstr ""
#: src/views/system/SelfCheck/tasks/frontend/websocket.ts:6
msgid "Support communication with the backend through the WebSocket protocol. If your Nginx UI is being used via an Nginx reverse proxy, please refer to this link to write the corresponding configuration file: https://nginxui.com/guide/nginx-proxy-example.html"
msgid ""
"Support communication with the backend through the WebSocket protocol. If "
"your Nginx UI is being used via an Nginx reverse proxy, please refer to this "
"link to write the corresponding configuration file: https://nginxui.com/"
"guide/nginx-proxy-example.html"
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:197
@ -3777,7 +3859,8 @@ msgstr ""
msgid "System Restore"
msgstr ""
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
msgid "System restored successfully."
msgstr ""
@ -3799,15 +3882,20 @@ msgid "Terminal Start Command"
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:49
msgid "The certificate for the domain will be checked 30 minutes, and will be renewed if it has been more than 1 week or the period you set in settings since it was last issued."
msgid ""
"The certificate for the domain will be checked 30 minutes, and will be "
"renewed if it has been more than 1 week or the period you set in settings "
"since it was last issued."
msgstr ""
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
#: src/views/preference/NodeSettings.vue:37
msgid "The ICP Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots."
msgid ""
"The ICP Number should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
#: src/views/certificate/components/CertificateEditor.vue:216
@ -3819,20 +3907,26 @@ msgid "The input is not a SSL Certificate Key"
msgstr ""
#: src/constants/errors/nginx_log.ts:2
msgid "The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
msgid ""
"The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
msgstr ""
#: src/views/preference/OpenAISettings.vue:23
#: src/views/preference/OpenAISettings.vue:89
msgid "The model name should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots."
msgid ""
"The model name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
#: src/views/preference/OpenAISettings.vue:90
msgid "The model used for code completion, if not set, the chat model will be used."
msgid ""
"The model used for code completion, if not set, the chat model will be used."
msgstr ""
#: src/views/preference/NodeSettings.vue:18
msgid "The node name should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots."
msgid ""
"The node name should only contain letters, unicode, numbers, hyphens, "
"dashes, colons, and dots."
msgstr ""
#: src/views/site/site_add/SiteAdd.vue:120
@ -3848,15 +3942,22 @@ msgid "The path exists, but the file is not a private key"
msgstr ""
#: src/views/preference/NodeSettings.vue:49
msgid "The Public Security Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots."
msgid ""
"The Public Security Number should only contain letters, unicode, numbers, "
"hyphens, dashes, colons, and dots."
msgstr ""
#: src/views/dashboard/Environments.vue:148
msgid "The remote Nginx UI version is not compatible with the local Nginx UI version. To avoid potential errors, please upgrade the remote Nginx UI to match the local version."
msgid ""
"The remote Nginx UI version is not compatible with the local Nginx UI "
"version. To avoid potential errors, please upgrade the remote Nginx UI to "
"match the local version."
msgstr ""
#: src/views/site/cert/components/AutoCertStepOne.vue:44
msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
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/CertSettings.vue:22
@ -3882,7 +3983,10 @@ msgid "Theoretical maximum RPS (Requests Per Second):"
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:104
msgid "These codes are the last resort for accessing your account in case you lose your password and second factors. If you cannot find these codes, you will lose access to your account."
msgid ""
"These codes are the last resort for accessing your account in case you lose "
"your password and second factors. If you cannot find these codes, you will "
"lose access to your account."
msgstr ""
#: src/views/certificate/components/CertificateEditor.vue:102
@ -3913,19 +4017,26 @@ msgid "This field should not be empty"
msgstr ""
#: src/constants/form_errors.ts:6
msgid "This field should only contain letters, unicode characters, numbers, and -_."
msgid ""
"This field should only contain letters, unicode characters, numbers, and -_."
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:153
msgid "This module provides Nginx request statistics, connection count, etc. data. After enabling it, you can view performance statistics"
msgid ""
"This module provides Nginx request statistics, connection count, etc. data. "
"After enabling it, you can view performance statistics"
msgstr ""
#: src/views/certificate/components/RemoveCert.vue:103
msgid "This operation will only remove the certificate from the database. The certificate files on the file system will not be deleted."
msgid ""
"This operation will only remove the certificate from the database. The "
"certificate files on the file system will not be deleted."
msgstr ""
#: src/views/system/Backup/BackupCreator.vue:141
msgid "This token will only be shown once and cannot be retrieved later. Please make sure to save it in a secure location."
msgid ""
"This token will only be shown once and cannot be retrieved later. Please "
"make sure to save it in a secure location."
msgstr ""
#: src/constants/form_errors.ts:4
@ -3934,16 +4045,21 @@ msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid "This will restore all Nginx configuration files. Nginx will restart after the restoration is complete."
msgid ""
"This will restore all Nginx configuration files. Nginx will restart after "
"the restoration is complete."
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:238
#: src/components/SystemRestore/SystemRestoreContent.vue:315
msgid "This will restore configuration files and database. Nginx UI will restart after the restoration is complete."
msgid ""
"This will restore configuration files and database. Nginx UI will restart "
"after the restoration is complete."
msgstr ""
#: src/views/environments/list/BatchUpgrader.vue:182
msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:124
@ -3957,7 +4073,9 @@ msgid "Tips"
msgstr ""
#: src/views/dashboard/components/PerformanceTablesCard.vue:206
msgid "Tips: You can increase the concurrency processing capacity by increasing worker_processes or worker_connections"
msgid ""
"Tips: You can increase the concurrency processing capacity by increasing "
"worker_processes or worker_connections"
msgstr ""
#: src/views/notification/notificationColumns.tsx:45
@ -3969,19 +4087,31 @@ msgid "To confirm revocation, please type \"Revoke\" in the field below:"
msgstr ""
#: src/views/preference/components/TOTP.vue:68
msgid "To enable it, you need to install the Google or Microsoft Authenticator app on your mobile phone."
msgid ""
"To enable it, you need to install the Google or Microsoft Authenticator app "
"on your mobile phone."
msgstr ""
#: src/views/preference/components/AddPasskey.vue:89
msgid "To ensure security, Webauthn configuration cannot be added through the UI. Please manually configure the following in the app.ini configuration file and restart Nginx UI."
msgid ""
"To ensure security, Webauthn configuration cannot be added through the UI. "
"Please manually configure the following in the app.ini configuration file "
"and restart Nginx UI."
msgstr ""
#: src/views/site/ngx_conf/NgxConfigEditor.vue:45
msgid "To make sure the certification auto-renewal can work normally, we need to add a location which can proxy the request from authority to backend, and we need to save this file and reload the Nginx. Are you sure you want to continue?"
msgid ""
"To make sure the certification auto-renewal can work normally, we need to "
"add a location which can proxy the request from authority to backend, and we "
"need to save this file and reload the Nginx. Are you sure you want to "
"continue?"
msgstr ""
#: src/views/preference/OpenAISettings.vue:36
msgid "To use a local large model, deploy it with ollama, vllm or lmdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API."
msgid ""
"To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
"local API."
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:57
@ -4031,7 +4161,9 @@ msgid "TOTP"
msgstr ""
#: src/views/preference/components/TOTP.vue:67
msgid "TOTP is a two-factor authentication method that uses a time-based one-time password algorithm."
msgid ""
"TOTP is a two-factor authentication method that uses a time-based one-time "
"password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:197
@ -4137,7 +4269,7 @@ msgstr ""
msgid "Username"
msgstr ""
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr ""
@ -4201,15 +4333,22 @@ msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:178
#: src/components/SystemRestore/SystemRestoreContent.vue:255
msgid "Warning: Restore operation will overwrite current configurations. Make sure you have a valid backup file and security token, and carefully select what to restore."
msgid ""
"Warning: Restore operation will overwrite current configurations. Make sure "
"you have a valid backup file and security token, and carefully select what "
"to restore."
msgstr ""
#: src/views/certificate/DNSCredential.vue:56
msgid "We will add one or more TXT records to the DNS records of your domain for ownership verification."
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/site/cert/components/ObtainCert.vue:137
msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?"
msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?"
msgstr ""
#: src/views/preference/AuthSettings.vue:97
@ -4225,19 +4364,28 @@ msgid "WebSocket connection error"
msgstr ""
#: src/views/certificate/ACMEUser.vue:83
msgid "When Enabled, Nginx UI will automatically re-register users upon startup. Generally, do not enable this unless you are in a dev environment and using Pebble as CA."
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/site/site_edit/RightSettings.vue:81
msgid "When you enable/disable, delete, or save this site, the nodes set in the Node Group and the nodes selected below will be synchronized."
msgid ""
"When you enable/disable, delete, or save this site, the nodes set in the "
"Node Group and the nodes selected below will be synchronized."
msgstr ""
#: src/views/stream/components/RightSettings.vue:114
msgid "When you enable/disable, delete, or save this stream, the nodes set in the Node Group and the nodes selected below will be synchronized."
msgid ""
"When you enable/disable, delete, or save this stream, the nodes set in the "
"Node Group and the nodes selected below will be synchronized."
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:140
msgid "When you generate new recovery codes, you must download or print the new codes."
msgid ""
"When you generate new recovery codes, you must download or print the new "
"codes."
msgstr ""
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160
@ -4282,7 +4430,9 @@ msgid "Yes"
msgstr ""
#: src/views/terminal/Terminal.vue:135
msgid "You are accessing this terminal over an insecure HTTP connection on a non-localhost domain. This may expose sensitive information."
msgid ""
"You are accessing this terminal over an insecure HTTP connection on a non-"
"localhost domain. This may expose sensitive information."
msgstr ""
#: src/views/system/Upgrade.vue:202
@ -4302,11 +4452,14 @@ msgid "You can close this dialog now"
msgstr ""
#: src/views/preference/components/AddPasskey.vue:87
msgid "You have not configured the settings of Webauthn, so you cannot add a passkey."
msgid ""
"You have not configured the settings of Webauthn, so you cannot add a "
"passkey."
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:81
msgid "You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
msgid ""
"You have not enabled 2FA yet. Please enable 2FA to generate recovery codes."
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:94
@ -4314,7 +4467,9 @@ msgid "You have not generated recovery codes yet."
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:91
msgid "Your current recovery code might be outdated and insecure. Please generate new recovery codes at your earliest convenience to ensure security."
msgid ""
"Your current recovery code might be outdated and insecure. Please generate "
"new recovery codes at your earliest convenience to ensure security."
msgstr ""
#: src/views/preference/components/RecoveryCodes.vue:142

View file

@ -932,7 +932,7 @@ msgstr ""
msgid "Dashboard"
msgstr "Bảng điều khiển"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)"
@ -1308,7 +1308,7 @@ msgstr "Sửa trang web"
msgid "Email"
msgstr "Email (*)"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "Email (*)"
@ -2068,11 +2068,11 @@ msgstr ""
msgid "Insecure Skip Verify"
msgstr ""
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "Cài đặt"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
#, fuzzy
msgid "Install successfully"
msgstr "Cài đặt thành công"
@ -2081,7 +2081,7 @@ msgstr "Cài đặt thành công"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr ""
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2583,7 +2583,7 @@ msgstr "Tổng lưu lượng mạng đã nhận"
msgid "Network Total Send"
msgstr "Tổng lưu lượng mạng đã gửi"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
#, fuzzy
msgid "New Installation"
msgstr "Cài đặt"
@ -3050,7 +3050,7 @@ msgstr ""
msgid "Password"
msgstr "Mật khẩu"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "Mật khẩu (*)"
@ -3059,7 +3059,7 @@ msgstr "Mật khẩu (*)"
msgid "Password incorrect"
msgstr "Tên người dùng hoặc mật khẩu không chính xác"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr ""
@ -3184,19 +3184,20 @@ msgid ""
msgstr ""
"Vui lòng nhập tên, tên này sẽ được sử dụng làm tên tệp của cấu hình mới!"
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "Vui lòng nhập E-mail của bạn!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "Vui lòng nhập mật khẩu!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "Vui lòng nhập username!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr ""
@ -3639,7 +3640,7 @@ msgstr "Đang khởi động lại"
msgid "Restore completed successfully"
msgstr "Đã xoá thành công"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
#, fuzzy
msgid "Restore from Backup"
msgstr "Thông tin"
@ -4191,7 +4192,8 @@ msgstr ""
msgid "System Restore"
msgstr "Thông tin"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
#, fuzzy
msgid "System restored successfully."
msgstr "Restart Nginx thành công"
@ -4224,7 +4226,7 @@ msgstr ""
"Chứng chỉ cho miền sẽ được kiểm tra 5 phút / lần và sẽ được gia hạn nếu đã "
"hơn 1 tuần kể từ lần cuối nó được cấp."
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Tên tệp không thể chứa các ký tự sau: %{c}"
@ -4620,7 +4622,7 @@ msgstr ""
msgid "Username"
msgstr "Username"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "Username (*)"

View file

@ -877,7 +877,7 @@ msgstr "自定义显示在环境指示器中的本地服务器名称。"
msgid "Dashboard"
msgstr "仪表盘"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "数据库 (可选,默认: database)"
@ -1214,7 +1214,7 @@ msgstr "编辑 Stream"
msgid "Email"
msgstr "邮箱"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "邮箱 (*)"
@ -1906,11 +1906,11 @@ msgstr "输入恢复代码:"
msgid "Insecure Skip Verify"
msgstr "跳过证书认证"
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "安装"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "安装成功"
@ -1918,7 +1918,7 @@ msgstr "安装成功"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr "系统启动 10 分钟后不允许安装"
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2389,7 +2389,7 @@ msgstr "下载流量"
msgid "Network Total Send"
msgstr "上传流量"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
msgid "New Installation"
msgstr "新安装"
@ -2831,7 +2831,7 @@ msgstr ""
msgid "Password"
msgstr "密码"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "密码 (*)"
@ -2839,7 +2839,7 @@ msgstr "密码 (*)"
msgid "Password incorrect"
msgstr "用户名和密码错误"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr "密码长度不能超过 20 个字符"
@ -2957,19 +2957,20 @@ msgid ""
"configuration."
msgstr "请输入名称,这将作为新配置的文件名。"
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "请输入您的邮箱!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "请输入您的密码!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "请输入您的用户名!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr "请登录。"
@ -3370,7 +3371,7 @@ msgstr "重启中"
msgid "Restore completed successfully"
msgstr "恢复成功"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
msgid "Restore from Backup"
msgstr "从备份还原"
@ -3590,19 +3591,19 @@ msgstr "使用 HTTP01 challenge provider"
#: src/constants/errors/nginx_log.ts:8
msgid ""
"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://"
"nginxui.com/guide/config-nginx.html for more information"
"Settings.NginxLogSettings.AccessLogPath is empty, refer to https://nginxui."
"com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 https://"
"nginxui.com/guide/config-nginx.html"
"Settings.NginxLogSettings.AccessLogPath 为空,更多信息请参阅 https://nginxui."
"com/guide/config-nginx.html"
#: src/constants/errors/nginx_log.ts:7
msgid ""
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://"
"nginxui.com/guide/config-nginx.html for more information"
"Settings.NginxLogSettings.ErrorLogPath is empty, refer to https://nginxui."
"com/guide/config-nginx.html for more information"
msgstr ""
"Settings.NginxLogSettings.ErrorLogPath为空更多信息请参阅 https://"
"nginxui.com/guide/config-nginx.html"
"Settings.NginxLogSettings.ErrorLogPath为空更多信息请参阅 https://nginxui."
"com/guide/config-nginx.html"
#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147
msgid "Shared Memory Zone"
@ -3882,7 +3883,8 @@ msgstr "系统初始用户"
msgid "System Restore"
msgstr "系统还原"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
msgid "System restored successfully."
msgstr "系统恢复成功。"
@ -3912,7 +3914,7 @@ msgstr ""
"域名证书将在 30 分钟内接受检查,如果距离上次签发证书的时间超过 1 周或您在设置"
"中设定的时间,证书将被更新。"
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "文件名不能包含以下字符: %{c}"
@ -4303,7 +4305,7 @@ msgstr "用户未启用 OTP 作为 2FA"
msgid "Username"
msgstr "用户名"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "用户名 (*)"
@ -4614,8 +4616,8 @@ msgstr "你的 Passkeys"
#~ msgstr "请将远程 Nginx UI 升级到最新版本"
#~ msgid ""
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %"
#~ "{resp}"
#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: "
#~ "%{resp}"
#~ msgstr ""
#~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,响应:%{resp}"

View file

@ -884,7 +884,7 @@ msgstr "自訂顯示在環境指示器中的本機節點名稱。"
msgid "Dashboard"
msgstr "儀錶板"
#: src/views/other/Install.vue:169
#: src/views/install/Install.vue:169
msgid "Database (Optional, default: database)"
msgstr "資料庫 (可選預設database)"
@ -1221,7 +1221,7 @@ msgstr "編輯 Stream"
msgid "Email"
msgstr "電子郵件"
#: src/views/other/Install.vue:138
#: src/views/install/Install.vue:138
msgid "Email (*)"
msgstr "電子郵件 (*)"
@ -1913,11 +1913,11 @@ msgstr "輸入恢復碼:"
msgid "Insecure Skip Verify"
msgstr "不安全跳過驗證"
#: src/routes/modules/auth.ts:8 src/views/other/Install.vue:185
#: src/routes/modules/auth.ts:8 src/views/install/Install.vue:185
msgid "Install"
msgstr "安裝"
#: src/views/other/Install.vue:93
#: src/views/install/Install.vue:93
msgid "Install successfully"
msgstr "安裝成功"
@ -1925,7 +1925,7 @@ msgstr "安裝成功"
msgid "Installation is not allowed after 10 minutes of system startup"
msgstr "系統啟動後 10 分鐘後不允許安裝"
#: src/views/other/Install.vue:127
#: src/views/install/Install.vue:127
msgid ""
"Installation is not allowed after 10 minutes of system startup, please "
"restart the Nginx UI."
@ -2397,7 +2397,7 @@ msgstr "下載流量"
msgid "Network Total Send"
msgstr "上傳流量"
#: src/views/other/Install.vue:133
#: src/views/install/Install.vue:133
msgid "New Installation"
msgstr "新安裝"
@ -2841,7 +2841,7 @@ msgstr ""
msgid "Password"
msgstr "密碼"
#: src/views/other/Install.vue:158
#: src/views/install/Install.vue:158
msgid "Password (*)"
msgstr "密碼 (*)"
@ -2849,7 +2849,7 @@ msgstr "密碼 (*)"
msgid "Password incorrect"
msgstr "密碼錯誤"
#: src/views/other/Install.vue:74
#: src/views/install/Install.vue:74
msgid "Password length cannot exceed 20 characters"
msgstr "密碼長度不能超過 20 個字元"
@ -2967,19 +2967,20 @@ msgid ""
"configuration."
msgstr "請輸入名稱,此名稱將用作新設定的檔案名稱。"
#: src/views/other/Install.vue:58
#: src/views/install/Install.vue:58
msgid "Please input your E-mail!"
msgstr "請輸入您的電子郵件!"
#: src/views/other/Install.vue:70 src/views/other/Login.vue:47
#: src/views/install/Install.vue:70 src/views/other/Login.vue:47
msgid "Please input your password!"
msgstr "請輸入您的密碼!"
#: src/views/other/Install.vue:64 src/views/other/Login.vue:41
#: src/views/install/Install.vue:64 src/views/other/Login.vue:41
msgid "Please input your username!"
msgstr "請輸入您的使用者名稱!"
#: src/views/other/Install.vue:110 src/views/system/Backup/SystemRestore.vue:10
#: src/views/install/Install.vue:110
#: src/views/system/Backup/SystemRestore.vue:10
msgid "Please log in."
msgstr "請登入。"
@ -3379,7 +3380,7 @@ msgstr "正在重新啟動"
msgid "Restore completed successfully"
msgstr "恢復已完成"
#: src/views/other/Install.vue:190
#: src/views/install/Install.vue:190
msgid "Restore from Backup"
msgstr "從備份中恢復"
@ -3892,7 +3893,8 @@ msgstr "系統初始使用者"
msgid "System Restore"
msgstr "系統恢復"
#: src/views/other/Install.vue:106 src/views/system/Backup/SystemRestore.vue:6
#: src/views/install/Install.vue:106
#: src/views/system/Backup/SystemRestore.vue:6
msgid "System restored successfully."
msgstr "系統已成功恢復。"
@ -3922,7 +3924,7 @@ msgstr ""
"網域憑證將在 30 分鐘內接受檢查,如果自上次簽發以來已超過 1 週或您在設定中設定"
"的時間,憑證將會自動更新。"
#: src/views/other/Install.vue:80
#: src/views/install/Install.vue:80
msgid "The filename cannot contain the following characters: %{c}"
msgstr "檔名不能包含以下字元:%{c}"
@ -4312,7 +4314,7 @@ msgstr "使用者未啟用 OTP 作為雙重身份驗證 (2FA)"
msgid "Username"
msgstr "使用者名稱"
#: src/views/other/Install.vue:148
#: src/views/install/Install.vue:148
msgid "Username (*)"
msgstr "使用者名稱 (*)"

View file

@ -4,7 +4,7 @@ export const authRoutes: RouteRecordRaw[] = [
{
path: '/install',
name: 'Install',
component: () => import('@/views/other/Install.vue'),
component: () => import('@/views/install/Install.vue'),
meta: { name: () => $gettext('Install'), noAuth: true },
},
{

106
cmd/lego_config/main.go Normal file
View file

@ -0,0 +1,106 @@
package main
import (
"archive/zip"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"strings"
"github.com/spf13/afero"
"github.com/spf13/afero/zipfs"
"github.com/uozi-tech/cosy/logger"
)
const (
repoURL = "https://github.com/go-acme/lego/archive/refs/heads/master.zip"
zipFile = "lego-master.zip"
configDir = "internal/cert/config"
)
func main() {
logger.Init("release")
if err := downloadAndExtract(); err != nil {
logger.Errorf("Error downloading and extracting: %v\n", err)
os.Exit(1)
}
if err := copyTomlFiles(); err != nil {
logger.Errorf("Error copying TOML files: %v\n", err)
os.Exit(1)
}
logger.Info("Successfully updated provider config")
}
// downloadAndExtract downloads the lego repository and extracts it
func downloadAndExtract() error {
// Download the file
logger.Info("Downloading lego repository...")
resp, err := http.Get(repoURL)
if err != nil {
return err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("bad status: %s", resp.Status)
}
// Create the file
out, err := os.Create(zipFile)
if err != nil {
return err
}
defer out.Close()
// Write the body to file
_, err = io.Copy(out, resp.Body)
if err != nil {
return err
}
return nil
}
func copyTomlFiles() error {
// Open the zip file
logger.Info("Extracting files...")
zipReader, err := zip.OpenReader(zipFile)
if err != nil {
return err
}
defer zipReader.Close()
// Extract files
zfs := zipfs.New(&zipReader.Reader)
afero.Walk(zfs, "./lego-master/providers", func(path string, info os.FileInfo, err error) error {
// Skip directories
if info.IsDir() {
return nil
}
if !strings.HasSuffix(info.Name(), ".toml") {
return nil
}
if err != nil {
return err
}
data, err := afero.ReadFile(zfs, path)
if err != nil {
return err
}
// Write to the destination file
destPath := filepath.Join(configDir, info.Name())
if err := os.WriteFile(destPath, data, 0644); err != nil {
return err
}
logger.Infof("Copied: %s", info.Name())
return nil
})
// Clean up zip file
return os.Remove(zipFile)
}

3
gen.sh
View file

@ -12,3 +12,6 @@ go run cmd/notification/generate.go
# generate external notifier configs
go run cmd/external_notifier/generate.go
# generate lego config
go run cmd/lego_config/main.go

54
go.mod
View file

@ -15,7 +15,7 @@ require (
github.com/gin-contrib/pprof v1.5.3
github.com/gin-contrib/static v1.1.5
github.com/gin-gonic/gin v1.10.0
github.com/go-acme/lego/v4 v4.22.2
github.com/go-acme/lego/v4 v4.23.1
github.com/go-co-op/gocron/v2 v2.16.1
github.com/go-gormigrate/gormigrate/v2 v2.1.4
github.com/go-playground/validator/v10 v10.26.0
@ -33,7 +33,7 @@ require (
github.com/pquerna/otp v1.4.0
github.com/pretty66/websocketproxy v0.0.0-20220507015215-930b3a686308
github.com/samber/lo v1.49.1
github.com/sashabaranov/go-openai v1.38.1
github.com/sashabaranov/go-openai v1.38.2
github.com/shirou/gopsutil/v4 v4.25.3
github.com/spf13/cast v1.7.1
github.com/stretchr/testify v1.10.0
@ -52,7 +52,7 @@ require (
require (
aead.dev/minisign v0.3.0 // indirect
cloud.google.com/go/auth v0.15.0 // indirect
cloud.google.com/go/auth v0.16.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.6.0 // indirect
filippo.io/edwards25519 v1.1.0 // indirect
@ -77,10 +77,10 @@ require (
github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87 // indirect
github.com/StackExchange/wmi v1.2.1 // indirect
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2 // indirect
github.com/aliyun/alibaba-cloud-sdk-go v1.63.104 // indirect
github.com/aliyun/alibaba-cloud-sdk-go v1.63.105 // indirect
github.com/aws/aws-sdk-go-v2 v1.36.3 // indirect
github.com/aws/aws-sdk-go-v2/config v1.29.13 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.66 // indirect
github.com/aws/aws-sdk-go-v2/config v1.29.14 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.67 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
@ -88,11 +88,12 @@ require (
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect
github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.2 // indirect
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.0 // indirect
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.18 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 // indirect
github.com/aws/smithy-go v1.22.3 // indirect
github.com/baidubce/bce-sdk-go v0.9.223 // indirect
github.com/benbjohnson/clock v1.3.5 // indirect
github.com/blinkbean/dingtalk v1.1.3 // indirect
github.com/boombuler/barcode v1.0.2 // indirect
@ -101,7 +102,7 @@ require (
github.com/bytedance/sonic/loader v0.2.4 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/civo/civogo v0.3.96 // indirect
github.com/civo/civogo v0.3.98 // indirect
github.com/cloudflare/cloudflare-go v0.115.0 // indirect
github.com/cloudwego/base64x v0.1.5 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
@ -109,7 +110,7 @@ require (
github.com/dimchansky/utfbom v1.1.1 // indirect
github.com/dnsimple/dnsimple-go v1.7.0 // indirect
github.com/ebitengine/purego v0.8.2 // indirect
github.com/exoscale/egoscale/v3 v3.1.13 // indirect
github.com/exoscale/egoscale/v3 v3.1.14 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
@ -119,7 +120,7 @@ require (
github.com/gin-contrib/sse v1.1.0 // indirect
github.com/go-errors/errors v1.5.1 // indirect
github.com/go-jose/go-jose/v4 v4.1.0 // indirect
github.com/go-lark/lark v1.15.1 // indirect
github.com/go-lark/lark v1.16.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
@ -147,10 +148,11 @@ require (
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.143 // indirect
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.145 // indirect
github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df // indirect
github.com/imega/luaformatter v0.0.0-20211025140405-86b0a68d6bef // indirect
github.com/infobloxopen/infoblox-go-client v1.1.1 // indirect
github.com/infobloxopen/infoblox-go-client/v2 v2.9.0 // indirect
github.com/itchyny/timefmt-go v0.1.6 // indirect
github.com/jackc/pgio v1.0.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
@ -177,7 +179,7 @@ require (
github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-sqlite3 v1.14.27 // indirect
github.com/mattn/go-sqlite3 v1.14.28 // indirect
github.com/miekg/dns v1.1.65 // indirect
github.com/mimuret/golang-iij-dpf v0.9.1 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
@ -191,14 +193,14 @@ require (
github.com/nrdcg/dnspod-go v0.4.0 // indirect
github.com/nrdcg/freemyip v0.3.0 // indirect
github.com/nrdcg/goacmedns v0.2.0 // indirect
github.com/nrdcg/goinwx v0.10.0 // indirect
github.com/nrdcg/goinwx v0.11.0 // indirect
github.com/nrdcg/mailinabox v0.2.0 // indirect
github.com/nrdcg/namesilo v0.2.1 // indirect
github.com/nrdcg/nodion v0.1.0 // indirect
github.com/nrdcg/porkbun v0.4.0 // indirect
github.com/nzdjb/go-metaname v1.0.0 // indirect
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
github.com/oracle/oci-go-sdk/v65 v65.89.0 // indirect
github.com/oracle/oci-go-sdk/v65 v65.89.1 // indirect
github.com/ovh/go-ovh v1.7.0 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
@ -231,10 +233,10 @@ require (
github.com/stretchr/objx v0.5.2 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/technoweenie/multipartstreamer v1.0.1 // indirect
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1140 // indirect
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145 // indirect
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1136 // indirect
github.com/timtadh/data-structures v0.5.3 // indirect
github.com/timtadh/lexmachine v0.2.2 // indirect
github.com/timtadh/data-structures v0.6.2 // indirect
github.com/timtadh/lexmachine v0.2.3 // indirect
github.com/tjfoc/gmsm v1.4.1 // indirect
github.com/tklauser/go-sysconf v0.3.15 // indirect
github.com/tklauser/numcpus v0.10.0 // indirect
@ -245,11 +247,11 @@ require (
github.com/uozi-tech/cosy-driver-mysql v0.2.2 // indirect
github.com/uozi-tech/cosy-driver-postgres v0.2.1 // indirect
github.com/vinyldns/go-vinyldns v0.9.16 // indirect
github.com/volcengine/volc-sdk-golang v1.0.202 // indirect
github.com/volcengine/volc-sdk-golang v1.0.203 // indirect
github.com/vultr/govultr/v3 v3.19.1 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/yandex-cloud/go-genproto v0.0.0-20250325081613-cd85d9003939 // indirect
github.com/yandex-cloud/go-sdk v0.0.0-20250325134853-dcb34ef70818 // indirect
github.com/yandex-cloud/go-genproto v0.0.0-20250415125903-e04f82fce08c // indirect
github.com/yandex-cloud/go-sdk v0.0.0-20250415134549-3e9c77f74bb7 // indirect
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.mongodb.org/mongo-driver v1.17.3 // indirect
@ -270,10 +272,10 @@ require (
golang.org/x/text v0.24.0 // indirect
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.32.0 // indirect
google.golang.org/api v0.228.0 // indirect
google.golang.org/genproto v0.0.0-20250407143221-ac9807e6c755 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250407143221-ac9807e6c755 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250407143221-ac9807e6c755 // indirect
google.golang.org/api v0.229.0 // indirect
google.golang.org/genproto v0.0.0-20250414145226-207652e42e2e // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250414145226-207652e42e2e // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect
google.golang.org/grpc v1.71.1 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
@ -291,7 +293,7 @@ require (
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

59
go.sum
View file

@ -102,6 +102,8 @@ cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM
cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
cloud.google.com/go/auth v0.15.0 h1:Ly0u4aA5vG/fsSsxu98qCQBemXtAtJf+95z9HK+cxps=
cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8=
cloud.google.com/go/auth v0.16.0 h1:Pd8P1s9WkcrBE2n/PhAwKsdrR35V3Sg2II9B+ndM3CU=
cloud.google.com/go/auth v0.16.0/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
@ -700,6 +702,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/aliyun/alibaba-cloud-sdk-go v1.63.104 h1:/6jF6rhmKZzvZZhzFXWqATazSKL5OSv7p+8PfoT6MG0=
github.com/aliyun/alibaba-cloud-sdk-go v1.63.104/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ=
github.com/aliyun/alibaba-cloud-sdk-go v1.63.105 h1:Bj8SsBTGElGniuL83+VqfHnxZIPc7n+rzpwDZIB4rZg=
github.com/aliyun/alibaba-cloud-sdk-go v1.63.105/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
@ -718,8 +722,12 @@ github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38y
github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg=
github.com/aws/aws-sdk-go-v2/config v1.29.13 h1:RgdPqWoE8nPpIekpVpDJsBckbqT4Liiaq9f35pbTh1Y=
github.com/aws/aws-sdk-go-v2/config v1.29.13/go.mod h1:NI28qs/IOUIRhsR7GQ/JdexoqRN9tDxkIrYZq0SOF44=
github.com/aws/aws-sdk-go-v2/config v1.29.14 h1:f+eEi/2cKCg9pqKBoAIwRGzVb70MRKqWX4dg1BDcSJM=
github.com/aws/aws-sdk-go-v2/config v1.29.14/go.mod h1:wVPHWcIFv3WO89w0rE10gzf17ZYy+UVS1Geq8Iei34g=
github.com/aws/aws-sdk-go-v2/credentials v1.17.66 h1:aKpEKaTy6n4CEJeYI1MNj97oSDLi4xro3UzQfwf5RWE=
github.com/aws/aws-sdk-go-v2/credentials v1.17.66/go.mod h1:xQ5SusDmHb/fy55wU0QqTy0yNfLqxzec59YcsRZB+rI=
github.com/aws/aws-sdk-go-v2/credentials v1.17.67 h1:9KxtdcIA/5xPNQyZRgUSpYOE6j9Bc4+D7nZua0KGYOM=
github.com/aws/aws-sdk-go-v2/credentials v1.17.67/go.mod h1:p3C44m+cfnbv763s52gCqrjaqyPikj9Sg47kUVaNZQQ=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 h1:x793wxmUWVDhshP8WW2mlnXuFrO4cOd3HLBroh1paFw=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod h1:Jpne2tDnYiFascUEs2AWHJL9Yp7A5ZVy3TNyxaAjD6M=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 h1:ZK5jHhnrioRkUNOc+hOgQKlUL5JeC3S6JgLxtQ+Rm0Q=
@ -737,15 +745,21 @@ github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.2 h1:Bz0MltpmIFP2EBYADc17VH
github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.2/go.mod h1:Qy22QnQSdHbZwMZrarsWZBIuK51isPlkD+Z4sztxX0o=
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.0 h1:pK3YJIgOzYqctprqQ67kGSjeL+77r9Ue/4/gBonsGNc=
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.0/go.mod h1:kGYOjvTa0Vw0qxrqrOLut1vMnui6qLxqv/SX3vYeM8Y=
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.1 h1:41HrH51fydStW2Tah74zkqZlJfyx4gXeuGOdsIFuckY=
github.com/aws/aws-sdk-go-v2/service/route53 v1.51.1/go.mod h1:kGYOjvTa0Vw0qxrqrOLut1vMnui6qLxqv/SX3vYeM8Y=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3 h1:1Gw+9ajCV1jogloEv1RRnvfRFia2cL6c9cuKV2Ps+G8=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 h1:hXmVKytPfTy5axZ+fYbR5d0cFmC3JvwLm5kM83luako=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.18 h1:xz7WvTMfSStb9Y8NpCT82FXLNC3QasqBfuAFHY4Pk5g=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.18/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 h1:1XuUZ8mYJw9B6lzAkXhqHlJd/XvaX32evhproijJEZY=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k=
github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
github.com/baidubce/bce-sdk-go v0.9.223 h1:vvDeIemf7ePPP59nLHCntQ/vS++ok2HKbRPgmz1VZKU=
github.com/baidubce/bce-sdk-go v0.9.223/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
@ -786,6 +800,7 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@ -799,6 +814,8 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/civo/civogo v0.3.96 h1:9R3yZS3B8B0oAqIlNDnMvsONk0mqZUkHREd0EH6HRIc=
github.com/civo/civogo v0.3.96/go.mod h1:LaEbkszc+9nXSh4YNG0sYXFGYqdQFmXXzQg0gESs2hc=
github.com/civo/civogo v0.3.98 h1:FEbB5oxCcHeHUK3fJODxVoMQzhpLV9Jtb7bezANTY5c=
github.com/civo/civogo v0.3.98/go.mod h1:LaEbkszc+9nXSh4YNG0sYXFGYqdQFmXXzQg0gESs2hc=
github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudflare/cloudflare-go v0.115.0 h1:84/dxeeXweCc0PN5Cto44iTA8AkG1fyT11yPO5ZB7sM=
@ -880,6 +897,8 @@ github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0+
github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
github.com/exoscale/egoscale/v3 v3.1.13 h1:CAGC7QRjp2AiGj01agsSD0VKCp4OZmW5f51vV2IguNQ=
github.com/exoscale/egoscale/v3 v3.1.13/go.mod h1:t9+MpSEam94na48O/xgvvPFpQPRiwZ3kBN4/UuQtKco=
github.com/exoscale/egoscale/v3 v3.1.14 h1:ux1wOtx4561ZJM1sF2AFEjEY6HRj/RbtglKvZxh2iqg=
github.com/exoscale/egoscale/v3 v3.1.14/go.mod h1:t9+MpSEam94na48O/xgvvPFpQPRiwZ3kBN4/UuQtKco=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
@ -921,6 +940,8 @@ github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=
github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-acme/lego/v4 v4.22.2 h1:ck+HllWrV/rZGeYohsKQ5iKNnU/WAZxwOdiu6cxky+0=
github.com/go-acme/lego/v4 v4.22.2/go.mod h1:E2FndyI3Ekv0usNJt46mFb9LVpV/XBYT+4E3tz02Tzo=
github.com/go-acme/lego/v4 v4.23.1 h1:lZ5fGtGESA2L9FB8dNTvrQUq3/X4QOb8ExkKyY7LSV4=
github.com/go-acme/lego/v4 v4.23.1/go.mod h1:7UMVR7oQbIYw6V7mTgGwi4Er7B6Ww0c+c8feiBM0EgI=
github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s=
github.com/go-co-op/gocron/v2 v2.16.1 h1:ux/5zxVRveCaCuTtNI3DiOk581KC1KpJbpJFYUEVYwo=
github.com/go-co-op/gocron/v2 v2.16.1/go.mod h1:opexeOFy5BplhsKdA7bzY9zeYih8I8/WNJ4arTIFPVc=
@ -946,6 +967,8 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
github.com/go-lark/lark v1.15.1 h1:fo6PQKBJht/71N9Zn3/xjknOYx0TmdVuP+VP8NrUCsI=
github.com/go-lark/lark v1.15.1/go.mod h1:6ltbSztPZRT6IaO9ZIQyVaY5pVp/KeMizDYtfZkU+vM=
github.com/go-lark/lark v1.16.0 h1:U6BwkLM9wrZedSM7cIiMofganr8PCvJN+M75w2lf2Gg=
github.com/go-lark/lark v1.16.0/go.mod h1:6ltbSztPZRT6IaO9ZIQyVaY5pVp/KeMizDYtfZkU+vM=
github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
@ -1225,6 +1248,8 @@ github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfE
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.143 h1:V+82d6sqyEnG/XtIhC21zqVAMc1hiah3LQgTKZRfMtg=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.143/go.mod h1:Y/+YLCFCJtS29i2MbYPTUlNNfwXvkzEsZKR0imY/2aY=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.145 h1:dpyJXRzkOZv+xfoPYSlgFdEYrN+nXPIs/Dabu3KpiWA=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.145/go.mod h1:Y/+YLCFCJtS29i2MbYPTUlNNfwXvkzEsZKR0imY/2aY=
github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@ -1238,6 +1263,8 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf
github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/infobloxopen/infoblox-go-client v1.1.1 h1:728A6LbLjptj/7kZjHyIxQnm768PWHfGFm0HH8FnbtU=
github.com/infobloxopen/infoblox-go-client v1.1.1/go.mod h1:BXiw7S2b9qJoM8MS40vfgCNB2NLHGusk1DtO16BD9zI=
github.com/infobloxopen/infoblox-go-client/v2 v2.9.0 h1:wS8kTlQVeVbrepeY83s9X+XdSa6Qah5KO+tdW+zRQXU=
github.com/infobloxopen/infoblox-go-client/v2 v2.9.0/go.mod h1:NeNJpz09efw/edzqkVivGv1bWqBXTomqYBRFbP+XBqg=
github.com/itchyny/timefmt-go v0.1.6 h1:ia3s54iciXDdzWzwaVKXZPbiXzxxnv1SPGFfM/myJ5Q=
github.com/itchyny/timefmt-go v0.1.6/go.mod h1:RRDZYC5s9ErkjQvTvvU7keJjxUYzIISJGxm9/mAERQg=
github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0=
@ -1432,6 +1459,8 @@ github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU=
github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A=
github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g=
@ -1508,6 +1537,8 @@ github.com/nrdcg/goacmedns v0.2.0 h1:ADMbThobzEMnr6kg2ohs4KGa3LFqmgiBA22/6jUWJR0
github.com/nrdcg/goacmedns v0.2.0/go.mod h1:T5o6+xvSLrQpugmwHvrSNkzWht0UGAwj2ACBMhh73Cg=
github.com/nrdcg/goinwx v0.10.0 h1:6W630bjDxQD6OuXKqrFRYVpTt0G/9GXXm3CeOrN0zJM=
github.com/nrdcg/goinwx v0.10.0/go.mod h1:mnMSTi7CXBu2io4DzdOBoGFA1XclD0sEPWJaDhNgkA4=
github.com/nrdcg/goinwx v0.11.0 h1:GER0SE3POub7rxARt3Y3jRy1OON1hwF1LRxHz5xsFBw=
github.com/nrdcg/goinwx v0.11.0/go.mod h1:0BXSC0FxVtU4aTjX0Zw3x0DK32tjugLzeNIAGtwXvPQ=
github.com/nrdcg/mailinabox v0.2.0 h1:IKq8mfKiVwNW2hQii/ng1dJ4yYMMv3HAP3fMFIq2CFk=
github.com/nrdcg/mailinabox v0.2.0/go.mod h1:0yxqeYOiGyxAu7Sb94eMxHPIOsPYXAjTeA9ZhePhGnc=
github.com/nrdcg/namesilo v0.2.1 h1:kLjCjsufdW/IlC+iSfAqj0iQGgKjlbUUeDJio5Y6eMg=
@ -1548,6 +1579,8 @@ github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mo
github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE=
github.com/oracle/oci-go-sdk/v65 v65.89.0 h1:Y2NRdvllV++3ebqc8v1bg7w9W1ktiMONKvW9k/bqk0M=
github.com/oracle/oci-go-sdk/v65 v65.89.0/go.mod h1:u6XRPsw9tPziBh76K7GrrRXPa8P8W3BQeqJ6ZZt9VLA=
github.com/oracle/oci-go-sdk/v65 v65.89.1 h1:8sVjxYPNQ83yqUgZKkdeUA0CnSodmL1Bme2oxq8gyKg=
github.com/oracle/oci-go-sdk/v65 v65.89.1/go.mod h1:u6XRPsw9tPziBh76K7GrrRXPa8P8W3BQeqJ6ZZt9VLA=
github.com/ovh/go-ovh v1.7.0 h1:V14nF7FwDjQrZt9g7jzcvAAQ3HN6DNShRFRMC3jLoPw=
github.com/ovh/go-ovh v1.7.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
@ -1661,6 +1694,8 @@ github.com/samber/lo v1.49.1 h1:4BIFyVfuQSEpluc7Fua+j1NolZHiEHEpaSEKdsH0tew=
github.com/samber/lo v1.49.1/go.mod h1:dO6KHFzUKXgP8LDhU0oI8d2hekjXnGOu0DB8Jecxd6o=
github.com/sashabaranov/go-openai v1.38.1 h1:TtZabbFQZa1nEni/IhVtDF/WQjVqDgd+cWR5OeddzF8=
github.com/sashabaranov/go-openai v1.38.1/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg=
github.com/sashabaranov/go-openai v1.38.2 h1:akrssjj+6DY3lWuDwHv6cBvJ8Z+FZDM9XEaaYFt0Auo=
github.com/sashabaranov/go-openai v1.38.2/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33 h1:KhF0WejiUTDbL5X55nXowP7zNopwpowa6qaMAWyIE+0=
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33/go.mod h1:792k1RTU+5JeMXm35/e2Wgp71qPH/DmDoZrRc+EFZDk=
@ -1765,12 +1800,20 @@ github.com/technoweenie/multipartstreamer v1.0.1/go.mod h1:jNVxdtShOxzAsukZwTSw6
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1136/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1140 h1:F/vuesfLQmJhBZTHYOktz8IVWTs1nHwZYh74/H64uEs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1140/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145 h1:DETyir/MtG+GLOD0OatzjrQTTXRguFSJo1ZtPXtbIQw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1136 h1:kMIdSU5IvpOROh27ToVQ3hlm6ym3lCRs9tnGCOBoZqk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1136/go.mod h1:FpyIz3mymKaExVs6Fz27kxDBS42jqZn7vbACtxdeEH4=
github.com/timtadh/data-structures v0.5.3 h1:F2tEjoG9qWIyUjbvXVgJqEOGJPMIiYn7U5W5mE+i/vQ=
github.com/timtadh/data-structures v0.5.3/go.mod h1:9R4XODhJ8JdWFEI8P/HJKqxuJctfBQw6fDibMQny2oU=
github.com/timtadh/data-structures v0.6.1/go.mod h1:uYUnI1cQi/5yMCc7s23I+x8Mn8BCMf4WgK+7/4QSEk4=
github.com/timtadh/data-structures v0.6.2 h1:zybDnU5NLjJ7WKMDJpvVwczQuf1wSLBgdRHZ9O4AqJ0=
github.com/timtadh/data-structures v0.6.2/go.mod h1:uYUnI1cQi/5yMCc7s23I+x8Mn8BCMf4WgK+7/4QSEk4=
github.com/timtadh/getopt v1.0.0/go.mod h1:L3EL6YN2G0eIAhYBo9b7SB9d/kEQmdnwthIlMJfj210=
github.com/timtadh/lexmachine v0.2.2 h1:g55RnjdYazm5wnKv59pwFcBJHOyvTPfDEoz21s4PHmY=
github.com/timtadh/lexmachine v0.2.2/go.mod h1:GBJvD5OAfRn/gnp92zb9KTgHLB7akKyxmVivoYCcjQI=
github.com/timtadh/lexmachine v0.2.3 h1:ZqlfHnfMcAygtbNM5Gv7jQf8hmM8LfVzDjfCrq235NQ=
github.com/timtadh/lexmachine v0.2.3/go.mod h1:oK1NW+93fQSIF6s+J6sXBFWsCPCFbNmrwKV1i0aqvW0=
github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho=
github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE=
github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4=
@ -1808,6 +1851,8 @@ github.com/vinyldns/go-vinyldns v0.9.16 h1:GZJStDkcCk1F1AcRc64LuuMh+ENL8pHA0CVd4
github.com/vinyldns/go-vinyldns v0.9.16/go.mod h1:5qIJOdmzAnatKjurI+Tl4uTus7GJKJxb+zitufjHs3Q=
github.com/volcengine/volc-sdk-golang v1.0.202 h1:8H4Rq7jWfrKdW9p3j+ZyvGvVe796AeVCpqEHb9zdBLo=
github.com/volcengine/volc-sdk-golang v1.0.202/go.mod h1:stZX+EPgv1vF4nZwOlEe8iGcriUPRBKX8zA19gXycOQ=
github.com/volcengine/volc-sdk-golang v1.0.203 h1:y4zZEjKp6nz3UK8Tb/qdz9tvB915KLO6nc1WNME0Zb8=
github.com/volcengine/volc-sdk-golang v1.0.203/go.mod h1:stZX+EPgv1vF4nZwOlEe8iGcriUPRBKX8zA19gXycOQ=
github.com/vultr/govultr/v3 v3.19.1 h1:31rOP5Tz40AOc8h6Ws4ryzqAniUBffgRhy9uMG/EFvs=
github.com/vultr/govultr/v3 v3.19.1/go.mod h1:q34Wd76upKmf+vxFMgaNMH3A8BbsPBmSYZUGC8oZa5w=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
@ -1823,8 +1868,12 @@ github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQ
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/yandex-cloud/go-genproto v0.0.0-20250325081613-cd85d9003939 h1:o1L5uP1z/IKGQpfzEqSmqGtFDIKDoFAvZuqpzySIVFc=
github.com/yandex-cloud/go-genproto v0.0.0-20250325081613-cd85d9003939/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
github.com/yandex-cloud/go-genproto v0.0.0-20250415125903-e04f82fce08c h1:AHeznzpDGX4AJKA1m0oKFtbxCoPidfNA8LJFl5OxIEQ=
github.com/yandex-cloud/go-genproto v0.0.0-20250415125903-e04f82fce08c/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
github.com/yandex-cloud/go-sdk v0.0.0-20250325134853-dcb34ef70818 h1:EgfskqIEIv/f5vx/guwfkakNwy5H9Mm+OC17zS1ofus=
github.com/yandex-cloud/go-sdk v0.0.0-20250325134853-dcb34ef70818/go.mod h1:U2Cc0SZ8kQHcL4ffnfNN78bdSybVP2pQNq0oJfFwvM8=
github.com/yandex-cloud/go-sdk v0.0.0-20250415134549-3e9c77f74bb7 h1:ydVq9gVDCyavCMzSoVQlpeaRiYlesMUwEW9s/ALFQXE=
github.com/yandex-cloud/go-sdk v0.0.0-20250415134549-3e9c77f74bb7/go.mod h1:aBC6JVH0vdnoTnHQLRWkwr5f+fmXq8f8qYSs1Vt0HBQ=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
@ -2467,6 +2516,8 @@ google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45
google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
google.golang.org/api v0.228.0 h1:X2DJ/uoWGnY5obVjewbp8icSL5U4FzuCfy9OjbLSnLs=
google.golang.org/api v0.228.0/go.mod h1:wNvRS1Pbe8r4+IfBIniV8fwCpGwTrYa+kMUDiC5z5a4=
google.golang.org/api v0.229.0 h1:p98ymMtqeJ5i3lIBMj5MpR9kzIIgzpHHh8vQ+vgAzx8=
google.golang.org/api v0.229.0/go.mod h1:wyDfmq5g1wYJWn29O22FDWN48P7Xcz0xz+LBpptYvB0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@ -2609,10 +2660,16 @@ google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOl
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/genproto v0.0.0-20250407143221-ac9807e6c755 h1:bldQzRMfyYSvYsP0oCgOIsBryyDN2Ci7HxB+rx3L7Qw=
google.golang.org/genproto v0.0.0-20250407143221-ac9807e6c755/go.mod h1:qD4k1RhYfNmRjqaHJxKLG/HRtqbXVclhjop2mPlxGwA=
google.golang.org/genproto v0.0.0-20250414145226-207652e42e2e h1:mYHFv3iX85YMwhGSaZS4xpkM8WQDmJUovz7yqsFrwDk=
google.golang.org/genproto v0.0.0-20250414145226-207652e42e2e/go.mod h1:TQT1YpH/rlDCS5+EuFaqPIMqDfuNMFR1OI8EcZJGgAk=
google.golang.org/genproto/googleapis/api v0.0.0-20250407143221-ac9807e6c755 h1:AMLTAunltONNuzWgVPZXrjLWtXpsG6A3yLLPEoJ/IjU=
google.golang.org/genproto/googleapis/api v0.0.0-20250407143221-ac9807e6c755/go.mod h1:2R6XrVC8Oc08GlNh8ujEpc7HkLiEZ16QeY7FxIs20ac=
google.golang.org/genproto/googleapis/api v0.0.0-20250414145226-207652e42e2e h1:UdXH7Kzbj+Vzastr5nVfccbmFsmYNygVLSPk1pEfDoY=
google.golang.org/genproto/googleapis/api v0.0.0-20250414145226-207652e42e2e/go.mod h1:085qFyf2+XaZlRdCgKNCIZ3afY2p4HHZdoIRpId8F4A=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250407143221-ac9807e6c755 h1:TwXJCGVREgQ/cl18iY0Z4wJCTL/GmW+Um2oSwZiZPnc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250407143221-ac9807e6c755/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e h1:ztQaXfzEXTmCBvbtWYRhJxW+0iJcz2qXfd38/e9l7bA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@ -2808,6 +2865,8 @@ sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 h1:qPeWmscJcXP0snki5IYF79Z8xrl8ETFxgMd7wez1XkI=
sigs.k8s.io/structured-merge-diff/v4 v4.7.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

View file

@ -0,0 +1,25 @@
Name = "Active24"
Description = ''''''
URL = "https://www.active24.cz"
Code = "active24"
Since = "v4.23.0"
Example = '''
ACTIVE24_API_KEY="xxx" \
ACTIVE24_SECRET="yyy" \
lego --email you@example.com --dns active24 -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
ACTIVE24_API_KEY = "API key"
ACTIVE24_SECRET = "Secret"
[Configuration.Additional]
ACTIVE24_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
ACTIVE24_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
ACTIVE24_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
ACTIVE24_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://rest.active24.cz/v2/docs"
APIv1 = "https://rest.active24.cz/docs/v1.service#services"

View file

@ -0,0 +1,24 @@
Name = "Axelname"
Description = ''''''
URL = "https://axelname.ru"
Code = "axelname"
Since = "v4.23.0"
Example = '''
AXELNAME_NICKNAME="yyy" \
AXELNAME_TOKEN="xxx" \
lego --email you@example.com --dns axelname -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
AXELNAME_NICKNAME = "Account nickname"
AXELNAME_TOKEN = "API token"
[Configuration.Additional]
AXELNAME_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
AXELNAME_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
AXELNAME_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
AXELNAME_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://axelname.ru/static/content/files/axelname_api_rest_lite.pdf"

View file

@ -0,0 +1,24 @@
Name = "Baidu Cloud"
Description = ''''''
URL = "https://cloud.baidu.com"
Code = "baiducloud"
Since = "v4.23.0"
Example = '''
BAIDUCLOUD_ACCESS_KEY_ID="xxx" \
BAIDUCLOUD_SECRET_ACCESS_KEY="yyy" \
lego --email you@example.com --dns baiducloud -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
BAIDUCLOUD_ACCESS_KEY_ID = "Access key"
BAIDUCLOUD_SECRET_ACCESS_KEY = "Secret access key"
[Configuration.Additional]
BAIDUCLOUD_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
BAIDUCLOUD_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
BAIDUCLOUD_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
[Links]
API = "https://cloud.baidu.com/doc/DNS/s/El4s7lssr"
GoClient = "https://github.com/baidubce/bce-sdk-go"

View file

@ -0,0 +1,24 @@
Name = "BookMyName"
Description = ''''''
URL = "https://www.bookmyname.com/"
Code = "bookmyname"
Since = "v4.23.0"
Example = '''
BOOKMYNAME_USERNAME="xxx" \
BOOKMYNAME_PASSWORD="yyy" \
lego --email you@example.com --dns bookmyname -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
BOOKMYNAME_USERNAME = "Username"
BOOKMYNAME_PASSWORD = "Password"
[Configuration.Additional]
BOOKMYNAME_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
BOOKMYNAME_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
BOOKMYNAME_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
BOOKMYNAME_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://fr.faqs.bookmyname.com/frfaqs/dyndns"

View file

@ -73,6 +73,7 @@ It follows the principle of least privilege and limits the possible damage, shou
CLOUDFLARE_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 120)"
CLOUDFLARE_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
CLOUDFLARE_HTTP_TIMEOUT = "API request timeout in seconds (Default: )"
CLOUDFLARE_BASE_URL = "API base URL (Default: https://api.cloudflare.com/client/v4)"
[Links]
API = "https://api.cloudflare.com/"

View file

@ -42,6 +42,7 @@ See also:
- [.edgerc Format](https://developer.akamai.com/legacy/introduction/Conf_Client.html#edgercformat)
- [API Client Authentication](https://developer.akamai.com/legacy/introduction/Client_Auth.html)
- [Config from Env](https://github.com/akamai/AkamaiOPEN-edgegrid-golang/blob/master/pkg/edgegrid/config.go#L118)
- [Manage many accounts](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client)
'''
[Configuration]
@ -53,6 +54,7 @@ See also:
AKAMAI_EDGERC = "Path to the .edgerc file, managed by the Akamai EdgeGrid client"
AKAMAI_EDGERC_SECTION = "Configuration section, managed by the Akamai EdgeGrid client"
[Configuration.Additional]
AKAMAI_ACCOUNT_SWITCH_KEY = "Target account ID when the DNS zone and credentials belong to different accounts"
AKAMAI_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 15)"
AKAMAI_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 180)"
AKAMAI_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"

View file

@ -0,0 +1,27 @@
Name = "F5 XC"
Description = ''''''
URL = "https://www.f5.com/products/distributed-cloud-services"
Code = "f5xc"
Since = "v4.23.0"
Example = '''
F5XC_API_TOKEN="xxx" \
F5XC_TENANT_NAME="yyy" \
F5XC_GROUP_NAME="zzz" \
lego --email you@example.com --dns f5xc -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
F5XC_API_TOKEN = "API token"
F5XC_TENANT_NAME = "XC Tenant shortname"
F5XC_GROUP_NAME = "Group name"
[Configuration.Additional]
F5XC_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
F5XC_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
F5XC_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
F5XC_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://docs.cloud.f5.com/docs-v2/api/dns-zone-rrset"
Documentation = "https://my.f5.com/manage/s/article/K000147937"

View file

@ -25,6 +25,7 @@ When creating an API's user ensure it has the proper permissions for the view yo
INFOBLOX_WAPI_VERSION = "The version of WAPI being used (Default: 2.11)"
INFOBLOX_PORT = "The port for the infoblox grid manager (Default: 443)"
INFOBLOX_SSL_VERIFY = "Whether or not to verify the TLS certificate (Default: true)"
INFOBLOX_CA_CERTIFICATE = "The path to the CA certificate (PEM encoded)"
INFOBLOX_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
INFOBLOX_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
INFOBLOX_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"

View file

@ -0,0 +1,22 @@
Name = "Metaregistrar"
Description = ''''''
URL = "https://metaregistrar.com/"
Code = "metaregistrar"
Since = "v4.23.0"
Example = '''
METAREGISTRAR_API_TOKEN="xxxxxxxxxxxxxxxxxxxxx" \
lego --email you@example.com --dns metaregistrar -d '*.example.com' -d example.com run
'''
[Configuration]
[Configuration.Credentials]
METAREGISTRAR_API_TOKEN = "The API token"
[Configuration.Additional]
METAREGISTRAR_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
METAREGISTRAR_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
METAREGISTRAR_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
METAREGISTRAR_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://metaregistrar.dev/docu/metaapi/"

View file

@ -1,5 +1,6 @@
Name = "Porkbun"
Description = ''''''
# This URL is NOT the API URL.
URL = "https://porkbun.com/"
Code = "porkbun"
Since = "v4.4.0"

View file

@ -133,6 +133,7 @@ Replace `Z11111112222222333333` with your hosted zone ID and `example.com` with
AWS_EXTERNAL_ID = "Managed by STS AssumeRole API operation (`AWS_EXTERNAL_ID_FILE` is not supported)"
AWS_WAIT_FOR_RECORD_SETS_CHANGED = "Wait for changes to be INSYNC (it can be unstable)"
[Configuration.Additional]
AWS_PRIVATE_ZONE = "Set to true to use private zones only (default: use public zones only)"
AWS_SHARED_CREDENTIALS_FILE = "Managed by the AWS client. Shared credentials file."
AWS_MAX_RETRIES = "The number of maximum returns the service will use to make an individual API request"
AWS_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 4)"

View file

@ -22,4 +22,5 @@ lego --email you@example.com --dns websupport -d '*.example.com' -d example.com
WEBSUPPORT_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"
[Links]
API = "https://rest.websupport.sk/docs/v1.zone"
API = "https://rest.websupport.sk/v2/docs"
APIv1 = "https://rest.websupport.sk/docs/v1.service#services"

View file

@ -1,43 +0,0 @@
#!/bin/bash
# Download go-acme/lego repository
download_and_extract() {
local repo_url="https://github.com/go-acme/lego/archive/refs/heads/master.zip"
local target_dir="$1"
# Check if wget and unzip are installed
if ! command -v wget >/dev/null || ! command -v unzip >/dev/null; then
echo "Please ensure wget and unzip are installed."
exit 1
fi
# Download and extract the source code
wget -q -O lego-master.zip "$repo_url"
unzip -q lego-master.zip -d "$target_dir"
rm lego-master.zip
}
# Copy .toml files from providers to the specified directory
copy_toml_files() {
local source_dir="$1/lego-master/providers"
local target_dir="internal/cert/config"
# Remove the lego-master folder
if [ ! -d "$target_dir" ]; then
mkdir -p "$target_dir"
fi
# Copy .toml files
find "$source_dir" -type f -name "*.toml" -exec cp {} "$target_dir" \;
}
# Remove the lego-master folder
remove_lego_master_folder() {
local folder="$1/lego-master"
rm -rf "$folder"
}
destination="./tmp"
download_and_extract "$destination"
copy_toml_files "$destination"
remove_lego_master_folder "$destination"

View file

@ -170,11 +170,17 @@ func (c *cert) fillFieldMap() {
func (c cert) clone(db *gorm.DB) cert {
c.certDo.ReplaceConnPool(db.Statement.ConnPool)
c.DnsCredential.db = db.Session(&gorm.Session{Initialized: true})
c.DnsCredential.db.Statement.ConnPool = db.Statement.ConnPool
c.ACMEUser.db = db.Session(&gorm.Session{Initialized: true})
c.ACMEUser.db.Statement.ConnPool = db.Statement.ConnPool
return c
}
func (c cert) replaceDB(db *gorm.DB) cert {
c.certDo.ReplaceDB(db)
c.DnsCredential.db = db.Session(&gorm.Session{})
c.ACMEUser.db = db.Session(&gorm.Session{})
return c
}
@ -211,6 +217,11 @@ func (a certBelongsToDnsCredential) Model(m *model.Cert) *certBelongsToDnsCreden
return &certBelongsToDnsCredentialTx{a.db.Model(m).Association(a.Name())}
}
func (a certBelongsToDnsCredential) Unscoped() *certBelongsToDnsCredential {
a.db = a.db.Unscoped()
return &a
}
type certBelongsToDnsCredentialTx struct{ tx *gorm.Association }
func (a certBelongsToDnsCredentialTx) Find() (result *model.DnsCredential, err error) {
@ -249,6 +260,11 @@ func (a certBelongsToDnsCredentialTx) Count() int64 {
return a.tx.Count()
}
func (a certBelongsToDnsCredentialTx) Unscoped() *certBelongsToDnsCredentialTx {
a.tx = a.tx.Unscoped()
return &a
}
type certBelongsToACMEUser struct {
db *gorm.DB
@ -282,6 +298,11 @@ func (a certBelongsToACMEUser) Model(m *model.Cert) *certBelongsToACMEUserTx {
return &certBelongsToACMEUserTx{a.db.Model(m).Association(a.Name())}
}
func (a certBelongsToACMEUser) Unscoped() *certBelongsToACMEUser {
a.db = a.db.Unscoped()
return &a
}
type certBelongsToACMEUserTx struct{ tx *gorm.Association }
func (a certBelongsToACMEUserTx) Find() (result *model.AcmeUser, err error) {
@ -320,6 +341,11 @@ func (a certBelongsToACMEUserTx) Count() int64 {
return a.tx.Count()
}
func (a certBelongsToACMEUserTx) Unscoped() *certBelongsToACMEUserTx {
a.tx = a.tx.Unscoped()
return &a
}
type certDo struct{ gen.DO }
// FirstByID Where("id=@id")

View file

@ -114,11 +114,14 @@ func (s *site) fillFieldMap() {
func (s site) clone(db *gorm.DB) site {
s.siteDo.ReplaceConnPool(db.Statement.ConnPool)
s.EnvGroup.db = db.Session(&gorm.Session{Initialized: true})
s.EnvGroup.db.Statement.ConnPool = db.Statement.ConnPool
return s
}
func (s site) replaceDB(db *gorm.DB) site {
s.siteDo.ReplaceDB(db)
s.EnvGroup.db = db.Session(&gorm.Session{})
return s
}
@ -155,6 +158,11 @@ func (a siteBelongsToEnvGroup) Model(m *model.Site) *siteBelongsToEnvGroupTx {
return &siteBelongsToEnvGroupTx{a.db.Model(m).Association(a.Name())}
}
func (a siteBelongsToEnvGroup) Unscoped() *siteBelongsToEnvGroup {
a.db = a.db.Unscoped()
return &a
}
type siteBelongsToEnvGroupTx struct{ tx *gorm.Association }
func (a siteBelongsToEnvGroupTx) Find() (result *model.EnvGroup, err error) {
@ -193,6 +201,11 @@ func (a siteBelongsToEnvGroupTx) Count() int64 {
return a.tx.Count()
}
func (a siteBelongsToEnvGroupTx) Unscoped() *siteBelongsToEnvGroupTx {
a.tx = a.tx.Unscoped()
return &a
}
type siteDo struct{ gen.DO }
// FirstByID Where("id=@id")

View file

@ -114,11 +114,14 @@ func (s *stream) fillFieldMap() {
func (s stream) clone(db *gorm.DB) stream {
s.streamDo.ReplaceConnPool(db.Statement.ConnPool)
s.EnvGroup.db = db.Session(&gorm.Session{Initialized: true})
s.EnvGroup.db.Statement.ConnPool = db.Statement.ConnPool
return s
}
func (s stream) replaceDB(db *gorm.DB) stream {
s.streamDo.ReplaceDB(db)
s.EnvGroup.db = db.Session(&gorm.Session{})
return s
}
@ -155,6 +158,11 @@ func (a streamBelongsToEnvGroup) Model(m *model.Stream) *streamBelongsToEnvGroup
return &streamBelongsToEnvGroupTx{a.db.Model(m).Association(a.Name())}
}
func (a streamBelongsToEnvGroup) Unscoped() *streamBelongsToEnvGroup {
a.db = a.db.Unscoped()
return &a
}
type streamBelongsToEnvGroupTx struct{ tx *gorm.Association }
func (a streamBelongsToEnvGroupTx) Find() (result *model.EnvGroup, err error) {
@ -193,6 +201,11 @@ func (a streamBelongsToEnvGroupTx) Count() int64 {
return a.tx.Count()
}
func (a streamBelongsToEnvGroupTx) Unscoped() *streamBelongsToEnvGroupTx {
a.tx = a.tx.Unscoped()
return &a
}
type streamDo struct{ gen.DO }
// FirstByID Where("id=@id")