From 16369bc635dfe060c89d01eac546860319293513 Mon Sep 17 00:00:00 2001 From: Jacky Date: Sat, 12 Apr 2025 14:03:53 +0000 Subject: [PATCH] refactor: nginx params optimization #236 --- api/nginx/performance.go | 9 +- api/nginx/status.go | 21 +- app/src/api/ngx.ts | 61 ++- .../components/EnvGroupTabs/EnvGroupTabs.vue | 3 +- .../SystemRestore/SystemRestoreContent.vue | 2 +- app/src/language/ar/app.po | 244 +++++++--- app/src/language/de_DE/app.po | 244 +++++++--- app/src/language/en/app.po | 241 +++++++--- app/src/language/es/app.po | 244 +++++++--- app/src/language/fr_FR/app.po | 243 +++++++--- app/src/language/ko_KR/app.po | 243 +++++++--- app/src/language/messages.pot | 235 ++++++--- app/src/language/ru_RU/app.po | 244 +++++++--- app/src/language/tr_TR/app.po | 244 +++++++--- app/src/language/vi_VN/app.po | 241 +++++++--- app/src/language/zh_CN/app.po | 269 ++++++++--- app/src/language/zh_TW/app.po | 244 +++++++--- app/src/views/config/ConfigEditor.vue | 2 +- app/src/views/dashboard/NginxDashBoard.vue | 4 +- .../ParamsOpt/PerformanceConfig.vue | 126 +++++ .../components/ParamsOpt/ProxyCacheConfig.vue | 449 ++++++++++++++++++ .../components/ParamsOpt/SizeInput.vue | 44 ++ .../components/ParamsOpt/TimeInput.vue | 53 +++ .../components/ParamsOptimization.vue | 130 +++++ .../components/PerformanceOptimization.vue | 327 ------------- app/src/views/site/cert/Cert.vue | 8 +- app/uno.config.ts | 3 +- internal/config/perf_opt.go | 135 ------ internal/nginx/config_info.go | 122 ----- internal/performance/config_info.go | 246 ++++++++++ internal/performance/perf_opt.go | 289 +++++++++++ .../{nginx => performance}/performance.go | 9 +- .../{nginx => performance}/process_info.go | 2 +- .../{nginx => performance}/stub_status.go | 13 +- 34 files changed, 3649 insertions(+), 1345 deletions(-) create mode 100644 app/src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue create mode 100644 app/src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue create mode 100644 app/src/views/dashboard/components/ParamsOpt/SizeInput.vue create mode 100644 app/src/views/dashboard/components/ParamsOpt/TimeInput.vue create mode 100644 app/src/views/dashboard/components/ParamsOptimization.vue delete mode 100644 app/src/views/dashboard/components/PerformanceOptimization.vue delete mode 100644 internal/config/perf_opt.go delete mode 100644 internal/nginx/config_info.go create mode 100644 internal/performance/config_info.go create mode 100644 internal/performance/perf_opt.go rename internal/{nginx => performance}/performance.go (90%) rename internal/{nginx => performance}/process_info.go (99%) rename internal/{nginx => performance}/stub_status.go (93%) diff --git a/api/nginx/performance.go b/api/nginx/performance.go index ee715738..ecac4628 100644 --- a/api/nginx/performance.go +++ b/api/nginx/performance.go @@ -3,8 +3,7 @@ package nginx import ( "net/http" - "github.com/0xJacky/Nginx-UI/internal/config" - "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/0xJacky/Nginx-UI/internal/performance" "github.com/gin-gonic/gin" "github.com/uozi-tech/cosy" ) @@ -12,7 +11,7 @@ import ( // GetPerformanceSettings retrieves current Nginx performance settings func GetPerformanceSettings(c *gin.Context) { // Get Nginx worker configuration info - perfInfo, err := nginx.GetNginxWorkerConfigInfo() + perfInfo, err := performance.GetNginxWorkerConfigInfo() if err != nil { cosy.ErrHandler(c, err) return @@ -22,12 +21,12 @@ func GetPerformanceSettings(c *gin.Context) { // UpdatePerformanceSettings updates Nginx performance settings func UpdatePerformanceSettings(c *gin.Context) { - var perfOpt config.PerfOpt + var perfOpt performance.PerfOpt if !cosy.BindAndValid(c, &perfOpt) { return } - err := config.UpdatePerfOpt(&perfOpt) + err := performance.UpdatePerfOpt(&perfOpt) if err != nil { cosy.ErrHandler(c, err) return diff --git a/api/nginx/status.go b/api/nginx/status.go index d794e81f..d7ea0a37 100644 --- a/api/nginx/status.go +++ b/api/nginx/status.go @@ -10,6 +10,7 @@ import ( "time" "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/0xJacky/Nginx-UI/internal/performance" "github.com/gin-gonic/gin" "github.com/uozi-tech/cosy" "github.com/uozi-tech/cosy/logger" @@ -18,18 +19,18 @@ import ( // NginxPerformanceInfo stores Nginx performance-related information type NginxPerformanceInfo struct { // Basic status information - nginx.StubStatusData + performance.StubStatusData // Process-related information - nginx.NginxProcessInfo + performance.NginxProcessInfo // Configuration information - nginx.NginxConfigInfo + performance.NginxConfigInfo } // GetDetailStatus retrieves detailed Nginx status information func GetDetailStatus(c *gin.Context) { - response := nginx.GetPerformanceData() + response := performance.GetPerformanceData() c.JSON(http.StatusOK, response) } @@ -70,7 +71,7 @@ func StreamDetailStatus(c *gin.Context) { // sendPerformanceData sends performance data once func sendPerformanceData(c *gin.Context) error { - response := nginx.GetPerformanceData() + response := performance.GetPerformanceData() // Send SSE event c.SSEvent("message", response) @@ -82,7 +83,7 @@ func sendPerformanceData(c *gin.Context) error { // CheckStubStatus gets Nginx stub_status module status func CheckStubStatus(c *gin.Context) { - stubStatus := nginx.GetStubStatus() + stubStatus := performance.GetStubStatus() c.JSON(http.StatusOK, stubStatus) } @@ -97,7 +98,7 @@ func ToggleStubStatus(c *gin.Context) { return } - stubStatus := nginx.GetStubStatus() + stubStatus := performance.GetStubStatus() // If current status matches desired status, no action needed if stubStatus.Enabled == json.Enable { @@ -107,9 +108,9 @@ func ToggleStubStatus(c *gin.Context) { var err error if json.Enable { - err = nginx.EnableStubStatus() + err = performance.EnableStubStatus() } else { - err = nginx.DisableStubStatus() + err = performance.DisableStubStatus() } if err != nil { @@ -126,7 +127,7 @@ func ToggleStubStatus(c *gin.Context) { } // Check status after operation - newStubStatus := nginx.GetStubStatus() + newStubStatus := performance.GetStubStatus() c.JSON(http.StatusOK, newStubStatus) } diff --git a/app/src/api/ngx.ts b/app/src/api/ngx.ts index 188d9be9..3349445a 100644 --- a/app/src/api/ngx.ts +++ b/app/src/api/ngx.ts @@ -35,37 +35,59 @@ export interface NgxLocation { export type DirectiveMap = Record +export interface ProxyCacheConfig { + enabled: boolean + path: string + levels: string + use_temp_path: string + keys_zone: string + inactive: string + max_size: string + min_free: string + manager_files: string + manager_sleep: string + manager_threshold: string + loader_files: string + loader_sleep: string + loader_threshold: string + purger: string + purger_files: string + purger_sleep: string + purger_threshold: string +} + export interface NginxPerformanceInfo { - active: number // 活动连接数 - accepts: number // 总握手次数 - handled: number // 总连接次数 - requests: number // 总请求数 - reading: number // 读取客户端请求数 - writing: number // 响应数 - waiting: number // 驻留进程(等待请求) - workers: number // 工作进程数 - master: number // 主进程数 - cache: number // 缓存管理进程数 - other: number // 其他Nginx相关进程数 - cpu_usage: number // CPU 使用率 - memory_usage: number // 内存使用率(MB) - worker_processes: number // worker_processes 配置 - worker_connections: number // worker_connections 配置 - process_mode: string // worker进程配置模式:'auto'或'manual' + active: number // Number of active connections + accepts: number // Total number of accepted connections + handled: number // Total number of handled connections + requests: number // Total number of requests + reading: number // Number of connections reading request data + writing: number // Number of connections writing response data + waiting: number // Number of idle connections waiting for requests + workers: number // Number of worker processes + master: number // Number of master processes + cache: number // Number of cache manager processes + other: number // Number of other Nginx-related processes + cpu_usage: number // CPU usage percentage + memory_usage: number // Memory usage in MB + worker_processes: number // worker_processes configuration + worker_connections: number // worker_connections configuration + process_mode: string // Worker process configuration mode: 'auto' or 'manual' } export interface NginxConfigInfo { - worker_processes: number + worker_processes: string worker_connections: number process_mode: string - keepalive_timeout: number + keepalive_timeout: string gzip: string gzip_min_length: number gzip_comp_level: number client_max_body_size: string - server_names_hash_bucket_size: number + server_names_hash_bucket_size: string client_header_buffer_size: string client_body_buffer_size: string + proxy_cache: ProxyCacheConfig } export interface NginxPerfOpt { @@ -79,6 +101,7 @@ export interface NginxPerfOpt { server_names_hash_bucket_size: string client_header_buffer_size: string client_body_buffer_size: string + proxy_cache: ProxyCacheConfig } const ngx = { diff --git a/app/src/components/EnvGroupTabs/EnvGroupTabs.vue b/app/src/components/EnvGroupTabs/EnvGroupTabs.vue index d726d60b..c7c611fc 100644 --- a/app/src/components/EnvGroupTabs/EnvGroupTabs.vue +++ b/app/src/components/EnvGroupTabs/EnvGroupTabs.vue @@ -20,7 +20,8 @@ const loading = ref({ restart: false, }) -// 使用SSE composable +// Use SSE composable +// Error handling is implemented internally by useSSE with automatic reconnection const { connect, disconnect } = useSSE() // Get node data when tab is not 'All' diff --git a/app/src/components/SystemRestore/SystemRestoreContent.vue b/app/src/components/SystemRestore/SystemRestoreContent.vue index 72a1edfb..7b8a87ff 100644 --- a/app/src/components/SystemRestore/SystemRestoreContent.vue +++ b/app/src/components/SystemRestore/SystemRestoreContent.vue @@ -35,7 +35,7 @@ const formModel = reactive({ verifyHash: true, }) -// 添加两个变量控制模态框显示和倒计时 +// Add two variables to control modal display and countdown const showRestoreModal = ref(false) const countdown = ref(5) const countdownTimer = ref | null>(null) diff --git a/app/src/language/ar/app.po b/app/src/language/ar/app.po index 766ebaf6..99daf4b0 100644 --- a/app/src/language/ar/app.po +++ b/app/src/language/ar/app.po @@ -117,7 +117,7 @@ msgstr "الوضع المتقدم" msgid "Afterwards, refresh this page and click add passkey again." msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق إضافة مفتاح مرور مرة أخرى." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "الكل" @@ -214,7 +214,7 @@ msgstr "هل أنت متأكد أنك تريد الحذف؟" msgid "Are you sure you want to recover this item?" msgstr "هل أنت متأكد أنك تريد استرداد هذا العنصر؟" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "هل أنت متأكد أنك تريد الحذف؟" @@ -231,7 +231,7 @@ msgstr "هل أنت متأكد أنك تريد إزالة هذا العنصر؟" msgid "Are you sure you want to remove this location?" msgstr "هل أنت متأكد أنك تريد إزالة هذا المكان؟" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيهات؟" @@ -270,8 +270,8 @@ msgstr "إعدادات المصادقة" msgid "Author" msgstr "الكاتب" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -365,6 +365,11 @@ msgstr "أساسي" msgid "Basic Mode" msgstr "الوضع الأساسي" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "إعدادات المصادقة الثنائية" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -395,16 +400,45 @@ msgstr "بناء مع" msgid "CA Dir" msgstr "مجلد سلطة التصديق" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "المسار المتغير" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "مجلد سلطة التصديق" @@ -629,23 +663,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -681,7 +715,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -732,7 +766,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -889,6 +923,10 @@ msgstr "أيام" msgid "Decryption failed" msgstr "وصف" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1008,6 +1046,15 @@ msgstr "" msgid "Directives" msgstr "توجيهات" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "توجيهات" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1249,7 +1296,7 @@ msgstr "تم تفعيل المصادقة الثنائية بنجاح" msgid "Enable auto-renewal failed for %{name}" msgstr "فشل تفعيل التجديد التلقائي لـ %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1262,6 +1309,10 @@ msgstr "فشل التفعيل" msgid "Enable HTTPS" msgstr "تفعيل TOTP" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "خطأ في تفعيل الموقع البعيد" @@ -1620,7 +1671,7 @@ msgstr "فشل في الحصول على معلومات الشهادة" msgid "Failed to get certificate information" msgstr "فشل في الحصول على معلومات الشهادة" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "فشل في الحصول على معلومات الشهادة" @@ -1693,7 +1744,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "فشل في الحصول على الشهادة" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "فشل في الحصول على معلومات الشهادة" @@ -1822,15 +1873,15 @@ msgstr "جارٍ الحصول على الشهادة، يرجى الانتظار. msgid "Github Proxy" msgstr "وكيل Github" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1931,6 +1982,10 @@ msgstr "استيراد" msgid "Import Certificate" msgstr "استيراد شهادة" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2088,17 +2143,13 @@ msgstr "المُصدر: %{issuer}" msgid "Jwt Secret" msgstr "سر JWT" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2187,6 +2238,24 @@ msgstr "تحميل من الإعدادات" msgid "Load successfully" msgstr "تم التحميل بنجاح" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "إنشاء ملف" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "تحميل من الإعدادات" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2289,7 +2358,22 @@ msgstr "إدارة المستخدمين" msgid "Managed Certificate" msgstr "شهادة مُدارة" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "إدارة المواقع" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "إدارة المواقع" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "إدارة التدفقات" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2324,11 +2408,15 @@ msgstr "الإصدار الحالي" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "الإصدار الحالي" @@ -2338,6 +2426,10 @@ msgstr "الإصدار الحالي" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2355,10 +2447,18 @@ msgstr "الذاكرة والتخزين" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "دقائق" @@ -2618,8 +2718,8 @@ msgid "" msgstr "خطأ في تحليل تكوين Nginx" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2722,10 +2822,18 @@ msgstr "الإشعارات" msgid "Notifier not found" msgstr "لم يتم العثور على الملف" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2753,12 +2861,13 @@ msgstr "" "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة " "باستخدام Firefox." -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "غير متصل" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2789,7 +2898,8 @@ msgstr "حسنًا" msgid "OK" msgstr "حسنًا" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2797,7 +2907,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2813,14 +2923,6 @@ msgstr "" msgid "OpenAI" msgstr "أوبن أي آي" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "أو" @@ -2877,6 +2979,11 @@ msgstr "إدارة المواقع" msgid "Params" msgstr "عوامل" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "مفتاح المرور" @@ -2931,11 +3038,16 @@ msgstr "نفذ" msgid "Perform core upgrade error" msgstr "خطأ في تنفيذ ترقية النواة" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "نفذ" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "تم التعطيل بنجاح" @@ -3227,7 +3339,7 @@ msgstr "ملاحظة الإصدار" msgid "Reload" msgstr "إعادة تحميل" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3256,7 +3368,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد" msgid "Reload Remote Nginx Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3416,7 +3528,7 @@ msgstr "" msgid "Restart" msgstr "إعادة تشغيل" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3443,7 +3555,7 @@ msgstr "خطأ في إعادة تسمية الموقع البعيد" msgid "Restart Remote Nginx Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3605,10 +3717,6 @@ msgstr "امسح رمز الاستجابة السريعة بهاتفك المح msgid "SDK" msgstr "حزمة تطوير البرمجيات SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "تم نسخ السر" @@ -3649,11 +3757,11 @@ msgstr "معلومات الخادم" msgid "Server Info" msgstr "معلومات الخادم" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3707,6 +3815,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "عرض" @@ -3767,6 +3879,14 @@ msgstr "مجلد" msgid "Skip Installation" msgstr "تثبيت" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "محتوى شهادة SSL" @@ -3953,7 +4073,7 @@ msgstr "خطأ في تزامن التكوين" msgid "Sync Config Success" msgstr "تمت مزامنة التكوين بنجاح" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "مزامنة العقد" @@ -4411,6 +4531,10 @@ msgstr "استخدم كلمة المرور لمرة واحدة" msgid "Use recovery code" msgstr "استخدم رمز الاسترداد" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "مستخدم" @@ -4560,14 +4684,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "الإصدار الحالي" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4589,8 +4717,8 @@ msgstr "كتابة مفتاح الشهادة الخاص إلى القرص" msgid "Writing certificate to disk" msgstr "كتابة الشهادة إلى القرص" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/de_DE/app.po b/app/src/language/de_DE/app.po index 17e865dd..836b4441 100644 --- a/app/src/language/de_DE/app.po +++ b/app/src/language/de_DE/app.po @@ -120,7 +120,7 @@ msgstr "" "Anschließend diese Seite aktualisieren und erneut auf Passkey hinzufügen " "klicken." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "Alle" @@ -225,7 +225,7 @@ msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" msgid "Are you sure you want to recover this item?" msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" @@ -245,7 +245,7 @@ msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" msgid "Are you sure you want to remove this location?" msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Bist du sicher, dass du diese Richtlinie löschen möchtest?" @@ -284,8 +284,8 @@ msgstr "Authentifizierungseinstellungen" msgid "Author" msgstr "Autor" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -381,6 +381,11 @@ msgstr "Basic-Modus" msgid "Basic Mode" msgstr "Basic-Modus" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "2FA-Einstellungen" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -413,16 +418,45 @@ msgstr "Build mit" msgid "CA Dir" msgstr "CA-Verzeichnis" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Zertifikat ist gültig" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "CA-Verzeichnis" @@ -647,23 +681,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -700,7 +734,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -752,7 +786,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Ver" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -914,6 +948,10 @@ msgstr "Tage" msgid "Decryption failed" msgstr "Beschreibung" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1036,6 +1074,15 @@ msgstr "" msgid "Directives" msgstr "Anweisung" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Anweisung" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1291,7 +1338,7 @@ msgstr "Aktivieren erfolgreich" msgid "Enable auto-renewal failed for %{name}" msgstr "Aktiviere automatische Verlängerung fehlgeschlagen für %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1304,6 +1351,10 @@ msgstr "Aktivieren fehlgeschlagen" msgid "Enable HTTPS" msgstr "Aktiviere TLS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1667,7 +1718,7 @@ msgstr "Fehler beim Abrufen von Zertifikatsinformationen" msgid "Failed to get certificate information" msgstr "Fehler beim Abrufen von Zertifikatsinformationen" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Fehler beim Abrufen von Zertifikatsinformationen" @@ -1736,7 +1787,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Zertifikat ist gültig" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Fehler beim Abrufen von Zertifikatsinformationen" @@ -1872,15 +1923,15 @@ msgstr "Hole das Zertifikat, bitte warten..." msgid "Github Proxy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1982,6 +2033,10 @@ msgstr "Import" msgid "Import Certificate" msgstr "Zertifikatsstatus" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2142,17 +2197,13 @@ msgstr "Aussteller: %{issuer}" msgid "Jwt Secret" msgstr "Jwt-Secret" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2248,6 +2299,24 @@ msgstr "Aus Einstellungen laden" msgid "Load successfully" msgstr "Speichern erfolgreich" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Erstellt" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "Aus Einstellungen laden" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2356,7 +2425,22 @@ msgstr "Verwalte Benutzer" msgid "Managed Certificate" msgstr "Zertifikat ist gültig" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Verwalte Seiten" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Verwalte Seiten" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Verwalte Seiten" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2391,11 +2475,15 @@ msgstr "Aktuelle Version" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Aktuelle Version" @@ -2405,6 +2493,10 @@ msgstr "Aktuelle Version" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2422,10 +2514,18 @@ msgstr "Arbeitsspeicher und Speicher" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Minuten" @@ -2696,8 +2796,8 @@ msgid "" msgstr "Name der Konfiguration" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2804,10 +2904,18 @@ msgstr "Zertifikat ist gültig" msgid "Notifier not found" msgstr "File Not Found" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2836,12 +2944,13 @@ msgstr "" "OCSP Must Staple kann bei einigen Benutzern beim ersten Zugriff mit Firefox " "Fehler verursachen." -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "Offline" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2872,7 +2981,8 @@ msgstr "OK" msgid "OK" msgstr "OK" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2881,7 +2991,7 @@ msgid "Once the verification is complete, the records will be removed." msgstr "" "Sobaöd die Überprüfung abgeschlossen ist, werden die Einträge entfernt." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2897,14 +3007,6 @@ msgstr "" msgid "OpenAI" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "Oder" @@ -2962,6 +3064,11 @@ msgstr "Verwalte Seiten" msgid "Params" msgstr "Parameter" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "Passkey" @@ -3016,11 +3123,16 @@ msgstr "Ausführen" msgid "Perform core upgrade error" msgstr "Führe Core-Upgrade-Fehler aus" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "Ausführen" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Erfolgreich deaktiviert" @@ -3331,7 +3443,7 @@ msgstr "Änderungsprotokoll" msgid "Reload" msgstr "Neu laden" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3360,7 +3472,7 @@ msgstr "Zertifikat ist gültig" msgid "Reload Remote Nginx Success" msgstr "Zertifikat ist gültig" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3534,7 +3646,7 @@ msgstr "" msgid "Restart" msgstr "Neustart" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3561,7 +3673,7 @@ msgstr "Zertifikat ist gültig" msgid "Restart Remote Nginx Success" msgstr "Zertifikat ist gültig" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3728,10 +3840,6 @@ msgstr "" msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "Schlüssel wurde kopiert" @@ -3772,11 +3880,11 @@ msgstr "Serverinformationen" msgid "Server Info" msgstr "Serverinformationen" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3830,6 +3938,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "Zeige" @@ -3889,6 +4001,14 @@ msgstr "" msgid "Skip Installation" msgstr "Installieren" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 #, fuzzy msgid "SSL Certificate Content" @@ -4085,7 +4205,7 @@ msgstr "Zertifikat ist gültig" msgid "Sync Config Success" msgstr "Zertifikat ist gültig" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "Synchrone Knoten" @@ -4550,6 +4670,10 @@ msgstr "Benutze OTP" msgid "Use recovery code" msgstr "Benuzte Wiederherstellungscode" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4705,14 +4829,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Aktuelle Version" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4734,8 +4862,8 @@ msgstr "Scrheibe Zertifikat-Privatschlüssel auf die Festplatte" msgid "Writing certificate to disk" msgstr "Schreibe Zertifikat auf die Festplatte" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/en/app.po b/app/src/language/en/app.po index e140abb2..13e09c81 100644 --- a/app/src/language/en/app.po +++ b/app/src/language/en/app.po @@ -119,7 +119,7 @@ msgstr "Advance Mode" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "" @@ -224,7 +224,7 @@ msgstr "Are you sure you want to remove this directive?" msgid "Are you sure you want to recover this item?" msgstr "Are you sure you want to remove this directive?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Are you sure you want to remove this directive?" @@ -243,7 +243,7 @@ msgstr "Are you sure you want to remove this directive?" msgid "Are you sure you want to remove this location?" msgstr "Are you sure you want to remove this directive?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Are you sure you want to remove this directive?" @@ -281,8 +281,8 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -378,6 +378,10 @@ msgstr "Basic Mode" msgid "Basic Mode" msgstr "Basic Mode" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +msgid "Basic Settings" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -409,16 +413,45 @@ msgstr "Build with" msgid "CA Dir" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Certificate is valid" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "" @@ -641,23 +674,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -694,7 +727,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -746,7 +779,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -905,6 +938,10 @@ msgstr "" msgid "Decryption failed" msgstr "Enable failed" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1027,6 +1064,15 @@ msgstr "" msgid "Directives" msgstr "Directives" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Directives" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1277,7 +1323,7 @@ msgstr "Enabled successfully" msgid "Enable auto-renewal failed for %{name}" msgstr "Enable auto-renewal failed for %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1290,6 +1336,10 @@ msgstr "Enable failed" msgid "Enable HTTPS" msgstr "Enable TLS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1654,7 +1704,7 @@ msgstr "Certificate is valid" msgid "Failed to get certificate information" msgstr "Certificate is valid" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Certificate is valid" @@ -1727,7 +1777,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Certificate is valid" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Certificate is valid" @@ -1859,15 +1909,15 @@ msgstr "Getting the certificate, please wait..." msgid "Github Proxy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1960,6 +2010,10 @@ msgstr "" msgid "Import Certificate" msgstr "Certificate Status" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2124,17 +2178,13 @@ msgstr "" msgid "Jwt Secret" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2230,6 +2280,23 @@ msgstr "" msgid "Load successfully" msgstr "Saved successfully" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Created at" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +msgid "Loader Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2330,7 +2397,22 @@ msgstr "Manage Users" msgid "Managed Certificate" msgstr "Certificate is valid" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Manage Sites" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Manage Sites" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Manage Sites" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2365,11 +2447,15 @@ msgstr "Content" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Content" @@ -2379,6 +2465,10 @@ msgstr "Content" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2396,10 +2486,18 @@ msgstr "Memory and Storage" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2667,8 +2765,8 @@ msgid "" msgstr "Configuration Name" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2773,10 +2871,18 @@ msgstr "Certificate is valid" msgid "Notifier not found" msgstr "File Not Found" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2804,11 +2910,12 @@ msgid "" "Firefox." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 msgid "Off" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2839,7 +2946,8 @@ msgstr "" msgid "OK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2847,7 +2955,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2863,14 +2971,6 @@ msgstr "" msgid "OpenAI" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2927,6 +3027,11 @@ msgstr "Manage Sites" msgid "Params" msgstr "Params" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -2979,11 +3084,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Certificate has expired" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Disabled successfully" @@ -3278,7 +3387,7 @@ msgstr "" msgid "Reload" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3306,7 +3415,7 @@ msgstr "Certificate is valid" msgid "Reload Remote Nginx Success" msgstr "Certificate is valid" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3480,7 +3589,7 @@ msgstr "" msgid "Restart" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 msgid "Restart Nginx" @@ -3506,7 +3615,7 @@ msgstr "Certificate is valid" msgid "Restart Remote Nginx Success" msgstr "Certificate is valid" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3672,10 +3781,6 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3717,11 +3822,11 @@ msgstr "Server Info" msgid "Server Info" msgstr "Server Info" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3773,6 +3878,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" @@ -3834,6 +3943,14 @@ msgstr "Directive" msgid "Skip Installation" msgstr "Install" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 #, fuzzy msgid "SSL Certificate Content" @@ -4032,7 +4149,7 @@ msgstr "Certificate is valid" msgid "Sync Config Success" msgstr "Certificate is valid" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "" @@ -4473,6 +4590,10 @@ msgstr "" msgid "Use recovery code" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4616,14 +4737,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Content" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4646,8 +4771,8 @@ msgstr "" msgid "Writing certificate to disk" msgstr "Certificate is valid" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/es/app.po b/app/src/language/es/app.po index 1f7dad13..ca4cf392 100644 --- a/app/src/language/es/app.po +++ b/app/src/language/es/app.po @@ -122,7 +122,7 @@ msgstr "" "Luego, actualice esta página y haga clic nuevamente en Agregar llave de " "acceso." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "Todo" @@ -219,7 +219,7 @@ msgstr "¿Está seguro de que quiere borrar?" msgid "Are you sure you want to recover this item?" msgstr "¿Está seguro de que quiere recuperar este elemento?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "¿Está seguro de que quiere borrar?" @@ -236,7 +236,7 @@ msgstr "¿Está seguro de que desea eliminar este elemento?" msgid "Are you sure you want to remove this location?" msgstr "¿Está seguro de que quiere borrar esta ubicación?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "¿Está seguro de que desea borrar todas las notificaciones?" @@ -275,8 +275,8 @@ msgstr "Configuración de autenticación" msgid "Author" msgstr "Autor" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "Automático" @@ -370,6 +370,11 @@ msgstr "Básico" msgid "Basic Mode" msgstr "Modo Básico" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "Configuración de 2FA" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -402,16 +407,45 @@ msgstr "Desarrollado con" msgid "CA Dir" msgstr "Dir CA" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Ruta cambiada" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "Directorio CA" @@ -628,23 +662,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -680,7 +714,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -731,7 +765,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Conexión perdida, por favor actualice la página." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -890,6 +924,10 @@ msgstr "Días" msgid "Decryption failed" msgstr "Descripción" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1009,6 +1047,15 @@ msgstr "" msgid "Directives" msgstr "Directivas" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Directivas" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1249,7 +1296,7 @@ msgstr "Habilitar 2FA exitoso" msgid "Enable auto-renewal failed for %{name}" msgstr "No se pudo activar la renovación automática por %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1262,6 +1309,10 @@ msgstr "Falló la habilitación" msgid "Enable HTTPS" msgstr "Habilitar TLS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1622,7 +1673,7 @@ msgstr "No se pudo obtener la información del certificado" msgid "Failed to get certificate information" msgstr "No se pudo obtener la información del certificado" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "No se pudo obtener la información del certificado" @@ -1691,7 +1742,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Falla al obtener el certificado" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "No se pudo obtener la información del certificado" @@ -1823,15 +1874,15 @@ msgstr "Obteniendo el certificado, por favor espere..." msgid "Github Proxy" msgstr "Proxy Github" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1934,6 +1985,10 @@ msgstr "Importar" msgid "Import Certificate" msgstr "Importar Certificado" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2088,17 +2143,13 @@ msgstr "Emisor: %{issuer}" msgid "Jwt Secret" msgstr "Secreto Jwt" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2189,6 +2240,24 @@ msgstr "Cargar desde configuraciones" msgid "Load successfully" msgstr "Cargado con éxito" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Crear Archivo" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "Cargar desde configuraciones" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2292,7 +2361,22 @@ msgstr "Administrar usuarios" msgid "Managed Certificate" msgstr "Certificado Administrado" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Administrar sitios" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Administrar sitios" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Administrar Transmisiones" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2327,11 +2411,15 @@ msgstr "Versión actual" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Versión actual" @@ -2341,6 +2429,10 @@ msgstr "Versión actual" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2358,10 +2450,18 @@ msgstr "Memoria y almacenamiento" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Minutos" @@ -2624,8 +2724,8 @@ msgid "" msgstr "Error de análisis de configuración de Nginx" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2730,10 +2830,18 @@ msgstr "Notificaciones" msgid "Notifier not found" msgstr "Archivo no Encontrado" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2761,12 +2869,13 @@ msgstr "" "OCSP Must Staple puede causar errores para algunos usuarios en el primer " "acceso usando Firefox." -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "Desconectado" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2797,7 +2906,8 @@ msgstr "Ok" msgid "OK" msgstr "OK" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2805,7 +2915,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "Una vez que se complete la verificación, los registros se eliminarán." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2821,14 +2931,6 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "O" @@ -2885,6 +2987,11 @@ msgstr "Administrar sitios" msgid "Params" msgstr "Parámetros" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "Llave de acceso" @@ -2940,11 +3047,16 @@ msgstr "Realizar" msgid "Perform core upgrade error" msgstr "Error al ejecutar la actualización del kernel" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "Realizar" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Desactivado con éxito" @@ -3252,7 +3364,7 @@ msgstr "Nota de versión" msgid "Reload" msgstr "Recargar" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3281,7 +3393,7 @@ msgstr "Error al renombrar la configuración remota" msgid "Reload Remote Nginx Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3444,7 +3556,7 @@ msgstr "" msgid "Restart" msgstr "Reiniciar" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3471,7 +3583,7 @@ msgstr "Error al renombrar la configuración remota" msgid "Restart Remote Nginx Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3637,10 +3749,6 @@ msgstr "" msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "El secreto ha sido copiado" @@ -3681,11 +3789,11 @@ msgstr "Información del servidor" msgid "Server Info" msgstr "Información del servidor" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3739,6 +3847,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "Mostrar" @@ -3797,6 +3909,14 @@ msgstr "" msgid "Skip Installation" msgstr "Instalar" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "Contenido de certificado SSL" @@ -3982,7 +4102,7 @@ msgstr "Error de Configuración de Sincronización" msgid "Sync Config Success" msgstr "Configuración de sincronización exitosa" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 #, fuzzy msgid "Sync Nodes" @@ -4453,6 +4573,10 @@ msgstr "Usar OTP" msgid "Use recovery code" msgstr "Usar código de recuperación" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "Usuario" @@ -4606,14 +4730,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Versión actual" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4635,8 +4763,8 @@ msgstr "Escribir la clave privada del certificado a disco" msgid "Writing certificate to disk" msgstr "Escribir certificado a disco" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/fr_FR/app.po b/app/src/language/fr_FR/app.po index cc211558..35c94577 100644 --- a/app/src/language/fr_FR/app.po +++ b/app/src/language/fr_FR/app.po @@ -124,7 +124,7 @@ msgid "Afterwards, refresh this page and click add passkey again." msgstr "" "Après, rechargez la page et cliquez de nouveau sur ajouter une clé d'accès." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "Tous" @@ -230,7 +230,7 @@ msgstr "Etes-vous sûr que vous voulez supprimer ?" msgid "Are you sure you want to recover this item?" msgstr "Voulez-vous vraiment supprimer cette directive ?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Etes-vous sûr que vous voulez supprimer ?" @@ -248,7 +248,7 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?" msgid "Are you sure you want to remove this location?" msgstr "Voulez-vous vraiment supprimer cette localisation ?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Voulez-vous vraiment effacer l'historique du chat ?" @@ -288,8 +288,8 @@ msgstr "Options d'authentification" msgid "Author" msgstr "Autheur" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "Auto" @@ -383,6 +383,11 @@ msgstr "Basique" msgid "Basic Mode" msgstr "Mode simple" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "Options 2FA" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -416,16 +421,45 @@ msgstr "Build avec" msgid "CA Dir" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Changer de certificat" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "" @@ -654,23 +688,23 @@ msgstr "" msgid "Click to copy" msgstr "Clique pour copier" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -707,7 +741,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -758,7 +792,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Connexion perdue, merci de recharger la page." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -920,6 +954,10 @@ msgstr "Jours" msgid "Decryption failed" msgstr "Description" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1044,6 +1082,15 @@ msgstr "DirectiveIdx hors limite" msgid "Directives" msgstr "Directives" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Directives" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1298,7 +1345,7 @@ msgstr "Activé avec succès" msgid "Enable auto-renewal failed for %{name}" msgstr "Échec de l'activation du renouvellement automatique pour %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1311,6 +1358,10 @@ msgstr "Échec de l'activation" msgid "Enable HTTPS" msgstr "Activer TLS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1676,7 +1727,7 @@ msgstr "Échec de l'obtention des informations sur le certificat" msgid "Failed to get certificate information" msgstr "Échec de l'obtention des informations sur le certificat" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Échec de l'obtention des informations sur le certificat" @@ -1751,7 +1802,7 @@ msgstr "Erreur lecture nginx.conf" msgid "Failed to revoke certificate" msgstr "Obtenir un certificat" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Échec de l'obtention des informations sur le certificat" @@ -1885,15 +1936,15 @@ msgstr "Obtention du certificat, veuillez patienter..." msgid "Github Proxy" msgstr "Proxy Github" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -2001,6 +2052,10 @@ msgstr "Exporter" msgid "Import Certificate" msgstr "État du certificat" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2158,10 +2213,6 @@ msgstr "Auteur : %{issuer}" msgid "Jwt Secret" msgstr "Secret Jwt" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -msgstr "" - #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -2170,7 +2221,7 @@ msgstr "" "Garder vos codes de récupération sécurisés autant que votre mot de passe. " "Nous recommandons de les enregistrer avec un gestionnaire de mots de passe." -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2267,6 +2318,24 @@ msgstr "Charger à partir des options" msgid "Load successfully" msgstr "Enregistré avec succès" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Créé le" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "Charger à partir des options" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2370,7 +2439,22 @@ msgstr "Gérer les utilisateurs" msgid "Managed Certificate" msgstr "Changer de certificat" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Gérer les sites" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Gérer les sites" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Gérer les sites" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2405,11 +2489,15 @@ msgstr "Version actuelle" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Version actuelle" @@ -2419,6 +2507,10 @@ msgstr "Version actuelle" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2436,10 +2528,18 @@ msgstr "Mémoire et stockage" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2708,8 +2808,8 @@ msgid "" msgstr "Erreur d'analyse de configuration Nginx" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2814,10 +2914,18 @@ msgstr "Certification" msgid "Notifier not found" msgstr "Fichier introuvable" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2843,11 +2951,12 @@ msgid "" "Firefox." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 msgid "Off" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2878,7 +2987,8 @@ msgstr "" msgid "OK" msgstr "OK" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2886,7 +2996,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2902,14 +3012,6 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2965,6 +3067,11 @@ msgstr "Gérer les sites" msgid "Params" msgstr "Paramètres" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -3016,11 +3123,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Erreur lors de la mise a niveau du core" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Désactivé avec succès" @@ -3325,7 +3436,7 @@ msgstr "Note de version" msgid "Reload" msgstr "Recharger" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3354,7 +3465,7 @@ msgstr "Changer de certificat" msgid "Reload Remote Nginx Success" msgstr "Changer de certificat" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3529,7 +3640,7 @@ msgstr "" msgid "Restart" msgstr "Redémarrer" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3556,7 +3667,7 @@ msgstr "Changer de certificat" msgid "Restart Remote Nginx Success" msgstr "Changer de certificat" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3720,10 +3831,6 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3764,11 +3871,11 @@ msgstr "Informations sur le serveur" msgid "Server Info" msgstr "Informations sur le serveur" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3822,6 +3929,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" @@ -3882,6 +3993,14 @@ msgstr "Directive" msgid "Skip Installation" msgstr "Installer" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 #, fuzzy msgid "SSL Certificate Content" @@ -4079,7 +4198,7 @@ msgstr "Changer de certificat" msgid "Sync Config Success" msgstr "Changer de certificat" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "" @@ -4527,6 +4646,10 @@ msgstr "" msgid "Use recovery code" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4670,14 +4793,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Version actuelle" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4699,8 +4826,8 @@ msgstr "Écriture de la clé privée du certificat sur le disque" msgid "Writing certificate to disk" msgstr "Écriture du certificat sur le disque" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/ko_KR/app.po b/app/src/language/ko_KR/app.po index 53f118fd..373bcfcb 100644 --- a/app/src/language/ko_KR/app.po +++ b/app/src/language/ko_KR/app.po @@ -118,7 +118,7 @@ msgstr "고급 모드" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "" @@ -212,7 +212,7 @@ msgstr "정말 삭제하시겠습니까?" msgid "Are you sure you want to recover this item?" msgstr "정말로 이 항목을 복구하시겠습니까?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "다음 동기화 노드에서 Nginx를 다시 로드하시겠습니까?" @@ -228,7 +228,7 @@ msgstr "이 항목을 제거하시겠습니까?" msgid "Are you sure you want to remove this location?" msgstr "이 위치를 제거하시겠습니까?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "다음 동기화 노드에서 Nginx를 다시 시작하시겠습니까?" @@ -265,8 +265,8 @@ msgstr "인증 설정" msgid "Author" msgstr "저자" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -360,6 +360,11 @@ msgstr "기본" msgid "Basic Mode" msgstr "기본 모드" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "2FA 설정" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -390,16 +395,45 @@ msgstr "빌드 환경" msgid "CA Dir" msgstr "CA 디렉토리" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "인증서 변경" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "CA 디렉토리" @@ -618,23 +652,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -670,7 +704,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -721,7 +755,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -879,6 +913,10 @@ msgstr "" msgid "Decryption failed" msgstr "설명" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1000,6 +1038,15 @@ msgstr "" msgid "Directives" msgstr "지시문들" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "지시문들" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1240,7 +1287,7 @@ msgstr "성공적으로 활성화" msgid "Enable auto-renewal failed for %{name}" msgstr "%{name}에 대한 자동 갱신 활성화 실패" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1253,6 +1300,10 @@ msgstr "활성화 실패" msgid "Enable HTTPS" msgstr "TLS 활성화" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1616,7 +1667,7 @@ msgstr "인증서 정보 가져오기 실패" msgid "Failed to get certificate information" msgstr "인증서 정보 가져오기 실패" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "인증서 정보 가져오기 실패" @@ -1685,7 +1736,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "인증서 획득 실패" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "인증서 정보 가져오기 실패" @@ -1816,15 +1867,15 @@ msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..." msgid "Github Proxy" msgstr "Github 프록시" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1919,6 +1970,10 @@ msgstr "가져오기" msgid "Import Certificate" msgstr "인증서 상태" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2077,17 +2132,13 @@ msgstr "" msgid "Jwt Secret" msgstr "Jwt 토큰" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2183,6 +2234,24 @@ msgstr "" msgid "Load successfully" msgstr "성공적으로 저장됨" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "생성" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "2FA 설정" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2288,7 +2357,22 @@ msgstr "사용자 관리" msgid "Managed Certificate" msgstr "인증서 유효" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "사이트 관리" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "사이트 관리" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "스트림 관리" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2323,11 +2407,15 @@ msgstr "현재 버전" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "현재 버전" @@ -2337,6 +2425,10 @@ msgstr "현재 버전" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2354,10 +2446,18 @@ msgstr "메모리 및 저장소" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "분" @@ -2628,8 +2728,8 @@ msgid "" msgstr "Nginx 구성 오류름" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2733,10 +2833,18 @@ msgstr "알림" msgid "Notifier not found" msgstr "파일을 찾을 수 없음" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2763,12 +2871,13 @@ msgid "" "Firefox." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "오프라인" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2799,7 +2908,8 @@ msgstr "" msgid "OK" msgstr "확인" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2807,7 +2917,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "검증이 완료되면, 레코드는 제거됩니다." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2823,14 +2933,6 @@ msgstr "" msgid "OpenAI" msgstr "오픈AI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2887,6 +2989,11 @@ msgstr "사이트 관리" msgid "Params" msgstr "파라미터" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -2938,11 +3045,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "핵심 업그레이드 오류 수행" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "성공적으로 비활성화됨" @@ -3245,7 +3356,7 @@ msgstr "릴리스 노트" msgid "Reload" msgstr "리로드" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3274,7 +3385,7 @@ msgstr "인증서 갱신 오류" msgid "Reload Remote Nginx Success" msgstr "인증서 갱신 성공" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3449,7 +3560,7 @@ msgstr "" msgid "Restart" msgstr "재시작" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3476,7 +3587,7 @@ msgstr "인증서 갱신 오류" msgid "Restart Remote Nginx Success" msgstr "인증서 갱신 성공" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3642,10 +3753,6 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3685,11 +3792,11 @@ msgstr "서버 정보" msgid "Server Info" msgstr "서버 정보" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3741,6 +3848,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" @@ -3800,6 +3911,14 @@ msgstr "" msgid "Skip Installation" msgstr "설치" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 #, fuzzy msgid "SSL Certificate Content" @@ -3996,7 +4115,7 @@ msgstr "인증서 갱신 오류" msgid "Sync Config Success" msgstr "인증서 갱신 성공" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "" @@ -4441,6 +4560,10 @@ msgstr "" msgid "Use recovery code" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4587,14 +4710,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "현재 버전" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4616,8 +4743,8 @@ msgstr "인증서 개인 키를 디스크에 쓰기" msgid "Writing certificate to disk" msgstr "인증서를 디스크에 쓰기" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/messages.pot b/app/src/language/messages.pot index 69488f56..90bd1a80 100644 --- a/app/src/language/messages.pot +++ b/app/src/language/messages.pot @@ -110,7 +110,7 @@ msgstr "" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "" @@ -202,7 +202,7 @@ msgstr "" msgid "Are you sure you want to recover this item?" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "" @@ -218,7 +218,7 @@ msgstr "" msgid "Are you sure you want to remove this location?" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "" @@ -255,8 +255,8 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -349,6 +349,10 @@ msgstr "" msgid "Basic Mode" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +msgid "Basic Settings" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 msgid "Batch Actions" msgstr "" @@ -378,16 +382,44 @@ msgstr "" msgid "CA Dir" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +msgid "Cache Path" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "" @@ -585,23 +617,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -636,7 +668,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -684,7 +716,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -834,6 +866,10 @@ msgstr "" msgid "Decryption failed" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -949,6 +985,14 @@ msgstr "" msgid "Directives" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +msgid "Directory Levels" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 msgid "disable" msgstr "" @@ -1172,7 +1216,7 @@ msgstr "" msgid "Enable auto-renewal failed for %{name}" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1184,6 +1228,10 @@ msgstr "" msgid "Enable HTTPS" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 #: src/language/constants.ts:54 msgid "Enable Remote Site Error" @@ -1508,7 +1556,7 @@ msgstr "" msgid "Failed to get certificate information" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 msgid "Failed to get Nginx performance settings" msgstr "" @@ -1568,7 +1616,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 msgid "Failed to save Nginx performance settings" msgstr "" @@ -1689,15 +1737,15 @@ msgstr "" msgid "Github Proxy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1780,6 +1828,10 @@ msgstr "" msgid "Import Certificate" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "Includes master process, worker processes, cache processes, and other Nginx processes" msgstr "" @@ -1928,15 +1980,11 @@ msgstr "" msgid "Jwt Secret" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2023,6 +2071,22 @@ msgstr "" msgid "Load successfully" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +msgid "Loader Files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +msgid "Loader Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2114,7 +2178,19 @@ msgstr "" msgid "Managed Certificate" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +msgid "Manager Files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +msgid "Manager Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +msgid "Manager Threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2148,11 +2224,15 @@ msgstr "" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 msgid "Maximum number of concurrent connections" msgstr "" @@ -2161,6 +2241,10 @@ msgstr "" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2178,10 +2262,18 @@ msgstr "" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2432,8 +2524,8 @@ msgid "Nginx UI configuration has been restored and will restart automatically i msgstr "" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2526,10 +2618,18 @@ msgstr "" msgid "Notifier not found" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2553,11 +2653,12 @@ msgstr "" msgid "OCSP Must Staple may cause errors for some users on first access using Firefox." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 msgid "Off" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2588,7 +2689,8 @@ msgstr "" msgid "OK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2596,7 +2698,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2612,14 +2714,6 @@ msgstr "" msgid "OpenAI" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 #: src/views/other/Login.vue:231 msgid "Or" @@ -2675,6 +2769,11 @@ msgstr "" msgid "Params" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -2724,11 +2823,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 msgid "Performance settings saved successfully" msgstr "" @@ -2994,7 +3097,7 @@ msgstr "" msgid "Reload" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3018,7 +3121,7 @@ msgstr "" msgid "Reload Remote Nginx Success" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3169,7 +3272,7 @@ msgstr "" msgid "Restart" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 msgid "Restart Nginx" @@ -3191,7 +3294,7 @@ msgstr "" msgid "Restart Remote Nginx Success" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3341,10 +3444,6 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3385,11 +3484,11 @@ msgstr "" msgid "Server Info" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3433,6 +3532,10 @@ msgstr "" 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 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" @@ -3485,6 +3588,14 @@ msgstr "" msgid "Skip Installation" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "" @@ -3659,7 +3770,7 @@ msgstr "" msgid "Sync Config Success" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "" @@ -4035,6 +4146,10 @@ msgstr "" msgid "Use recovery code" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "" @@ -4156,13 +4271,17 @@ msgstr "" msgid "When you generate new recovery codes, you must download or print the new codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 msgid "Worker Connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4184,8 +4303,8 @@ msgstr "" msgid "Writing certificate to disk" msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/ru_RU/app.po b/app/src/language/ru_RU/app.po index 8502fd6a..49428c6e 100644 --- a/app/src/language/ru_RU/app.po +++ b/app/src/language/ru_RU/app.po @@ -120,7 +120,7 @@ msgstr "Расширенный режим" msgid "Afterwards, refresh this page and click add passkey again." msgstr "Затем, обновите эту страницу и снова нажмите «Добавить ключ доступа»." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "Все" @@ -214,7 +214,7 @@ msgstr "Вы уверены, что хотите удалить?" msgid "Are you sure you want to recover this item?" msgstr "Вы уверены, что хотите восстановить этот элемент?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Вы уверены, что хотите удалить?" @@ -231,7 +231,7 @@ msgstr "Вы уверены, что хотите удалить этот эле msgid "Are you sure you want to remove this location?" msgstr "Вы уверены, что хотите удалить location?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Вы уверены, что хотите очистить все уведомления?" @@ -269,8 +269,8 @@ msgstr "Настройки аутентификации" msgid "Author" msgstr "Автор" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -364,6 +364,11 @@ msgstr "Основные" msgid "Basic Mode" msgstr "Простой режим" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "Настройки 2FA" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -394,16 +399,45 @@ msgstr "Собрать с" msgid "CA Dir" msgstr "Директория корневого сертификата" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Путь изменён" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "" @@ -616,23 +650,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -668,7 +702,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -719,7 +753,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Соединение потеряно, пожалуйста, обновите страницу." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -875,6 +909,10 @@ msgstr "Дни" msgid "Decryption failed" msgstr "Ошибка расшифровки" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -994,6 +1032,15 @@ msgstr "" msgid "Directives" msgstr "Директивы" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Директивы" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1236,7 +1283,7 @@ msgstr "Двухфакторная аутентификация успешно msgid "Enable auto-renewal failed for %{name}" msgstr "Не удалось включить автоматическое продление для %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1249,6 +1296,10 @@ msgstr "Не удалось включить" msgid "Enable HTTPS" msgstr "Включить TOTP" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1606,7 +1657,7 @@ msgstr "Не удалось получить информацию о серти msgid "Failed to get certificate information" msgstr "Не удалось получить информацию о сертификате" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Не удалось получить информацию о сертификате" @@ -1675,7 +1726,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Не удалось получить сертификат" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Не удалось получить информацию о сертификате" @@ -1806,15 +1857,15 @@ msgstr "Получение сертификата, пожалуйста, под msgid "Github Proxy" msgstr "Прокси Github" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1917,6 +1968,10 @@ msgstr "Импорт" msgid "Import Certificate" msgstr "Импортировать сертификат" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2069,17 +2124,13 @@ msgstr "Издатель: %{issuer}" msgid "Jwt Secret" msgstr "Jwt секрет" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2170,6 +2221,24 @@ msgstr "Загрузить из настроек" msgid "Load successfully" msgstr "Загружено успешно" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Создать файл" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "Загрузить из настроек" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2272,7 +2341,22 @@ msgstr "Пользователи" msgid "Managed Certificate" msgstr "Управление сертификатом" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Сайты" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Сайты" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Управление потоками" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2307,11 +2391,15 @@ msgstr "Текущяя версия" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Текущяя версия" @@ -2321,6 +2409,10 @@ msgstr "Текущяя версия" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2338,10 +2430,18 @@ msgstr "Память и хранилище" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Минуты" @@ -2603,8 +2703,8 @@ msgid "" msgstr "Ошибка разбора конфигурации Nginx" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2707,10 +2807,18 @@ msgstr "Уведомления" msgid "Notifier not found" msgstr "Файл не найден" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2738,12 +2846,13 @@ msgstr "" "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом " "доступе через Firefox." -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "Оффлайн" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2774,7 +2883,8 @@ msgstr "Ок" msgid "OK" msgstr "ОК" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2782,7 +2892,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "После завершения проверки записи будут удалены." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2798,14 +2908,6 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2861,6 +2963,11 @@ msgstr "Сайты" msgid "Params" msgstr "Параметры" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -2912,11 +3019,16 @@ msgstr "Выполнить" msgid "Perform core upgrade error" msgstr "Ошибка обновления ядра" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "Выполнить" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Отключено успешно" @@ -3221,7 +3333,7 @@ msgstr "Что нового" msgid "Reload" msgstr "Перегрузить" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3250,7 +3362,7 @@ msgstr "Ошибка переименования удаленной конфи msgid "Reload Remote Nginx Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3411,7 +3523,7 @@ msgstr "" msgid "Restart" msgstr "Перезапуск" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3438,7 +3550,7 @@ msgstr "Ошибка переименования удаленной конфи msgid "Restart Remote Nginx Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3602,10 +3714,6 @@ msgstr "" msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3646,11 +3754,11 @@ msgstr "Информация о сервере" msgid "Server Info" msgstr "Информация о сервере" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3703,6 +3811,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "Показать" @@ -3761,6 +3873,14 @@ msgstr "" msgid "Skip Installation" msgstr "Установить" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "Содержимое SSL-сертификата" @@ -3946,7 +4066,7 @@ msgstr "Ошибка синхронизации конфигурации" msgid "Sync Config Success" msgstr "Синхронизация конфигурации успешна" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 #, fuzzy msgid "Sync Nodes" @@ -4409,6 +4529,10 @@ msgstr "Использовать OTP" msgid "Use recovery code" msgstr "Использовать код восстановления" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "Пользователь" @@ -4552,14 +4676,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Текущяя версия" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4581,8 +4709,8 @@ msgstr "Запись закрытого ключа сертификата на msgid "Writing certificate to disk" msgstr "Запись сертификата на диск" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/tr_TR/app.po b/app/src/language/tr_TR/app.po index 203eab22..fd52a295 100644 --- a/app/src/language/tr_TR/app.po +++ b/app/src/language/tr_TR/app.po @@ -118,7 +118,7 @@ msgid "Afterwards, refresh this page and click add passkey again." msgstr "" "Daha sonra, bu sayfayı yenileyin ve tekrar geçiş anahtarı ekle'ye tıklayın." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "Hepsi" @@ -210,7 +210,7 @@ msgstr "Silmek istediğine emin misin?" msgid "Are you sure you want to recover this item?" msgstr "Bu öğeyi kurtarmak istediğinizden emin misiniz?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Silmek istediğine emin misin?" @@ -227,7 +227,7 @@ msgstr "Bu öğeyi kaldırmak istediğinizden emin misiniz?" msgid "Are you sure you want to remove this location?" msgstr "Bu konumu kaldırmak istediğinizden emin misiniz?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?" @@ -266,8 +266,8 @@ msgstr "Kimlik Doğrulama Ayarları" msgid "Author" msgstr "Yazar" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -361,6 +361,11 @@ msgstr "Temel" msgid "Basic Mode" msgstr "Temel Mod" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "2FA Ayarları" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -391,16 +396,45 @@ msgstr "İle Oluşturuldu" msgid "CA Dir" msgstr "CA Dizini" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Değişen Dosya Yolu" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "CADizini" @@ -617,23 +651,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -669,7 +703,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -720,7 +754,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin." -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -878,6 +912,10 @@ msgstr "Günler" msgid "Decryption failed" msgstr "Açıklama" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1001,6 +1039,15 @@ msgstr "" msgid "Directives" msgstr "Yönergeler" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Yönergeler" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1255,7 +1302,7 @@ msgstr "2FA'yı başarıyla etkinleştirildi" msgid "Enable auto-renewal failed for %{name}" msgstr "%{name} için otomatik yenilemeyi etkinleştirme başarısız oldu" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1268,6 +1315,10 @@ msgstr "Etkinleştirme başarısız" msgid "Enable HTTPS" msgstr "TOTP'yi Etkinleştir" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1639,7 +1690,7 @@ msgstr "Sertifika bilgileri alınamadı" msgid "Failed to get certificate information" msgstr "Sertifika bilgileri alınamadı" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Sertifika bilgileri alınamadı" @@ -1708,7 +1759,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Sertifika alınamadı" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Sertifika bilgileri alınamadı" @@ -1839,15 +1890,15 @@ msgstr "Sertifika alınıyor, lütfen bekleyin..." msgid "Github Proxy" msgstr "Github Proxy" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1951,6 +2002,10 @@ msgstr "İçe Aktar" msgid "Import Certificate" msgstr "Sertifika İçe Aktar" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2105,17 +2160,13 @@ msgstr "Düzenleyen: %{issuer}" msgid "Jwt Secret" msgstr "Jwt Secret" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2205,6 +2256,24 @@ msgstr "Ayarlar'dan yükle" msgid "Load successfully" msgstr "Başarıyla yüklendi" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Dosya Oluştur" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "Ayarlar'dan yükle" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2313,7 +2382,22 @@ msgstr "Kullanıcıları Yönet" msgid "Managed Certificate" msgstr "Yönetilen Sertifika" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Siteleri Yönet" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Siteleri Yönet" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Akışları Yönet" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2349,11 +2433,15 @@ msgstr "Mevcut sürüm" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Mevcut sürüm" @@ -2363,6 +2451,10 @@ msgstr "Mevcut sürüm" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2382,10 +2474,18 @@ msgstr "Bellek ve Depolama" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 #, fuzzy msgid "Minutes" @@ -2672,8 +2772,8 @@ msgid "" msgstr "Nginx Yapılandırma Ayrıştırma Hatası" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2783,10 +2883,18 @@ msgstr "Bildirimler" msgid "Notifier not found" msgstr "Dosya bulunamadı" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2818,12 +2926,13 @@ msgstr "" "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için " "hatalara neden olabilir." -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "Çevrimdışı" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2857,7 +2966,8 @@ msgstr "Tamam" msgid "OK" msgstr "Tamam" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2866,7 +2976,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "Doğrulama tamamlandıktan sonra kayıtlar kaldırılacaktır." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2884,14 +2994,6 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 #, fuzzy msgid "Or" @@ -2955,6 +3057,11 @@ msgstr "Siteleri Yönet" msgid "Params" msgstr "Parametreler" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 #, fuzzy msgid "Passkey" @@ -3016,11 +3123,16 @@ msgstr "Uygula" msgid "Perform core upgrade error" msgstr "Çekirdek yükseltme hatası gerçekleştirin" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "Uygula" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Başarıyla devre dışı bırakıldı" @@ -3363,7 +3475,7 @@ msgstr "Yayın Notu" msgid "Reload" msgstr "Tekrar yükle" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3392,7 +3504,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" msgid "Reload Remote Nginx Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3579,7 +3691,7 @@ msgstr "" msgid "Restart" msgstr "Yeniden başlat" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3608,7 +3720,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" msgid "Restart Remote Nginx Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3783,10 +3895,6 @@ msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın." msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 #, fuzzy msgid "Secret has been copied" @@ -3831,11 +3939,11 @@ msgstr "Sunucu Bilgisi" msgid "Server Info" msgstr "Sunucu Bilgisi" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3894,6 +4002,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 #, fuzzy msgid "Show" @@ -3957,6 +4069,14 @@ msgstr "" msgid "Skip Installation" msgstr "Yükle" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 #, fuzzy msgid "SSL Certificate Content" @@ -4162,7 +4282,7 @@ msgstr "Senkronizasyon Yapılandırma Hatası" msgid "Sync Config Success" msgstr "Senkronizasyon Yapılandırması Başarılı" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 #, fuzzy msgid "Sync Nodes" @@ -4671,6 +4791,10 @@ msgstr "OTP kullanın" msgid "Use recovery code" msgstr "Kurtarma kodunu kullanın" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4829,14 +4953,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Mevcut sürüm" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4861,8 +4989,8 @@ msgstr "Sertifika özel anahtarını diske yazma" msgid "Writing certificate to disk" msgstr "Sertifikayı diske yazma" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/vi_VN/app.po b/app/src/language/vi_VN/app.po index bef240d2..9451d0ea 100644 --- a/app/src/language/vi_VN/app.po +++ b/app/src/language/vi_VN/app.po @@ -118,7 +118,7 @@ msgstr "Nâng cao" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "" @@ -223,7 +223,7 @@ msgstr "Bạn chắc chắn muốn xóa nó " msgid "Are you sure you want to recover this item?" msgstr "Bạn chắc chắn muốn xoá directive này ?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 #, fuzzy msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "Bạn chắc chắn muốn xóa nó " @@ -242,7 +242,7 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?" msgid "Are you sure you want to remove this location?" msgstr "Bạn chắc chắn muốn xoá location này ?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 #, fuzzy msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không ?" @@ -281,8 +281,8 @@ msgstr "" msgid "Author" msgstr "Tác giả" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "" @@ -378,6 +378,10 @@ msgstr "Cơ bản" msgid "Basic Mode" msgstr "Cơ bản" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +msgid "Basic Settings" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 #, fuzzy msgid "Batch Actions" @@ -410,16 +414,45 @@ msgstr "Xây dựng với" msgid "CA Dir" msgstr "" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "Thay đổi chứng chỉ" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "" @@ -644,23 +677,23 @@ msgstr "" msgid "Click to copy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -697,7 +730,7 @@ msgstr "" msgid "Compare with Current" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -749,7 +782,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -908,6 +941,10 @@ msgstr "" msgid "Decryption failed" msgstr "Mô tả" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -1031,6 +1068,15 @@ msgstr "" msgid "Directives" msgstr "Directives" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "Directives" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 #, fuzzy msgid "disable" @@ -1281,7 +1327,7 @@ msgstr "Đã bật" msgid "Enable auto-renewal failed for %{name}" msgstr "Không thể bật tự động gia hạn SSL cho %{name}" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1294,6 +1340,10 @@ msgstr "Bật không thành công" msgid "Enable HTTPS" msgstr "Bật TLS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" @@ -1658,7 +1708,7 @@ msgstr "Không thể truy xuất thông tin chứng chỉ" msgid "Failed to get certificate information" msgstr "Không thể truy xuất thông tin chứng chỉ" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "Không thể truy xuất thông tin chứng chỉ" @@ -1727,7 +1777,7 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Nhận chứng chỉ" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "Không thể truy xuất thông tin chứng chỉ" @@ -1859,15 +1909,15 @@ msgstr "Đang lấy chứng chỉ, vui lòng đợi..." msgid "Github Proxy" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1961,6 +2011,10 @@ msgstr "Xuất" msgid "Import Certificate" msgstr "Chứng chỉ" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -2119,17 +2173,13 @@ msgstr "" msgid "Jwt Secret" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -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." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2226,6 +2276,23 @@ msgstr "" msgid "Load successfully" msgstr "Lưu thành công" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "Ngày tạo" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +msgid "Loader Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2325,7 +2392,22 @@ msgstr "Người dùng" msgid "Managed Certificate" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "Quản lý Website" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "Quản lý Website" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "Quản lý Website" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2360,11 +2442,15 @@ msgstr "Phiên bản hiện tại" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "Phiên bản hiện tại" @@ -2374,6 +2460,10 @@ msgstr "Phiên bản hiện tại" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2391,10 +2481,18 @@ msgstr "Memory và Storage" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2662,8 +2760,8 @@ msgid "" msgstr "Lỗi phân tích cú pháp cấu hình Nginx" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2767,10 +2865,18 @@ msgstr "Thông báo" msgid "Notifier not found" msgstr "Không tìm thấy tệp tin" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2797,12 +2903,13 @@ msgid "" "Firefox." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "Ngoại tuyến" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2833,7 +2940,8 @@ msgstr "" msgid "OK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2841,7 +2949,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa." -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2857,14 +2965,6 @@ msgstr "" msgid "OpenAI" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2921,6 +3021,11 @@ msgstr "Quản lý Website" msgid "Params" msgstr "Tham số" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "" @@ -2972,11 +3077,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Nâng cấp core không thành công" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "Đã tắt thành công" @@ -3277,7 +3386,7 @@ msgstr "Ghi chú phát hành" msgid "Reload" msgstr "Tải lại" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3306,7 +3415,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại" msgid "Reload Remote Nginx Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "" @@ -3481,7 +3590,7 @@ msgstr "" msgid "Restart" msgstr "Khởi động lại" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 #, fuzzy @@ -3508,7 +3617,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại" msgid "Restart Remote Nginx Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "" @@ -3674,10 +3783,6 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3717,11 +3822,11 @@ msgstr "Thông tin máy chủ" msgid "Server Info" msgstr "Thông tin máy chủ" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3774,6 +3879,10 @@ msgid "" "com/guide/config-nginx.html for more information" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" @@ -3833,6 +3942,14 @@ msgstr "" msgid "Skip Installation" msgstr "Cài đặt" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "" @@ -4025,7 +4142,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại" msgid "Sync Config Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "" @@ -4466,6 +4583,10 @@ msgstr "" msgid "Use recovery code" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 #, fuzzy msgid "User" @@ -4612,14 +4733,18 @@ msgid "" "codes." msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "Phiên bản hiện tại" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4641,8 +4766,8 @@ msgstr "Ghi Private Key vào disk" msgid "Writing certificate to disk" msgstr "Ghi chứng chỉ vào disk" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/language/zh_CN/app.po b/app/src/language/zh_CN/app.po index 333c355a..388e18d3 100644 --- a/app/src/language/zh_CN/app.po +++ b/app/src/language/zh_CN/app.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-11 20:32+0800\n" +"PO-Revision-Date: 2025-04-12 22:02+0800\n" "Last-Translator: 0xJacky \n" "Language-Team: Chinese (Simplified Han script) \n" @@ -118,7 +118,7 @@ msgstr "高级模式" msgid "Afterwards, refresh this page and click add passkey again." msgstr "然后,刷新此页面并再次点击添加 Passkey。" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "全部" @@ -210,7 +210,7 @@ msgstr "您确定要删除吗?" msgid "Are you sure you want to recover this item?" msgstr "您确定要恢复这个项目吗?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "你确定要在以下同步节点上重载 Nginx?" @@ -226,7 +226,7 @@ msgstr "您确定要删除这个项目吗?" msgid "Are you sure you want to remove this location?" msgstr "您确定要删除这个 Location?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "你确定要在以下同步节点上重启 Nginx 吗?" @@ -263,8 +263,8 @@ msgstr "认证设置" msgid "Author" msgstr "作者" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "自动" @@ -355,6 +355,10 @@ msgstr "基本" msgid "Basic Mode" msgstr "基本模式" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +msgid "Basic Settings" +msgstr "基本设置" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 msgid "Batch Actions" msgstr "批量操作" @@ -384,16 +388,44 @@ msgstr "构建基于" msgid "CA Dir" msgstr "CA Dir" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "缓存" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "在此时间内未访问的缓存项将被删除" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "缓存加载器处理时间阈值" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "缓存管理器进程数" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "缓存管理器处理时间阈值" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "缓存管理器设置" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +msgid "Cache Path" +msgstr "缓存路径" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "缓存进程数" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "缓存子目录级别结构,如 1:2" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "CADir" @@ -602,23 +634,23 @@ msgstr "单击或拖动备份文件到此区域上传" msgid "Click to copy" msgstr "点击复制" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "客户端请求体缓冲区大小" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "客户端请求头缓冲区大小" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "客户端最大请求体大小" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "客户端请求体缓冲区大小" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "客户端请求头缓冲区大小" @@ -653,7 +685,7 @@ msgstr "比较选定" msgid "Compare with Current" msgstr "与当前的比较" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "压缩级别,1 为最低,9 为最高" @@ -701,7 +733,7 @@ msgstr "连接错误,尝试重新连接..." msgid "Connection lost, please refresh the page." msgstr "连接中断,请刷新页面。" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "连接超时时间" @@ -853,6 +885,10 @@ msgstr "天" msgid "Decryption failed" msgstr "解密失败" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "定义共享内存区名称和大小,例如 proxy_cache:10m" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -965,6 +1001,14 @@ msgstr "指令 index 超出范围" msgid "Directives" msgstr "指令" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +msgid "Directory Levels" +msgstr "目录级别" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "存储缓存文件的目录路径" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 msgid "disable" msgstr "禁用" @@ -1186,7 +1230,7 @@ msgstr "二步验证启用成功" msgid "Enable auto-renewal failed for %{name}" msgstr "启用 %{name} 自动续签失败" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "启用内容传输压缩" @@ -1198,6 +1242,10 @@ msgstr "启用失败" msgid "Enable HTTPS" msgstr "启用 HTTPS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "启用代理缓存" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "启用远程站点错误" @@ -1517,7 +1565,7 @@ msgstr "生成初始化向量失败:{0}" msgid "Failed to get certificate information" msgstr "获取证书信息失败" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 msgid "Failed to get Nginx performance settings" msgstr "获取 Nginx 性能参数失败" @@ -1577,7 +1625,7 @@ msgstr "恢复 Nginx UI 文件失败:{0}" msgid "Failed to revoke certificate" msgstr "证书撤销失败" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 msgid "Failed to save Nginx performance settings" msgstr "保存 Nginx 性能参数失败" @@ -1699,15 +1747,15 @@ msgstr "正在获取证书,请稍等..." msgid "Github Proxy" msgstr "Github 代理" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "GZIP压缩" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "GZIP 压缩级别" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "GZIP 最小长度" @@ -1801,6 +1849,10 @@ msgstr "导入" msgid "Import Certificate" msgstr "导入证书" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "非活动时间" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -1949,10 +2001,6 @@ msgstr "颁发者:%{issuer}" msgid "Jwt Secret" msgstr "Jwt 密钥" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -msgstr "KB" - #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -1960,7 +2008,7 @@ msgid "" msgstr "" "请像保护密码一样安全地保管您的恢复代码。我们建议使用密码管理器保存它们。" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "Keepalive 超时" @@ -2047,6 +2095,22 @@ msgstr "从设置中加载" msgid "Load successfully" msgstr "加载成功" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +msgid "Loader Files" +msgstr "加载器文件" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +msgid "Loader Settings" +msgstr "加载器设置" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "加载器睡眠" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "加载器阈值" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "正在加载数据..." @@ -2144,7 +2208,19 @@ msgstr "用户管理" msgid "Managed Certificate" msgstr "托管证书" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +msgid "Manager Files" +msgstr "管理器文件" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +msgid "Manager Sleep" +msgstr "管理器睡眠" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +msgid "Manager Threshold" +msgstr "管理器阈值" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "手动" @@ -2178,11 +2254,15 @@ msgstr "最大并发连接数" msgid "Max Requests Per Second" msgstr "每秒最大请求次数" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "最大缓存大小" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "客户端请求体的最大尺寸" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 msgid "Maximum number of concurrent connections" msgstr "最大并发连接数" @@ -2191,6 +2271,10 @@ msgstr "最大并发连接数" msgid "Maximum number of connections per worker process" msgstr "每个工作进程的最大连接数" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "缓存的最大总容量" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "最大工作进程数:" @@ -2208,10 +2292,18 @@ msgstr "内存与存储" msgid "Memory Usage (RSS)" msgstr "内存使用量(RSS)" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "压缩文件的最小尺寸" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "最小可用空间" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "缓存目录中的最小可用空间" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "分钟" @@ -2460,8 +2552,8 @@ msgid "" msgstr "Nginx UI 配置已恢复,几秒钟后将自动重启。" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2556,10 +2648,18 @@ msgstr "通知" msgid "Notifier not found" msgstr "未找到通知程序" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "并发工作进程数,自动设置为 CPU 内核数" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "缓存加载器一次处理的文件数量" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "缓存管理器一次处理的文件数量" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2585,11 +2685,12 @@ msgid "" "Firefox." msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 msgid "Off" msgstr "关闭" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2620,7 +2721,8 @@ msgstr "确定" msgid "OK" msgstr "确定" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "开启" @@ -2628,7 +2730,7 @@ msgstr "开启" msgid "Once the verification is complete, the records will be removed." msgstr "一旦验证完成,这些记录将被删除。" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2644,14 +2746,6 @@ msgstr "只允许使用zip文件" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "优化 Nginx 性能" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "性能调优" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "或" @@ -2706,6 +2800,11 @@ msgstr "分页大小" msgid "Params" msgstr "参数" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "参数优化" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "Passkey" @@ -2758,11 +2857,15 @@ msgstr "执行" msgid "Perform core upgrade error" msgstr "执行核心升级错误" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +msgid "Performance" +msgstr "性能" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "性能指标" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 msgid "Performance settings saved successfully" msgstr "性能调优参数保存成功" @@ -3046,7 +3149,7 @@ msgstr "发行日志" msgid "Reload" msgstr "重载" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3070,7 +3173,7 @@ msgstr "重载远程 Nginx 错误" msgid "Reload Remote Nginx Success" msgstr "重载远程 Nginx 成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "重载请求失败,请检查网络连接" @@ -3224,7 +3327,7 @@ msgstr "响应" msgid "Restart" msgstr "重启" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 msgid "Restart Nginx" @@ -3246,7 +3349,7 @@ msgstr "重启远程 Nginx 错误" msgid "Restart Remote Nginx Success" msgstr "重启远程 Nginx 成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "重启请求失败,请检查网络连接" @@ -3396,10 +3499,6 @@ msgstr "用手机扫描二维码,将账户添加到应用程序中。" msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "秒" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "密钥已复制" @@ -3438,11 +3537,11 @@ msgstr "服务器" msgid "Server Info" msgstr "服务器信息" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "服务器名称哈希桶大小" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "服务器名称哈希表大小" @@ -3482,19 +3581,23 @@ 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" +msgstr "共享内存区" #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" @@ -3548,6 +3651,14 @@ msgstr "Sites-enabled 目录不存在" msgid "Skip Installation" msgstr "跳过安装" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "缓存加载器迭代之间的休眠时间" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "缓存管理器迭代之间的休眠时间" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "SSL 证书内容" @@ -3725,7 +3836,7 @@ msgstr "同步配置错误" msgid "Sync Config Success" msgstr "同步配置成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "同步节点" @@ -4157,6 +4268,10 @@ msgstr "使用二步验证码" msgid "Use recovery code" msgstr "使用恢复代码" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "使用临时路径" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "用户" @@ -4301,13 +4416,17 @@ msgid "" "codes." msgstr "当您生成新的恢复代码时,必须下载或打印新的代码。" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "写入临时文件时是否使用临时路径" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 msgid "Worker Connections" msgstr "工作进程连接数" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "工作进程" @@ -4329,8 +4448,8 @@ msgstr "正在将证书私钥写入磁盘" msgid "Writing certificate to disk" msgstr "正在将证书写入磁盘" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 @@ -4391,6 +4510,18 @@ msgstr "您的旧代码将不再有效。" msgid "Your passkeys" msgstr "你的 Passkeys" +#~ msgid "KB" +#~ msgstr "KB" + +#~ msgid "Optimize Nginx Performance" +#~ msgstr "优化 Nginx 性能" + +#~ msgid "Optimize Performance" +#~ msgstr "性能调优" + +#~ msgid "seconds" +#~ msgstr "秒" + #~ msgid "Access Token" #~ msgstr "Access Token" @@ -4468,8 +4599,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}" diff --git a/app/src/language/zh_TW/app.po b/app/src/language/zh_TW/app.po index d7e29ccd..98f7cbaa 100644 --- a/app/src/language/zh_TW/app.po +++ b/app/src/language/zh_TW/app.po @@ -122,7 +122,7 @@ msgstr "進階模式" msgid "Afterwards, refresh this page and click add passkey again." msgstr "然後,重新整理此頁面並再次點選新增通行密鑰。" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:117 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:118 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:419 msgid "All" msgstr "全部" @@ -214,7 +214,7 @@ msgstr "您確定要刪除嗎?" msgid "Are you sure you want to recover this item?" msgstr "您確定要恢復此項目嗎?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:131 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 msgid "Are you sure you want to reload Nginx on the following sync nodes?" msgstr "您確定要在以下同步節點上重新載入Nginx嗎?" @@ -230,7 +230,7 @@ msgstr "您確定要刪除此項目嗎?" msgid "Are you sure you want to remove this location?" msgstr "您確定要刪除此 Location 嗎?" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:143 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 msgid "Are you sure you want to restart Nginx on the following sync nodes?" msgstr "您確定要在以下同步節點上重新啟動Nginx嗎?" @@ -267,8 +267,8 @@ msgstr "認證設定" msgid "Author" msgstr "作者" -#: src/views/dashboard/components/PerformanceOptimization.vue:178 -#: src/views/dashboard/components/PerformanceOptimization.vue:189 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:31 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:43 msgid "Auto" msgstr "自動" @@ -359,6 +359,11 @@ msgstr "基本" msgid "Basic Mode" msgstr "基本模式" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:119 +#, fuzzy +msgid "Basic Settings" +msgstr "多重要素驗證設定" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:83 msgid "Batch Actions" msgstr "批次操作" @@ -388,16 +393,45 @@ msgstr "構建基於" msgid "CA Dir" msgstr "CA Dir" +#: src/views/dashboard/components/ParamsOptimization.vue:124 +msgid "Cache" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:178 +msgid "Cache items not accessed within this time will be removed" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:350 +msgid "Cache loader processing time threshold" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:139 #: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:288 +msgid "Cache manager processing time threshold" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:246 +msgid "Cache Manager Settings" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:124 +#, fuzzy +msgid "Cache Path" +msgstr "變更後路徑" + #: src/composables/usePerformanceMetrics.ts:57 #: src/views/dashboard/components/ProcessDistributionCard.vue:14 msgid "Cache Processes" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:137 +msgid "Cache subdirectory levels structure, e.g. 1:2" +msgstr "" + #: src/views/preference/CertSettings.vue:19 msgid "CADir" msgstr "CADir" @@ -608,23 +642,23 @@ msgstr "點擊或拖曳備份檔案至此區域上傳" msgid "Click to copy" msgstr "點擊複製" -#: src/views/dashboard/components/PerformanceOptimization.vue:307 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:120 msgid "Client Body Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:289 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:113 msgid "Client Header Buffer Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:259 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:99 msgid "Client Max Body Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:308 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:121 msgid "Client request body buffer size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:290 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:114 msgid "Client request header buffer size" msgstr "" @@ -659,7 +693,7 @@ msgstr "比較選定" msgid "Compare with Current" msgstr "與當前比較" -#: src/views/dashboard/components/PerformanceOptimization.vue:248 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:88 msgid "Compression level, 1 is lowest, 9 is highest" msgstr "" @@ -708,7 +742,7 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "連接丟失,請重新整理。" -#: src/views/dashboard/components/PerformanceOptimization.vue:207 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:61 msgid "Connection timeout period" msgstr "" @@ -861,6 +895,10 @@ msgstr "天" msgid "Decryption failed" msgstr "解密失敗" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:150 +msgid "Define shared memory zone name and size, e.g. proxy_cache:10m" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:519 #: src/views/certificate/components/RemoveCert.vue:87 @@ -974,6 +1012,15 @@ msgstr "指令索引超出範圍" msgid "Directives" msgstr "指令" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:135 +#, fuzzy +msgid "Directory Levels" +msgstr "指令" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:127 +msgid "Directory path to store cache files" +msgstr "" + #: src/views/site/site_edit/components/SiteStatusSegmented.vue:113 msgid "disable" msgstr "禁用" @@ -1195,7 +1242,7 @@ msgstr "啟用多因素身份驗證成功" msgid "Enable auto-renewal failed for %{name}" msgstr "啟用 %{name} 自動續簽失敗" -#: src/views/dashboard/components/PerformanceOptimization.vue:222 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:68 msgid "Enable compression for content transfer" msgstr "" @@ -1207,6 +1254,10 @@ msgstr "啟用失敗" msgid "Enable HTTPS" msgstr "啟用 HTTPS" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:114 +msgid "Enable Proxy Cache" +msgstr "" + #: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "啟用遠端站點錯誤" @@ -1527,7 +1578,7 @@ msgstr "無法生成初始化向量:{0}" msgid "Failed to get certificate information" msgstr "取得憑證資訊失敗" -#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#: src/views/dashboard/components/ParamsOptimization.vue:61 #, fuzzy msgid "Failed to get Nginx performance settings" msgstr "取得憑證資訊失敗" @@ -1590,7 +1641,7 @@ msgstr "無法恢復Nginx UI文件:{0}" msgid "Failed to revoke certificate" msgstr "獲取憑證失敗" -#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#: src/views/dashboard/components/ParamsOptimization.vue:90 #, fuzzy msgid "Failed to save Nginx performance settings" msgstr "取得憑證資訊失敗" @@ -1714,15 +1765,15 @@ msgstr "正在取得憑證,請稍候..." msgid "Github Proxy" msgstr "Github 代理" -#: src/views/dashboard/components/PerformanceOptimization.vue:221 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:67 msgid "GZIP Compression" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:247 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:87 msgid "GZIP Compression Level" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:233 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:80 msgid "GZIP Min Length" msgstr "" @@ -1816,6 +1867,10 @@ msgstr "導入" msgid "Import Certificate" msgstr "導入憑證" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:176 +msgid "Inactive Time" +msgstr "" + #: src/views/dashboard/components/ProcessDistributionCard.vue:54 msgid "" "Includes master process, worker processes, cache processes, and other Nginx " @@ -1964,10 +2019,6 @@ msgstr "發行者:%{issuer}" msgid "Jwt Secret" msgstr "Jwt Secret" -#: src/views/dashboard/components/PerformanceOptimization.vue:242 -msgid "KB" -msgstr "" - #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -1975,7 +2026,7 @@ msgid "" msgstr "" "請將您的復原代碼與密碼同樣妥善保管。我們建議使用密碼管理工具來儲存它們。" -#: src/views/dashboard/components/PerformanceOptimization.vue:206 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:60 msgid "Keepalive Timeout" msgstr "" @@ -2063,6 +2114,24 @@ msgstr "從設置加載" msgid "Load successfully" msgstr "加載成功" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:313 +#, fuzzy +msgid "Loader Files" +msgstr "創建檔案" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:308 +#, fuzzy +msgid "Loader Settings" +msgstr "從設置加載" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:323 +msgid "Loader Sleep" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:348 +msgid "Loader Threshold" +msgstr "" + #: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2159,7 +2228,22 @@ msgstr "管理使用者" msgid "Managed Certificate" msgstr "受管理的憑證" -#: src/views/dashboard/components/PerformanceOptimization.vue:179 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:251 +#, fuzzy +msgid "Manager Files" +msgstr "管理網站" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:261 +#, fuzzy +msgid "Manager Sleep" +msgstr "管理網站" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:286 +#, fuzzy +msgid "Manager Threshold" +msgstr "管理 Stream" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:32 msgid "Manual" msgstr "" @@ -2194,11 +2278,15 @@ msgstr "當前內容" msgid "Max Requests Per Second" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:260 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:199 +msgid "Maximum Cache Size" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:100 msgid "Maximum client request body size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:49 #, fuzzy msgid "Maximum number of concurrent connections" msgstr "當前內容" @@ -2208,6 +2296,10 @@ msgstr "當前內容" msgid "Maximum number of connections per worker process" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:201 +msgid "Maximum total size of the cache" +msgstr "" + #: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2225,10 +2317,18 @@ msgstr "記憶體與儲存" msgid "Memory Usage (RSS)" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:234 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:81 msgid "Minimum file size for compression" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:224 +msgid "Minimum Free Space" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:226 +msgid "Minimum free space in the cache directory" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "分鐘" @@ -2480,8 +2580,8 @@ msgid "" msgstr "Nginx UI 設定已恢復,將在幾秒後自動重新啟動。" #: src/components/ChatGPT/ChatGPT.vue:374 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:134 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:146 #: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:63 #: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:94 @@ -2576,10 +2676,18 @@ msgstr "通知" msgid "Notifier not found" msgstr "通知器未找到" -#: src/views/dashboard/components/PerformanceOptimization.vue:173 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:26 msgid "Number of concurrent worker processes, auto sets to CPU core count" msgstr "" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:315 +msgid "Number of files processed by cache loader at once" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:253 +msgid "Number of files processed by cache manager at once" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:129 #: src/composables/usePerformanceMetrics.ts:169 #: src/views/dashboard/components/PerformanceTablesCard.vue:120 @@ -2605,12 +2713,13 @@ msgid "" "Firefox." msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。" -#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:73 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:165 #, fuzzy msgid "Off" msgstr "離線" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 #: src/views/environments/list/envColumns.tsx:56 @@ -2641,7 +2750,8 @@ msgstr "確定" msgid "OK" msgstr "確定" -#: src/views/dashboard/components/PerformanceOptimization.vue:226 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:72 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:164 msgid "On" msgstr "" @@ -2649,7 +2759,7 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "驗證完成後,記錄將被刪除。" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:162 #: src/components/NodeSelector/NodeSelector.vue:103 #: src/components/NodeSelector/NodeSelector.vue:89 #: src/views/dashboard/Environments.vue:100 @@ -2665,14 +2775,6 @@ msgstr "只允許壓縮檔" msgid "OpenAI" msgstr "OpenAI" -#: src/views/dashboard/components/PerformanceOptimization.vue:164 -msgid "Optimize Nginx Performance" -msgstr "" - -#: src/views/dashboard/components/PerformanceOptimization.vue:158 -msgid "Optimize Performance" -msgstr "" - #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "或" @@ -2727,6 +2829,11 @@ msgstr "頁面大小" msgid "Params" msgstr "參數" +#: src/views/dashboard/components/ParamsOptimization.vue:109 +#: src/views/dashboard/components/ParamsOptimization.vue:115 +msgid "Params Optimization" +msgstr "" + #: src/views/preference/components/Passkey.vue:59 msgid "Passkey" msgstr "通行密鑰" @@ -2779,11 +2886,16 @@ msgstr "執行" msgid "Perform core upgrade error" msgstr "執行核心升級錯誤" +#: src/views/dashboard/components/ParamsOptimization.vue:121 +#, fuzzy +msgid "Performance" +msgstr "執行" + #: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#: src/views/dashboard/components/ParamsOptimization.vue:86 #, fuzzy msgid "Performance settings saved successfully" msgstr "維護模式已成功停用" @@ -3068,7 +3180,7 @@ msgstr "發行公告" msgid "Reload" msgstr "重新載入" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:138 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:139 #: src/views/environments/group/columns.ts:24 #: src/views/environments/group/EnvGroup.vue:37 #: src/views/environments/list/Environment.vue:120 @@ -3092,7 +3204,7 @@ msgstr "重新載入遠端Nginx錯誤" msgid "Reload Remote Nginx Success" msgstr "遠端Nginx重載成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:86 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:87 msgid "Reload request failed, please check your network connection" msgstr "重新載入請求失敗,請檢查您的網路連線" @@ -3245,7 +3357,7 @@ msgstr "" msgid "Restart" msgstr "重新啟動" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:150 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:151 #: src/views/environments/list/Environment.vue:141 #: src/views/environments/list/Environment.vue:149 msgid "Restart Nginx" @@ -3267,7 +3379,7 @@ msgstr "遠端Nginx重啟錯誤" msgid "Restart Remote Nginx Success" msgstr "遠端Nginx重啟成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:106 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:107 msgid "Restart request failed, please check your network connection" msgstr "重新啟動請求失敗,請檢查您的網路連線" @@ -3419,10 +3531,6 @@ msgstr "用手機掃描二維碼將賬戶添加到應用程序中。" msgid "SDK" msgstr "SDK" -#: src/views/dashboard/components/PerformanceOptimization.vue:216 -msgid "seconds" -msgstr "" - #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "密鑰已複製" @@ -3461,11 +3569,11 @@ msgstr "伺服器" msgid "Server Info" msgstr "伺服器資訊" -#: src/views/dashboard/components/PerformanceOptimization.vue:277 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:106 msgid "Server Names Hash Bucket Size" msgstr "" -#: src/views/dashboard/components/PerformanceOptimization.vue:278 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:107 msgid "Server names hash table size" msgstr "" @@ -3519,6 +3627,10 @@ msgstr "" "Settings.NginxLogSettings.ErrorLogPath 為空,請參考 https://nginxui.com/" "guide/config-nginx.html 了解更多資訊" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:147 +msgid "Shared Memory Zone" +msgstr "" + #: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "顯示" @@ -3571,6 +3683,14 @@ msgstr "sites-enabled 資料夾不存在" msgid "Skip Installation" msgstr "跳過安裝" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:325 +msgid "Sleep time between cache loader iterations" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:263 +msgid "Sleep time between cache manager iterations" +msgstr "" + #: src/views/certificate/components/CertificateEditor.vue:213 msgid "SSL Certificate Content" msgstr "SSL 憑證內容" @@ -3749,7 +3869,7 @@ msgstr "同步配置錯誤" msgid "Sync Config Success" msgstr "同步配置成功" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:124 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:125 #: src/views/environments/group/EnvGroup.vue:18 msgid "Sync Nodes" msgstr "同步節點" @@ -4182,6 +4302,10 @@ msgstr "使用一次性密碼" msgid "Use recovery code" msgstr "使用恢復碼" +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:158 +msgid "Use Temporary Path" +msgstr "" + #: src/components/ChatGPT/ChatGPT.vue:333 msgid "User" msgstr "使用者名稱" @@ -4327,14 +4451,18 @@ msgid "" "codes." msgstr "當您生成新的復原代碼時,必須下載或列印新的代碼。" -#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#: src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue:160 +msgid "Whether to use a temporary path when writing temporary files" +msgstr "" + +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:48 #, fuzzy msgid "Worker Connections" msgstr "當前內容" #: src/composables/usePerformanceMetrics.ts:55 #: src/views/dashboard/components/ConnectionMetricsCard.vue:48 -#: src/views/dashboard/components/PerformanceOptimization.vue:172 +#: src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue:25 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4356,8 +4484,8 @@ msgstr "將憑證私鑰寫入磁碟" msgid "Writing certificate to disk" msgstr "將憑證寫入磁碟" -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:132 -#: src/components/EnvGroupTabs/EnvGroupTabs.vue:144 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:133 +#: src/components/EnvGroupTabs/EnvGroupTabs.vue:145 #: src/views/preference/AuthSettings.vue:163 #: src/views/preference/CertSettings.vue:72 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:96 diff --git a/app/src/views/config/ConfigEditor.vue b/app/src/views/config/ConfigEditor.vue index 469adf95..529f6c4d 100644 --- a/app/src/views/config/ConfigEditor.vue +++ b/app/src/views/config/ConfigEditor.vue @@ -51,7 +51,7 @@ const modifiedAt = ref('') const nginxConfigBase = ref('') const newPath = computed(() => { - // 组合路径后解码显示 + // Decode and display after combining paths const path = [nginxConfigBase.value, basePath.value, data.value.name] .filter(v => v) .join('/') diff --git a/app/src/views/dashboard/NginxDashBoard.vue b/app/src/views/dashboard/NginxDashBoard.vue index ba0d3c04..82638157 100644 --- a/app/src/views/dashboard/NginxDashBoard.vue +++ b/app/src/views/dashboard/NginxDashBoard.vue @@ -7,7 +7,7 @@ import { useUserStore } from '@/pinia' import { useGlobalStore } from '@/pinia/moudule/global' import { ClockCircleOutlined, ReloadOutlined } from '@ant-design/icons-vue' import ConnectionMetricsCard from './components/ConnectionMetricsCard.vue' -import PerformanceOptimization from './components/PerformanceOptimization.vue' +import ParamsOptimization from './components/ParamsOptimization.vue' import PerformanceStatisticsCard from './components/PerformanceStatisticsCard.vue' import PerformanceTablesCard from './components/PerformanceTablesCard.vue' import ProcessDistributionCard from './components/ProcessDistributionCard.vue' @@ -184,7 +184,7 @@ onMounted(() => { diff --git a/app/src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue b/app/src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue new file mode 100644 index 00000000..44070a3f --- /dev/null +++ b/app/src/views/dashboard/components/ParamsOpt/PerformanceConfig.vue @@ -0,0 +1,126 @@ + + + diff --git a/app/src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue b/app/src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue new file mode 100644 index 00000000..dd2c466d --- /dev/null +++ b/app/src/views/dashboard/components/ParamsOpt/ProxyCacheConfig.vue @@ -0,0 +1,449 @@ + + + diff --git a/app/src/views/dashboard/components/ParamsOpt/SizeInput.vue b/app/src/views/dashboard/components/ParamsOpt/SizeInput.vue new file mode 100644 index 00000000..e296a9be --- /dev/null +++ b/app/src/views/dashboard/components/ParamsOpt/SizeInput.vue @@ -0,0 +1,44 @@ + + + diff --git a/app/src/views/dashboard/components/ParamsOpt/TimeInput.vue b/app/src/views/dashboard/components/ParamsOpt/TimeInput.vue new file mode 100644 index 00000000..40f02a20 --- /dev/null +++ b/app/src/views/dashboard/components/ParamsOpt/TimeInput.vue @@ -0,0 +1,53 @@ + + + diff --git a/app/src/views/dashboard/components/ParamsOptimization.vue b/app/src/views/dashboard/components/ParamsOptimization.vue new file mode 100644 index 00000000..93770989 --- /dev/null +++ b/app/src/views/dashboard/components/ParamsOptimization.vue @@ -0,0 +1,130 @@ + + + diff --git a/app/src/views/dashboard/components/PerformanceOptimization.vue b/app/src/views/dashboard/components/PerformanceOptimization.vue deleted file mode 100644 index 3386e9ef..00000000 --- a/app/src/views/dashboard/components/PerformanceOptimization.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - diff --git a/app/src/views/site/cert/Cert.vue b/app/src/views/site/cert/Cert.vue index bb12f7b6..b8029301 100644 --- a/app/src/views/site/cert/Cert.vue +++ b/app/src/views/site/cert/Cert.vue @@ -28,13 +28,13 @@ watch(() => props.certInfo, () => { function handleCertChange(certs: Cert[]) { changedCerts.value = certs - // 更新 NgxDirective + // Update NgxDirective if (current_server_directives.value) { - // 过滤掉现有的证书配置 + // Filter out existing certificate configurations const filteredDirectives = current_server_directives.value .filter(v => v.directive !== 'ssl_certificate' && v.directive !== 'ssl_certificate_key') - // 添加新的证书配置 + // Add new certificate configuration const newDirectives = [...filteredDirectives] certs.forEach(cert => { @@ -48,7 +48,7 @@ function handleCertChange(certs: Cert[]) { }) }) - // 更新 directives + // Update directives current_server_directives.value = newDirectives } } diff --git a/app/uno.config.ts b/app/uno.config.ts index 938e5e98..465ede53 100644 --- a/app/uno.config.ts +++ b/app/uno.config.ts @@ -56,7 +56,8 @@ export default defineConfig({ // default /\.(vue|[jt]sx|ts)($|\?)/, - // 参考:https://unocss.dev/guide/extracting#extracting-from-build-tools-pipeline + // Use utility functions + // Reference: https://unocss.dev/guide/extracting#extracting-from-build-tools-pipeline ], // exclude files diff --git a/internal/config/perf_opt.go b/internal/config/perf_opt.go deleted file mode 100644 index 6b84bb5c..00000000 --- a/internal/config/perf_opt.go +++ /dev/null @@ -1,135 +0,0 @@ -package config - -import ( - "os" - "sort" - - "github.com/0xJacky/Nginx-UI/internal/nginx" - "github.com/pkg/errors" - "github.com/tufanbarisyildirim/gonginx/config" - "github.com/tufanbarisyildirim/gonginx/dumper" - "github.com/tufanbarisyildirim/gonginx/parser" -) - -// PerfOpt represents Nginx performance optimization settings -type PerfOpt struct { - WorkerProcesses string `json:"worker_processes"` // auto or number - WorkerConnections string `json:"worker_connections"` // max connections - KeepaliveTimeout string `json:"keepalive_timeout"` // timeout in seconds - Gzip string `json:"gzip"` // on or off - GzipMinLength string `json:"gzip_min_length"` // min length to compress - GzipCompLevel string `json:"gzip_comp_level"` // compression level - ClientMaxBodySize string `json:"client_max_body_size"` // max body size (with unit: k, m, g) - ServerNamesHashBucketSize string `json:"server_names_hash_bucket_size"` // hash bucket size - ClientHeaderBufferSize string `json:"client_header_buffer_size"` // header buffer size (with unit: k, m, g) - ClientBodyBufferSize string `json:"client_body_buffer_size"` // body buffer size (with unit: k, m, g) -} - -// UpdatePerfOpt updates the Nginx performance optimization settings -func UpdatePerfOpt(opt *PerfOpt) error { - confPath := nginx.GetConfPath("nginx.conf") - if confPath == "" { - return errors.New("failed to get nginx.conf path") - } - - // Read the current configuration - content, err := os.ReadFile(confPath) - if err != nil { - return errors.Wrap(err, "failed to read nginx.conf") - } - - // Parse the configuration - p := parser.NewStringParser(string(content), parser.WithSkipValidDirectivesErr()) - conf, err := p.Parse() - if err != nil { - return errors.Wrap(err, "failed to parse nginx.conf") - } - - // Process the configuration and update performance settings - updateNginxConfig(conf.Block, opt) - - // Dump the updated configuration - updatedConf := dumper.DumpBlock(conf.Block, dumper.IndentedStyle) - - return Save(confPath, updatedConf, nil) - -} - -// updateNginxConfig updates the performance settings in the Nginx configuration -func updateNginxConfig(block config.IBlock, opt *PerfOpt) { - if block == nil { - return - } - - directives := block.GetDirectives() - // Update main context directives - updateOrAddDirective(block, directives, "worker_processes", opt.WorkerProcesses) - - // Look for events, http, and other blocks - for _, directive := range directives { - if directive.GetName() == "events" && directive.GetBlock() != nil { - // Update events block directives - eventsBlock := directive.GetBlock() - eventsDirectives := eventsBlock.GetDirectives() - updateOrAddDirective(eventsBlock, eventsDirectives, "worker_connections", opt.WorkerConnections) - } else if directive.GetName() == "http" && directive.GetBlock() != nil { - // Update http block directives - httpBlock := directive.GetBlock() - httpDirectives := httpBlock.GetDirectives() - updateOrAddDirective(httpBlock, httpDirectives, "keepalive_timeout", opt.KeepaliveTimeout) - updateOrAddDirective(httpBlock, httpDirectives, "gzip", opt.Gzip) - updateOrAddDirective(httpBlock, httpDirectives, "gzip_min_length", opt.GzipMinLength) - updateOrAddDirective(httpBlock, httpDirectives, "gzip_comp_level", opt.GzipCompLevel) - updateOrAddDirective(httpBlock, httpDirectives, "client_max_body_size", opt.ClientMaxBodySize) - updateOrAddDirective(httpBlock, httpDirectives, "server_names_hash_bucket_size", opt.ServerNamesHashBucketSize) - updateOrAddDirective(httpBlock, httpDirectives, "client_header_buffer_size", opt.ClientHeaderBufferSize) - updateOrAddDirective(httpBlock, httpDirectives, "client_body_buffer_size", opt.ClientBodyBufferSize) - } - } -} - -// updateOrAddDirective updates a directive if it exists, or adds it to the block if it doesn't -func updateOrAddDirective(block config.IBlock, directives []config.IDirective, name string, value string) { - if value == "" { - return - } - - // Search for existing directive - for _, directive := range directives { - if directive.GetName() == name { - // Update existing directive - if len(directive.GetParameters()) > 0 { - directive.GetParameters()[0].Value = value - } - return - } - } - - // If we get here, we need to add a new directive - // Create a new directive and add it to the block - // This requires knowledge of the underlying implementation - // For now, we'll use the Directive type from gonginx/config - newDirective := &config.Directive{ - Name: name, - Parameters: []config.Parameter{{Value: value}}, - } - - // Add the new directive to the block - // This is specific to the gonginx library implementation - switch block := block.(type) { - case *config.Config: - block.Block.Directives = append(block.Block.Directives, newDirective) - case *config.Block: - block.Directives = append(block.Directives, newDirective) - case *config.HTTP: - block.Directives = append(block.Directives, newDirective) - } -} - -// sortDirectives sorts directives alphabetically by name -func sortDirectives(directives []config.IDirective) { - sort.SliceStable(directives, func(i, j int) bool { - // Ensure both i and j can return valid names - return directives[i].GetName() < directives[j].GetName() - }) -} diff --git a/internal/nginx/config_info.go b/internal/nginx/config_info.go deleted file mode 100644 index 06894980..00000000 --- a/internal/nginx/config_info.go +++ /dev/null @@ -1,122 +0,0 @@ -package nginx - -import ( - "os" - "regexp" - "runtime" - "strconv" - - "github.com/pkg/errors" -) - -type NginxConfigInfo struct { - WorkerProcesses int `json:"worker_processes"` - WorkerConnections int `json:"worker_connections"` - ProcessMode string `json:"process_mode"` - KeepaliveTimeout int `json:"keepalive_timeout"` - Gzip string `json:"gzip"` - GzipMinLength int `json:"gzip_min_length"` - GzipCompLevel int `json:"gzip_comp_level"` - ClientMaxBodySize string `json:"client_max_body_size"` // with unit - ServerNamesHashBucketSize int `json:"server_names_hash_bucket_size"` - ClientHeaderBufferSize string `json:"client_header_buffer_size"` // with unit - ClientBodyBufferSize string `json:"client_body_buffer_size"` // with unit -} - -// GetNginxWorkerConfigInfo Get Nginx config info of worker_processes and worker_connections -func GetNginxWorkerConfigInfo() (*NginxConfigInfo, error) { - result := &NginxConfigInfo{ - WorkerProcesses: 1, - WorkerConnections: 1024, - ProcessMode: "manual", - KeepaliveTimeout: 65, - Gzip: "off", - GzipMinLength: 1, - GzipCompLevel: 1, - ClientMaxBodySize: "1m", - ServerNamesHashBucketSize: 32, - ClientHeaderBufferSize: "1k", - ClientBodyBufferSize: "8k", - } - - confPath := GetConfPath("nginx.conf") - if confPath == "" { - return nil, errors.New("failed to get nginx.conf path") - } - - // Read the current configuration - content, err := os.ReadFile(confPath) - if err != nil { - return nil, errors.Wrap(err, "failed to read nginx.conf") - } - - outputStr := string(content) - - // Parse worker_processes - wpRe := regexp.MustCompile(`worker_processes\s+(\d+|auto);`) - if matches := wpRe.FindStringSubmatch(outputStr); len(matches) > 1 { - if matches[1] == "auto" { - result.WorkerProcesses = runtime.NumCPU() - result.ProcessMode = "auto" - } else { - result.WorkerProcesses, _ = strconv.Atoi(matches[1]) - result.ProcessMode = "manual" - } - } - - // Parse worker_connections - wcRe := regexp.MustCompile(`worker_connections\s+(\d+);`) - if matches := wcRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.WorkerConnections, _ = strconv.Atoi(matches[1]) - } - - // Parse keepalive_timeout - ktRe := regexp.MustCompile(`keepalive_timeout\s+(\d+);`) - if matches := ktRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.KeepaliveTimeout, _ = strconv.Atoi(matches[1]) - } - - // Parse gzip - gzipRe := regexp.MustCompile(`gzip\s+(on|off);`) - if matches := gzipRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.Gzip = matches[1] - } - - // Parse gzip_min_length - gzipMinRe := regexp.MustCompile(`gzip_min_length\s+(\d+);`) - if matches := gzipMinRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.GzipMinLength, _ = strconv.Atoi(matches[1]) - } - - // Parse gzip_comp_level - gzipCompRe := regexp.MustCompile(`gzip_comp_level\s+(\d+);`) - if matches := gzipCompRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.GzipCompLevel, _ = strconv.Atoi(matches[1]) - } - - // Parse client_max_body_size with any unit (k, m, g) - cmaxRe := regexp.MustCompile(`client_max_body_size\s+(\d+[kmg]?);`) - if matches := cmaxRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.ClientMaxBodySize = matches[1] - } - - // Parse server_names_hash_bucket_size - hashRe := regexp.MustCompile(`server_names_hash_bucket_size\s+(\d+);`) - if matches := hashRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.ServerNamesHashBucketSize, _ = strconv.Atoi(matches[1]) - } - - // Parse client_header_buffer_size with any unit (k, m, g) - headerRe := regexp.MustCompile(`client_header_buffer_size\s+(\d+[kmg]?);`) - if matches := headerRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.ClientHeaderBufferSize = matches[1] - } - - // Parse client_body_buffer_size with any unit (k, m, g) - bodyRe := regexp.MustCompile(`client_body_buffer_size\s+(\d+[kmg]?);`) - if matches := bodyRe.FindStringSubmatch(outputStr); len(matches) > 1 { - result.ClientBodyBufferSize = matches[1] - } - - return result, nil -} diff --git a/internal/performance/config_info.go b/internal/performance/config_info.go new file mode 100644 index 00000000..d1ddfc6b --- /dev/null +++ b/internal/performance/config_info.go @@ -0,0 +1,246 @@ +package performance + +import ( + "os" + "regexp" + "runtime" + "strconv" + + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/pkg/errors" +) + +type NginxConfigInfo struct { + WorkerProcesses int `json:"worker_processes"` + WorkerConnections int `json:"worker_connections"` + ProcessMode string `json:"process_mode"` + KeepaliveTimeout string `json:"keepalive_timeout"` + Gzip string `json:"gzip"` + GzipMinLength int `json:"gzip_min_length"` + GzipCompLevel int `json:"gzip_comp_level"` + ClientMaxBodySize string `json:"client_max_body_size"` // with unit + ServerNamesHashBucketSize string `json:"server_names_hash_bucket_size"` + ClientHeaderBufferSize string `json:"client_header_buffer_size"` // with unit + ClientBodyBufferSize string `json:"client_body_buffer_size"` // with unit + ProxyCache ProxyCacheConfig `json:"proxy_cache"` +} + +// GetNginxWorkerConfigInfo Get Nginx config info of worker_processes and worker_connections +func GetNginxWorkerConfigInfo() (*NginxConfigInfo, error) { + result := &NginxConfigInfo{ + WorkerProcesses: 1, + WorkerConnections: 1024, + ProcessMode: "manual", + KeepaliveTimeout: "65s", + Gzip: "off", + GzipMinLength: 1, + GzipCompLevel: 1, + ClientMaxBodySize: "1m", + ServerNamesHashBucketSize: "32k", + ClientHeaderBufferSize: "1k", + ClientBodyBufferSize: "8k", + ProxyCache: ProxyCacheConfig{ + Enabled: false, + Path: "/var/cache/nginx/proxy_cache", + Levels: "1:2", + UseTempPath: "off", + KeysZone: "proxy_cache:10m", + Inactive: "60m", + MaxSize: "1g", + // Purger: "off", + }, + } + + confPath := nginx.GetConfPath("nginx.conf") + if confPath == "" { + return nil, errors.New("failed to get nginx.conf path") + } + + // Read the current configuration + content, err := os.ReadFile(confPath) + if err != nil { + return nil, errors.Wrap(err, "failed to read nginx.conf") + } + + outputStr := string(content) + + // Parse worker_processes + wpRe := regexp.MustCompile(`worker_processes\s+(\d+|auto);`) + if matches := wpRe.FindStringSubmatch(outputStr); len(matches) > 1 { + if matches[1] == "auto" { + result.WorkerProcesses = runtime.NumCPU() + result.ProcessMode = "auto" + } else { + result.WorkerProcesses, _ = strconv.Atoi(matches[1]) + result.ProcessMode = "manual" + } + } + + // Parse worker_connections + wcRe := regexp.MustCompile(`worker_connections\s+(\d+);`) + if matches := wcRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.WorkerConnections, _ = strconv.Atoi(matches[1]) + } + + // Parse keepalive_timeout + ktRe := regexp.MustCompile(`keepalive_timeout\s+(\d+[smhdwMy]?);`) + if matches := ktRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.KeepaliveTimeout = matches[1] + } + + // Parse gzip + gzipRe := regexp.MustCompile(`gzip\s+(on|off);`) + if matches := gzipRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.Gzip = matches[1] + } + + // Parse gzip_min_length + gzipMinRe := regexp.MustCompile(`gzip_min_length\s+(\d+);`) + if matches := gzipMinRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.GzipMinLength, _ = strconv.Atoi(matches[1]) + } + + // Parse gzip_comp_level + gzipCompRe := regexp.MustCompile(`gzip_comp_level\s+(\d+);`) + if matches := gzipCompRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.GzipCompLevel, _ = strconv.Atoi(matches[1]) + } + + // Parse client_max_body_size with any unit (k, m, g) + cmaxRe := regexp.MustCompile(`client_max_body_size\s+(\d+[kmg]?);`) + if matches := cmaxRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientMaxBodySize = matches[1] + } + + // Parse server_names_hash_bucket_size + hashRe := regexp.MustCompile(`server_names_hash_bucket_size\s+(\d+[kmg]?);`) + if matches := hashRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ServerNamesHashBucketSize = matches[1] + } + + // Parse client_header_buffer_size with any unit (k, m, g) + headerRe := regexp.MustCompile(`client_header_buffer_size\s+(\d+[kmg]?);`) + if matches := headerRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientHeaderBufferSize = matches[1] + } + + // Parse client_body_buffer_size with any unit (k, m, g) + bodyRe := regexp.MustCompile(`client_body_buffer_size\s+(\d+[kmg]?);`) + if matches := bodyRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientBodyBufferSize = matches[1] + } + + // Parse proxy_cache_path settings + proxyCachePathRe := regexp.MustCompile(`proxy_cache_path\s+([^;]+);`) + if matches := proxyCachePathRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ProxyCache.Enabled = true + proxyCacheParams := matches[1] + + // Extract path (first parameter) + pathRe := regexp.MustCompile(`^\s*([^\s]+)`) + if pathMatches := pathRe.FindStringSubmatch(proxyCacheParams); len(pathMatches) > 1 { + result.ProxyCache.Path = pathMatches[1] + } + + // Extract levels parameter + levelsRe := regexp.MustCompile(`levels=([^\s]+)`) + if levelsMatches := levelsRe.FindStringSubmatch(proxyCacheParams); len(levelsMatches) > 1 { + result.ProxyCache.Levels = levelsMatches[1] + } + + // Extract use_temp_path parameter + useTempPathRe := regexp.MustCompile(`use_temp_path=(on|off)`) + if useTempPathMatches := useTempPathRe.FindStringSubmatch(proxyCacheParams); len(useTempPathMatches) > 1 { + result.ProxyCache.UseTempPath = useTempPathMatches[1] + } + + // Extract keys_zone parameter + keysZoneRe := regexp.MustCompile(`keys_zone=([^\s]+)`) + if keysZoneMatches := keysZoneRe.FindStringSubmatch(proxyCacheParams); len(keysZoneMatches) > 1 { + result.ProxyCache.KeysZone = keysZoneMatches[1] + } + + // Extract inactive parameter + inactiveRe := regexp.MustCompile(`inactive=([^\s]+)`) + if inactiveMatches := inactiveRe.FindStringSubmatch(proxyCacheParams); len(inactiveMatches) > 1 { + result.ProxyCache.Inactive = inactiveMatches[1] + } + + // Extract max_size parameter + maxSizeRe := regexp.MustCompile(`max_size=([^\s]+)`) + if maxSizeMatches := maxSizeRe.FindStringSubmatch(proxyCacheParams); len(maxSizeMatches) > 1 { + result.ProxyCache.MaxSize = maxSizeMatches[1] + } + + // Extract min_free parameter + minFreeRe := regexp.MustCompile(`min_free=([^\s]+)`) + if minFreeMatches := minFreeRe.FindStringSubmatch(proxyCacheParams); len(minFreeMatches) > 1 { + result.ProxyCache.MinFree = minFreeMatches[1] + } + + // Extract manager_files parameter + managerFilesRe := regexp.MustCompile(`manager_files=([^\s]+)`) + if managerFilesMatches := managerFilesRe.FindStringSubmatch(proxyCacheParams); len(managerFilesMatches) > 1 { + result.ProxyCache.ManagerFiles = managerFilesMatches[1] + } + + // Extract manager_sleep parameter + managerSleepRe := regexp.MustCompile(`manager_sleep=([^\s]+)`) + if managerSleepMatches := managerSleepRe.FindStringSubmatch(proxyCacheParams); len(managerSleepMatches) > 1 { + result.ProxyCache.ManagerSleep = managerSleepMatches[1] + } + + // Extract manager_threshold parameter + managerThresholdRe := regexp.MustCompile(`manager_threshold=([^\s]+)`) + if managerThresholdMatches := managerThresholdRe.FindStringSubmatch(proxyCacheParams); len(managerThresholdMatches) > 1 { + result.ProxyCache.ManagerThreshold = managerThresholdMatches[1] + } + + // Extract loader_files parameter + loaderFilesRe := regexp.MustCompile(`loader_files=([^\s]+)`) + if loaderFilesMatches := loaderFilesRe.FindStringSubmatch(proxyCacheParams); len(loaderFilesMatches) > 1 { + result.ProxyCache.LoaderFiles = loaderFilesMatches[1] + } + + // Extract loader_sleep parameter + loaderSleepRe := regexp.MustCompile(`loader_sleep=([^\s]+)`) + if loaderSleepMatches := loaderSleepRe.FindStringSubmatch(proxyCacheParams); len(loaderSleepMatches) > 1 { + result.ProxyCache.LoaderSleep = loaderSleepMatches[1] + } + + // Extract loader_threshold parameter + loaderThresholdRe := regexp.MustCompile(`loader_threshold=([^\s]+)`) + if loaderThresholdMatches := loaderThresholdRe.FindStringSubmatch(proxyCacheParams); len(loaderThresholdMatches) > 1 { + result.ProxyCache.LoaderThreshold = loaderThresholdMatches[1] + } + + // Extract purger parameter + // purgerRe := regexp.MustCompile(`purger=(on|off)`) + // if purgerMatches := purgerRe.FindStringSubmatch(proxyCacheParams); len(purgerMatches) > 1 { + // result.ProxyCache.Purger = purgerMatches[1] + // } + + // // Extract purger_files parameter + // purgerFilesRe := regexp.MustCompile(`purger_files=([^\s]+)`) + // if purgerFilesMatches := purgerFilesRe.FindStringSubmatch(proxyCacheParams); len(purgerFilesMatches) > 1 { + // result.ProxyCache.PurgerFiles = purgerFilesMatches[1] + // } + + // // Extract purger_sleep parameter + // purgerSleepRe := regexp.MustCompile(`purger_sleep=([^\s]+)`) + // if purgerSleepMatches := purgerSleepRe.FindStringSubmatch(proxyCacheParams); len(purgerSleepMatches) > 1 { + // result.ProxyCache.PurgerSleep = purgerSleepMatches[1] + // } + + // // Extract purger_threshold parameter + // purgerThresholdRe := regexp.MustCompile(`purger_threshold=([^\s]+)`) + // if purgerThresholdMatches := purgerThresholdRe.FindStringSubmatch(proxyCacheParams); len(purgerThresholdMatches) > 1 { + // result.ProxyCache.PurgerThreshold = purgerThresholdMatches[1] + // } + } else { + // No proxy_cache_path directive found, so disable it + result.ProxyCache.Enabled = false + } + + return result, nil +} diff --git a/internal/performance/perf_opt.go b/internal/performance/perf_opt.go new file mode 100644 index 00000000..763eef83 --- /dev/null +++ b/internal/performance/perf_opt.go @@ -0,0 +1,289 @@ +package performance + +import ( + "os" + "sort" + + ngxConfig "github.com/0xJacky/Nginx-UI/internal/config" + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/pkg/errors" + "github.com/tufanbarisyildirim/gonginx/config" + "github.com/tufanbarisyildirim/gonginx/dumper" + "github.com/tufanbarisyildirim/gonginx/parser" +) + +type ProxyCacheConfig struct { + Enabled bool `json:"enabled"` + Path string `json:"path"` // Cache file path + Levels string `json:"levels"` // Cache directory levels + UseTempPath string `json:"use_temp_path"` // Use temporary path (on/off) + KeysZone string `json:"keys_zone"` // Shared memory zone name and size + Inactive string `json:"inactive"` // Time after which inactive cache is removed + MaxSize string `json:"max_size"` // Maximum size of cache + MinFree string `json:"min_free"` // Minimum free space + ManagerFiles string `json:"manager_files"` // Number of files processed by manager + ManagerSleep string `json:"manager_sleep"` // Manager check interval + ManagerThreshold string `json:"manager_threshold"` // Manager processing threshold + LoaderFiles string `json:"loader_files"` // Number of files loaded at once + LoaderSleep string `json:"loader_sleep"` // Loader check interval + LoaderThreshold string `json:"loader_threshold"` // Loader processing threshold + + // Additionally, the following parameters are available as part of nginx commercial subscription: + // Purger string `json:"purger"` // Enable cache purger (on/off) + // PurgerFiles string `json:"purger_files"` // Number of files processed by purger + // PurgerSleep string `json:"purger_sleep"` // Purger check interval + // PurgerThreshold string `json:"purger_threshold"` // Purger processing threshold +} + +// PerfOpt represents Nginx performance optimization settings +type PerfOpt struct { + WorkerProcesses string `json:"worker_processes"` // auto or number + WorkerConnections string `json:"worker_connections"` // max connections + KeepaliveTimeout string `json:"keepalive_timeout"` // timeout in seconds + Gzip string `json:"gzip"` // on or off + GzipMinLength string `json:"gzip_min_length"` // min length to compress + GzipCompLevel string `json:"gzip_comp_level"` // compression level + ClientMaxBodySize string `json:"client_max_body_size"` // max body size (with unit: k, m, g) + ServerNamesHashBucketSize string `json:"server_names_hash_bucket_size"` // hash bucket size + ClientHeaderBufferSize string `json:"client_header_buffer_size"` // header buffer size (with unit: k, m, g) + ClientBodyBufferSize string `json:"client_body_buffer_size"` // body buffer size (with unit: k, m, g) + ProxyCache ProxyCacheConfig `json:"proxy_cache,omitzero"` // proxy cache settings +} + +// UpdatePerfOpt updates the Nginx performance optimization settings +func UpdatePerfOpt(opt *PerfOpt) error { + confPath := nginx.GetConfPath("nginx.conf") + if confPath == "" { + return errors.New("failed to get nginx.conf path") + } + + // Read the current configuration + content, err := os.ReadFile(confPath) + if err != nil { + return errors.Wrap(err, "failed to read nginx.conf") + } + + // Parse the configuration + p := parser.NewStringParser(string(content), parser.WithSkipValidDirectivesErr()) + conf, err := p.Parse() + if err != nil { + return errors.Wrap(err, "failed to parse nginx.conf") + } + + // Process the configuration and update performance settings + updateNginxConfig(conf.Block, opt) + + // Dump the updated configuration + updatedConf := dumper.DumpBlock(conf.Block, dumper.IndentedStyle) + + return ngxConfig.Save(confPath, updatedConf, nil) + +} + +// updateNginxConfig updates the performance settings in the Nginx configuration +func updateNginxConfig(block config.IBlock, opt *PerfOpt) { + if block == nil { + return + } + + directives := block.GetDirectives() + // Update main context directives + updateOrAddDirective(block, directives, "worker_processes", opt.WorkerProcesses) + + // Look for events, http, and other blocks + for _, directive := range directives { + if directive.GetName() == "events" && directive.GetBlock() != nil { + // Update events block directives + eventsBlock := directive.GetBlock() + eventsDirectives := eventsBlock.GetDirectives() + updateOrAddDirective(eventsBlock, eventsDirectives, "worker_connections", opt.WorkerConnections) + } else if directive.GetName() == "http" && directive.GetBlock() != nil { + // Update http block directives + httpBlock := directive.GetBlock() + httpDirectives := httpBlock.GetDirectives() + updateOrAddDirective(httpBlock, httpDirectives, "keepalive_timeout", opt.KeepaliveTimeout) + updateOrAddDirective(httpBlock, httpDirectives, "gzip", opt.Gzip) + updateOrAddDirective(httpBlock, httpDirectives, "gzip_min_length", opt.GzipMinLength) + updateOrAddDirective(httpBlock, httpDirectives, "gzip_comp_level", opt.GzipCompLevel) + updateOrAddDirective(httpBlock, httpDirectives, "client_max_body_size", opt.ClientMaxBodySize) + updateOrAddDirective(httpBlock, httpDirectives, "server_names_hash_bucket_size", opt.ServerNamesHashBucketSize) + updateOrAddDirective(httpBlock, httpDirectives, "client_header_buffer_size", opt.ClientHeaderBufferSize) + updateOrAddDirective(httpBlock, httpDirectives, "client_body_buffer_size", opt.ClientBodyBufferSize) + + // Handle proxy_cache_path directive + updateOrRemoveProxyCachePath(httpBlock, httpDirectives, &opt.ProxyCache) + + sortDirectives(httpDirectives) + } + } +} + +// updateOrAddDirective updates a directive if it exists, or adds it to the block if it doesn't +func updateOrAddDirective(block config.IBlock, directives []config.IDirective, name string, value string) { + if value == "" { + return + } + + // Search for existing directive + for _, directive := range directives { + if directive.GetName() == name { + // Update existing directive + if len(directive.GetParameters()) > 0 { + directive.GetParameters()[0].Value = value + } + return + } + } + + // If we get here, we need to add a new directive + // Create a new directive and add it to the block + // This requires knowledge of the underlying implementation + // For now, we'll use the Directive type from gonginx/config + newDirective := &config.Directive{ + Name: name, + Parameters: []config.Parameter{{Value: value}}, + } + + // Add the new directive to the block + // This is specific to the gonginx library implementation + switch block := block.(type) { + case *config.Config: + block.Block.Directives = append(block.Block.Directives, newDirective) + case *config.Block: + block.Directives = append(block.Directives, newDirective) + case *config.HTTP: + block.Directives = append(block.Directives, newDirective) + } +} + +// sortDirectives sorts directives alphabetically by name +func sortDirectives(directives []config.IDirective) { + sort.SliceStable(directives, func(i, j int) bool { + // Ensure both i and j can return valid names + return directives[i].GetName() < directives[j].GetName() + }) +} + +// updateOrRemoveProxyCachePath adds or removes the proxy_cache_path directive based on whether it's enabled +func updateOrRemoveProxyCachePath(block config.IBlock, directives []config.IDirective, proxyCache *ProxyCacheConfig) { + // If not enabled, remove the directive if it exists + if !proxyCache.Enabled { + for i, directive := range directives { + if directive.GetName() == "proxy_cache_path" { + // Remove the directive + switch block := block.(type) { + case *config.Block: + block.Directives = append(block.Directives[:i], block.Directives[i+1:]...) + case *config.HTTP: + block.Directives = append(block.Directives[:i], block.Directives[i+1:]...) + } + return + } + } + return + } + + // If enabled, build the proxy_cache_path directive with all parameters + params := []config.Parameter{} + + // First parameter is the path (required) + if proxyCache.Path != "" { + params = append(params, config.Parameter{Value: proxyCache.Path}) + _ = os.MkdirAll(proxyCache.Path, 0755) + } else { + // No path specified, can't add the directive + return + } + + // Add optional parameters + if proxyCache.Levels != "" { + params = append(params, config.Parameter{Value: "levels=" + proxyCache.Levels}) + } + + if proxyCache.UseTempPath != "" { + params = append(params, config.Parameter{Value: "use_temp_path=" + proxyCache.UseTempPath}) + } + + if proxyCache.KeysZone != "" { + params = append(params, config.Parameter{Value: "keys_zone=" + proxyCache.KeysZone}) + } else { + // keys_zone is required, can't add the directive without it + return + } + + if proxyCache.Inactive != "" { + params = append(params, config.Parameter{Value: "inactive=" + proxyCache.Inactive}) + } + + if proxyCache.MaxSize != "" { + params = append(params, config.Parameter{Value: "max_size=" + proxyCache.MaxSize}) + } + + if proxyCache.MinFree != "" { + params = append(params, config.Parameter{Value: "min_free=" + proxyCache.MinFree}) + } + + if proxyCache.ManagerFiles != "" { + params = append(params, config.Parameter{Value: "manager_files=" + proxyCache.ManagerFiles}) + } + + if proxyCache.ManagerSleep != "" { + params = append(params, config.Parameter{Value: "manager_sleep=" + proxyCache.ManagerSleep}) + } + + if proxyCache.ManagerThreshold != "" { + params = append(params, config.Parameter{Value: "manager_threshold=" + proxyCache.ManagerThreshold}) + } + + if proxyCache.LoaderFiles != "" { + params = append(params, config.Parameter{Value: "loader_files=" + proxyCache.LoaderFiles}) + } + + if proxyCache.LoaderSleep != "" { + params = append(params, config.Parameter{Value: "loader_sleep=" + proxyCache.LoaderSleep}) + } + + if proxyCache.LoaderThreshold != "" { + params = append(params, config.Parameter{Value: "loader_threshold=" + proxyCache.LoaderThreshold}) + } + + // if proxyCache.Purger != "" { + // params = append(params, config.Parameter{Value: "purger=" + proxyCache.Purger}) + // } + + // if proxyCache.PurgerFiles != "" { + // params = append(params, config.Parameter{Value: "purger_files=" + proxyCache.PurgerFiles}) + // } + + // if proxyCache.PurgerSleep != "" { + // params = append(params, config.Parameter{Value: "purger_sleep=" + proxyCache.PurgerSleep}) + // } + + // if proxyCache.PurgerThreshold != "" { + // params = append(params, config.Parameter{Value: "purger_threshold=" + proxyCache.PurgerThreshold}) + // } + + // Check if directive already exists + for i, directive := range directives { + if directive.GetName() == "proxy_cache_path" { + // Remove the old directive + switch block := block.(type) { + case *config.HTTP: + block.Directives = append(block.Directives[:i], block.Directives[i+1:]...) + } + break + } + } + + // Create new directive + newDirective := &config.Directive{ + Name: "proxy_cache_path", + Parameters: params, + } + + // Add the directive to the block + switch block := block.(type) { + case *config.HTTP: + block.Directives = append(block.Directives, newDirective) + } +} diff --git a/internal/nginx/performance.go b/internal/performance/performance.go similarity index 90% rename from internal/nginx/performance.go rename to internal/performance/performance.go index c487e79a..7b6a281f 100644 --- a/internal/nginx/performance.go +++ b/internal/performance/performance.go @@ -1,6 +1,9 @@ -package nginx +package performance -import "github.com/uozi-tech/cosy/logger" +import ( + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/uozi-tech/cosy/logger" +) type NginxPerformanceInfo struct { StubStatusData @@ -16,7 +19,7 @@ type NginxPerformanceResponse struct { func GetPerformanceData() NginxPerformanceResponse { // Check if Nginx is running - running := IsNginxRunning() + running := nginx.IsNginxRunning() if !running { return NginxPerformanceResponse{ StubStatusEnabled: false, diff --git a/internal/nginx/process_info.go b/internal/performance/process_info.go similarity index 99% rename from internal/nginx/process_info.go rename to internal/performance/process_info.go index 04aff025..a0c84b3b 100644 --- a/internal/nginx/process_info.go +++ b/internal/performance/process_info.go @@ -1,4 +1,4 @@ -package nginx +package performance import ( "fmt" diff --git a/internal/nginx/stub_status.go b/internal/performance/stub_status.go similarity index 93% rename from internal/nginx/stub_status.go rename to internal/performance/stub_status.go index df32975e..31dc5c3e 100644 --- a/internal/nginx/stub_status.go +++ b/internal/performance/stub_status.go @@ -1,4 +1,4 @@ -package nginx +package performance import ( "bytes" @@ -12,6 +12,7 @@ import ( "text/template" "time" + "github.com/0xJacky/Nginx-UI/internal/nginx" "github.com/0xJacky/Nginx-UI/settings" "github.com/pkg/errors" "github.com/uozi-tech/cosy/logger" @@ -119,12 +120,12 @@ func GetStubStatus() *StubStatusInfo { // IsStubStatusEnabled Check if the stub_status module is enabled and return the access address // Only check the stub_status_nginx-ui.conf configuration file func IsStubStatusEnabled() (bool, string) { - stubStatusConfPath := GetConfPath("conf.d", StubStatusConfigName) + stubStatusConfPath := nginx.GetConfPath("conf.d", StubStatusConfigName) if _, err := os.Stat(stubStatusConfPath); os.IsNotExist(err) { return false, "" } - ngxConfig, err := ParseNgxConfig(stubStatusConfPath) + ngxConfig, err := nginx.ParseNgxConfig(stubStatusConfPath) if err != nil { return false, "" } @@ -159,7 +160,7 @@ func EnableStubStatus() error { // DisableStubStatus Disable stub_status module func DisableStubStatus() error { - stubStatusConfPath := GetConfPath("conf.d", StubStatusConfigName) + stubStatusConfPath := nginx.GetConfPath("conf.d", StubStatusConfigName) if _, err := os.Stat(stubStatusConfPath); os.IsNotExist(err) { return nil } @@ -169,7 +170,7 @@ func DisableStubStatus() error { // CreateStubStatusConfig Create a new stub_status configuration file func CreateStubStatusConfig() error { - httpConfPath := GetConfPath("conf.d", StubStatusConfigName) + httpConfPath := nginx.GetConfPath("conf.d", StubStatusConfigName) const stubStatusTemplate = ` # DO NOT EDIT THIS FILE, IT IS AUTO GENERATED BY NGINX-UI @@ -219,7 +220,7 @@ server { stubStatusConfig := buf.String() - ngxConfig, err := ParseNgxConfigByContent(stubStatusConfig) + ngxConfig, err := nginx.ParseNgxConfigByContent(stubStatusConfig) if err != nil { return errors.Wrap(err, "failed to parse new nginx config") }