mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
feat: online read access log and error log
This commit is contained in:
parent
28168197b1
commit
fea0bc727f
19 changed files with 307 additions and 121 deletions
|
@ -77,6 +77,7 @@ Nginx 网络管理界面,由 [0xJacky](https://jackyu.cn/) 与 [Hintay](https
|
||||||
- 在线查看服务器 CPU、内存、系统负载、磁盘使用率等指标
|
- 在线查看服务器 CPU、内存、系统负载、磁盘使用率等指标
|
||||||
- 一键申请和自动续签 Let's encrypt 证书
|
- 一键申请和自动续签 Let's encrypt 证书
|
||||||
- 在线编辑 Nginx 配置文件,编辑器支持 Nginx 配置语法高亮
|
- 在线编辑 Nginx 配置文件,编辑器支持 Nginx 配置语法高亮
|
||||||
|
- 在线查看 Nginx 日志
|
||||||
- 使用 Go 和 Vue 开发,发行版本为单个可执行的二进制文件
|
- 使用 Go 和 Vue 开发,发行版本为单个可执行的二进制文件
|
||||||
- 保存配置后自动测试配置文件并重载 Nginx
|
- 保存配置后自动测试配置文件并重载 Nginx
|
||||||
- 基于网页浏览器的高级命令行终端
|
- 基于网页浏览器的高级命令行终端
|
||||||
|
|
|
@ -79,6 +79,7 @@ Nginx 網路管理介面,由 [0xJacky](https://jackyu.cn/) 與 [Hintay](https
|
||||||
- 線上檢視伺服器 CPU、記憶體、系統負載、磁碟使用率等指標
|
- 線上檢視伺服器 CPU、記憶體、系統負載、磁碟使用率等指標
|
||||||
- 一鍵申請和自動續簽 Let's encrypt 憑證
|
- 一鍵申請和自動續簽 Let's encrypt 憑證
|
||||||
- 線上編輯 Nginx 配置檔案,編輯器支援 Nginx 配置語法突顯
|
- 線上編輯 Nginx 配置檔案,編輯器支援 Nginx 配置語法突顯
|
||||||
|
- 線上查看 Nginx 日誌
|
||||||
- 使用 Go 和 Vue 開發,發行版本為單個可執行檔案
|
- 使用 Go 和 Vue 開發,發行版本為單個可執行檔案
|
||||||
- 保存配置後自動測試配置檔案並重載 Nginx
|
- 保存配置後自動測試配置檔案並重載 Nginx
|
||||||
- 基於網頁瀏覽器的高級命令行終端
|
- 基於網頁瀏覽器的高級命令行終端
|
||||||
|
|
|
@ -75,6 +75,7 @@ URL:[https://nginxui.jackyu.cn](https://nginxui.jackyu.cn)
|
||||||
- Online view of server CPU, Memory, Load Average, Disk Usage and other indicators.
|
- Online view of server CPU, Memory, Load Average, Disk Usage and other indicators.
|
||||||
- One-click deployment and automatic renewal Let's Encrypt certificates.
|
- One-click deployment and automatic renewal Let's Encrypt certificates.
|
||||||
- Online editing websites configurations with our self-designed **NgxConfigEditor** which is a user-friendly block editor or **Ace Code Editor** which support highlight nginx configuration syntax.
|
- Online editing websites configurations with our self-designed **NgxConfigEditor** which is a user-friendly block editor or **Ace Code Editor** which support highlight nginx configuration syntax.
|
||||||
|
- Online view Nginx logs
|
||||||
- Written in Go and Vue, distribution is a single executable binary.
|
- Written in Go and Vue, distribution is a single executable binary.
|
||||||
- Automatically test configuration file and reload nginx after saving configuration.
|
- Automatically test configuration file and reload nginx after saving configuration.
|
||||||
- Web Terminal
|
- Web Terminal
|
||||||
|
|
4
build.sh
4
build.sh
|
@ -4,5 +4,5 @@ CGO_ENABLED=1 GOOS=linux CC=x86_64-unknown-linux-gnu-gcc \
|
||||||
"-X 'github.com/0xJacky/Nginx-UI/server/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go
|
"-X 'github.com/0xJacky/Nginx-UI/server/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go
|
||||||
|
|
||||||
docker build -t nginx-ui .
|
docker build -t nginx-ui .
|
||||||
docker tag nginx-ui uozi/nginx-ui
|
# docker tag nginx-ui uozi/nginx-ui
|
||||||
docker push uozi/nginx-ui
|
# docker push uozi/nginx-ui
|
||||||
|
|
|
@ -9,10 +9,14 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: src/routes/index.ts:92
|
#: src/routes/index.ts:116
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "About"
|
msgstr "About"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:99
|
||||||
|
msgid "Access Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
||||||
#: src/views/user/User.vue:42
|
#: src/views/user/User.vue:42
|
||||||
msgid "Action"
|
msgid "Action"
|
||||||
|
@ -29,12 +33,12 @@ msgstr ""
|
||||||
msgid "Add Directive Below"
|
msgid "Add Directive Below"
|
||||||
msgstr "Add Directive Below"
|
msgstr "Add Directive Below"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:31
|
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:46
|
#: src/views/domain/ngx_conf/LocationEditor.vue:48
|
||||||
msgid "Add Location"
|
msgid "Add Location"
|
||||||
msgstr "Add Location"
|
msgstr "Add Location"
|
||||||
|
|
||||||
#: src/routes/index.ts:54 src/views/domain/DomainAdd.vue:2
|
#: src/routes/index.ts:55 src/views/domain/DomainAdd.vue:2
|
||||||
msgid "Add Site"
|
msgid "Add Site"
|
||||||
msgstr "Add Site"
|
msgstr "Add Site"
|
||||||
|
|
||||||
|
@ -42,6 +46,10 @@ msgstr "Add Site"
|
||||||
msgid "Advance Mode"
|
msgid "Advance Mode"
|
||||||
msgstr "Advance Mode"
|
msgstr "Advance Mode"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:100
|
||||||
|
msgid "All logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:41
|
#: src/components/StdDataDisplay/StdTable.vue:41
|
||||||
#: src/views/domain/DomainList.vue:27
|
#: src/views/domain/DomainList.vue:27
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
|
@ -52,11 +60,15 @@ msgstr "Are you sure you want to remove this directive?"
|
||||||
msgid "Are you sure you want to remove this directive?"
|
msgid "Are you sure you want to remove this directive?"
|
||||||
msgstr "Are you sure you want to remove this directive?"
|
msgstr "Are you sure you want to remove this directive?"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:17
|
#: src/views/domain/ngx_conf/LocationEditor.vue:9
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Are you sure you want to remove this location?"
|
msgid "Are you sure you want to remove this location?"
|
||||||
msgstr "Are you sure you want to remove this directive?"
|
msgstr "Are you sure you want to remove this directive?"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:4
|
||||||
|
msgid "Auto Refresh"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/IssueCert.vue:78
|
#: src/views/domain/cert/IssueCert.vue:78
|
||||||
msgid "Auto-renewal disabled for %{name}"
|
msgid "Auto-renewal disabled for %{name}"
|
||||||
msgstr "Auto-renewal disabled for %{name}"
|
msgstr "Auto-renewal disabled for %{name}"
|
||||||
|
@ -65,7 +77,7 @@ msgstr "Auto-renewal disabled for %{name}"
|
||||||
msgid "Auto-renewal enabled for %{name}"
|
msgid "Auto-renewal enabled for %{name}"
|
||||||
msgstr "Auto-renewal enabled for %{name}"
|
msgstr "Auto-renewal enabled for %{name}"
|
||||||
|
|
||||||
#: src/views/domain/DomainEdit.vue:178
|
#: src/views/domain/DomainEdit.vue:178 src/views/nginx_log/NginxLog.vue:115
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "Back"
|
msgstr "Back"
|
||||||
|
|
||||||
|
@ -104,9 +116,9 @@ msgid "Certificate Status"
|
||||||
msgstr "Certificate Status"
|
msgstr "Certificate Status"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
#: src/views/domain/ngx_conf/LocationEditor.vue:21
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:7
|
#: src/views/domain/ngx_conf/LocationEditor.vue:35
|
||||||
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:156
|
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:161
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comments"
|
msgstr "Comments"
|
||||||
|
|
||||||
|
@ -122,8 +134,8 @@ msgstr "Configurations"
|
||||||
msgid "Configure SSL"
|
msgid "Configure SSL"
|
||||||
msgstr "Configure SSL"
|
msgstr "Configure SSL"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:13
|
#: src/views/domain/ngx_conf/LocationEditor.vue:27
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:39
|
#: src/views/domain/ngx_conf/LocationEditor.vue:41
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "Content"
|
msgstr "Content"
|
||||||
|
|
||||||
|
@ -147,7 +159,7 @@ msgstr "Created at"
|
||||||
msgid "Creating client facilitates communication with the CA server"
|
msgid "Creating client facilitates communication with the CA server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:26
|
#: src/routes/index.ts:27
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr "Dashboard"
|
msgstr "Dashboard"
|
||||||
|
|
||||||
|
@ -205,11 +217,11 @@ msgstr "Domain Config Created Successfully"
|
||||||
msgid "Edit %{n}"
|
msgid "Edit %{n}"
|
||||||
msgstr "Edit %{n}"
|
msgstr "Edit %{n}"
|
||||||
|
|
||||||
#: src/routes/index.ts:76 src/views/config/ConfigEdit.vue:2
|
#: src/routes/index.ts:77 src/views/config/ConfigEdit.vue:2
|
||||||
msgid "Edit Configuration"
|
msgid "Edit Configuration"
|
||||||
msgstr "Edit Configuration"
|
msgstr "Edit Configuration"
|
||||||
|
|
||||||
#: src/routes/index.ts:58
|
#: src/routes/index.ts:59
|
||||||
msgid "Edit Site"
|
msgid "Edit Site"
|
||||||
msgstr "Edit Site"
|
msgstr "Edit Site"
|
||||||
|
|
||||||
|
@ -244,6 +256,10 @@ msgstr "Enabled successfully"
|
||||||
msgid "Encrypt website with Let's Encrypt"
|
msgid "Encrypt website with Let's Encrypt"
|
||||||
msgstr "Encrypt website with Let's Encrypt"
|
msgstr "Encrypt website with Let's Encrypt"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:103
|
||||||
|
msgid "Error Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/CertInfo.vue:17
|
#: src/views/domain/cert/CertInfo.vue:17
|
||||||
msgid "Expiration Date: %{date}"
|
msgid "Expiration Date: %{date}"
|
||||||
msgstr "Expiration Date: %{date}"
|
msgstr "Expiration Date: %{date}"
|
||||||
|
@ -260,6 +276,10 @@ msgstr "Failed to enable %{msg}"
|
||||||
msgid "Failed to get certificate information"
|
msgid "Failed to get certificate information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:7
|
||||||
|
msgid "Fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
||||||
msgid "File Not Found"
|
msgid "File Not Found"
|
||||||
msgstr "File Not Found"
|
msgstr "File Not Found"
|
||||||
|
@ -276,11 +296,11 @@ msgstr ""
|
||||||
msgid "Getting the certificate, please wait..."
|
msgid "Getting the certificate, please wait..."
|
||||||
msgstr "Getting the certificate, please wait..."
|
msgstr "Getting the certificate, please wait..."
|
||||||
|
|
||||||
#: src/routes/index.ts:19
|
#: src/routes/index.ts:20
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Home"
|
msgstr "Home"
|
||||||
|
|
||||||
#: src/routes/index.ts:102 src/views/other/Install.vue:128
|
#: src/routes/index.ts:126 src/views/other/Install.vue:128
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr "Install"
|
msgstr "Install"
|
||||||
|
|
||||||
|
@ -314,7 +334,7 @@ msgstr "Location"
|
||||||
msgid "Locations"
|
msgid "Locations"
|
||||||
msgstr "Locations"
|
msgstr "Locations"
|
||||||
|
|
||||||
#: src/routes/index.ts:108 src/views/other/Login.vue:103
|
#: src/routes/index.ts:132 src/views/other/Login.vue:103
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Login"
|
msgstr "Login"
|
||||||
|
|
||||||
|
@ -334,15 +354,15 @@ msgstr ""
|
||||||
"Make sure you have configured a reverse proxy for .well-known directory to "
|
"Make sure you have configured a reverse proxy for .well-known directory to "
|
||||||
"HTTPChallengePort (default: 9180) before getting the certificate."
|
"HTTPChallengePort (default: 9180) before getting the certificate."
|
||||||
|
|
||||||
#: src/routes/index.ts:67
|
#: src/routes/index.ts:68
|
||||||
msgid "Manage Configs"
|
msgid "Manage Configs"
|
||||||
msgstr "Manage Configs"
|
msgstr "Manage Configs"
|
||||||
|
|
||||||
#: src/routes/index.ts:42 src/views/domain/DomainList.vue:2
|
#: src/routes/index.ts:43 src/views/domain/DomainList.vue:2
|
||||||
msgid "Manage Sites"
|
msgid "Manage Sites"
|
||||||
msgstr "Manage Sites"
|
msgstr "Manage Sites"
|
||||||
|
|
||||||
#: src/routes/index.ts:34 src/views/user/User.vue:2
|
#: src/routes/index.ts:35 src/views/user/User.vue:2
|
||||||
msgid "Manage Users"
|
msgid "Manage Users"
|
||||||
msgstr "Manage Users"
|
msgstr "Manage Users"
|
||||||
|
|
||||||
|
@ -388,18 +408,26 @@ msgstr "Network Total Receive"
|
||||||
msgid "Network Total Send"
|
msgid "Network Total Send"
|
||||||
msgstr "Network Total Send"
|
msgstr "Network Total Send"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:103
|
||||||
|
msgid "New logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/DomainAdd.vue:137
|
#: src/views/domain/DomainAdd.vue:137
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "Next"
|
msgstr "Next"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:93 src/views/nginx_log/NginxLog.vue:2
|
||||||
|
msgid "Nginx Log"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:39
|
#: src/components/StdDataDisplay/StdTable.vue:39
|
||||||
#: src/views/domain/DomainList.vue:25
|
#: src/views/domain/DomainList.vue:25
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:19
|
#: src/views/domain/ngx_conf/LocationEditor.vue:11
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "No"
|
msgstr "No"
|
||||||
|
|
||||||
#: src/routes/index.ts:114 src/routes/index.ts:116
|
#: src/routes/index.ts:138 src/routes/index.ts:140
|
||||||
msgid "Not Found"
|
msgid "Not Found"
|
||||||
msgstr "Not Found"
|
msgstr "Not Found"
|
||||||
|
|
||||||
|
@ -441,8 +469,8 @@ msgstr "Password"
|
||||||
msgid "Password (*)"
|
msgid "Password (*)"
|
||||||
msgstr "Password (*)"
|
msgstr "Password (*)"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
#: src/views/domain/ngx_conf/LocationEditor.vue:24
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:36
|
#: src/views/domain/ngx_conf/LocationEditor.vue:38
|
||||||
msgid "Path"
|
msgid "Path"
|
||||||
msgstr "Path"
|
msgstr "Path"
|
||||||
|
|
||||||
|
@ -552,7 +580,12 @@ msgstr "server_name parameters more than one"
|
||||||
msgid "Single Directive"
|
msgid "Single Directive"
|
||||||
msgstr "Single Directive"
|
msgstr "Single Directive"
|
||||||
|
|
||||||
#: src/routes/index.ts:50
|
#: src/routes/index.ts:107
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Site Logs"
|
||||||
|
msgstr "Sites List"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:51
|
||||||
msgid "Sites List"
|
msgid "Sites List"
|
||||||
msgstr "Sites List"
|
msgstr "Sites List"
|
||||||
|
|
||||||
|
@ -577,7 +610,7 @@ msgstr "Swap"
|
||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Enabled"
|
msgstr "Enabled"
|
||||||
|
|
||||||
#: src/routes/index.ts:84 src/views/pty/Terminal.vue:2
|
#: src/routes/index.ts:85 src/views/pty/Terminal.vue:2
|
||||||
msgid "Terminal"
|
msgid "Terminal"
|
||||||
msgstr "Terminal"
|
msgstr "Terminal"
|
||||||
|
|
||||||
|
@ -636,7 +669,7 @@ msgid "Writing certificate to disk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:18
|
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "Yes"
|
msgstr "Yes"
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,14 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
|
||||||
#: src/routes/index.ts:92
|
#: src/routes/index.ts:116
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/index.ts:99
|
||||||
|
msgid "Access Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/config/Config.vue:24
|
#: src/views/config/Config.vue:24
|
||||||
#: src/views/domain/DomainList.vue:42
|
#: src/views/domain/DomainList.vue:42
|
||||||
#: src/views/user/User.vue:42
|
#: src/views/user/User.vue:42
|
||||||
|
@ -23,12 +27,12 @@ msgstr ""
|
||||||
msgid "Add Directive Below"
|
msgid "Add Directive Below"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:31
|
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:46
|
#: src/views/domain/ngx_conf/LocationEditor.vue:48
|
||||||
msgid "Add Location"
|
msgid "Add Location"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:54
|
#: src/routes/index.ts:55
|
||||||
#: src/views/domain/DomainAdd.vue:2
|
#: src/views/domain/DomainAdd.vue:2
|
||||||
msgid "Add Site"
|
msgid "Add Site"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -37,6 +41,10 @@ msgstr ""
|
||||||
msgid "Advance Mode"
|
msgid "Advance Mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:100
|
||||||
|
msgid "All logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:41
|
#: src/components/StdDataDisplay/StdTable.vue:41
|
||||||
#: src/views/domain/DomainList.vue:27
|
#: src/views/domain/DomainList.vue:27
|
||||||
msgid "Are you sure you want to delete ?"
|
msgid "Are you sure you want to delete ?"
|
||||||
|
@ -46,10 +54,14 @@ msgstr ""
|
||||||
msgid "Are you sure you want to remove this directive?"
|
msgid "Are you sure you want to remove this directive?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:17
|
#: src/views/domain/ngx_conf/LocationEditor.vue:9
|
||||||
msgid "Are you sure you want to remove this location?"
|
msgid "Are you sure you want to remove this location?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:4
|
||||||
|
msgid "Auto Refresh"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/IssueCert.vue:78
|
#: src/views/domain/cert/IssueCert.vue:78
|
||||||
msgid "Auto-renewal disabled for %{name}"
|
msgid "Auto-renewal disabled for %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -59,6 +71,7 @@ msgid "Auto-renewal enabled for %{name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/DomainEdit.vue:178
|
#: src/views/domain/DomainEdit.vue:178
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:115
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -96,9 +109,9 @@ msgid "Certificate Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
#: src/views/domain/ngx_conf/LocationEditor.vue:21
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:7
|
#: src/views/domain/ngx_conf/LocationEditor.vue:35
|
||||||
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:156
|
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:161
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -114,8 +127,8 @@ msgstr ""
|
||||||
msgid "Configure SSL"
|
msgid "Configure SSL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:13
|
#: src/views/domain/ngx_conf/LocationEditor.vue:27
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:39
|
#: src/views/domain/ngx_conf/LocationEditor.vue:41
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -139,7 +152,7 @@ msgstr ""
|
||||||
msgid "Creating client facilitates communication with the CA server"
|
msgid "Creating client facilitates communication with the CA server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:26
|
#: src/routes/index.ts:27
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -200,12 +213,12 @@ msgstr ""
|
||||||
msgid "Edit %{n}"
|
msgid "Edit %{n}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:76
|
#: src/routes/index.ts:77
|
||||||
#: src/views/config/ConfigEdit.vue:2
|
#: src/views/config/ConfigEdit.vue:2
|
||||||
msgid "Edit Configuration"
|
msgid "Edit Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:58
|
#: src/routes/index.ts:59
|
||||||
msgid "Edit Site"
|
msgid "Edit Site"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -243,6 +256,10 @@ msgstr ""
|
||||||
msgid "Encrypt website with Let's Encrypt"
|
msgid "Encrypt website with Let's Encrypt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/index.ts:103
|
||||||
|
msgid "Error Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/CertInfo.vue:17
|
#: src/views/domain/cert/CertInfo.vue:17
|
||||||
msgid "Expiration Date: %{date}"
|
msgid "Expiration Date: %{date}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -261,6 +278,10 @@ msgstr ""
|
||||||
msgid "Failed to get certificate information"
|
msgid "Failed to get certificate information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:7
|
||||||
|
msgid "Fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/other/Error.vue:3
|
#: src/views/other/Error.vue:3
|
||||||
#: src/views/other/Error.vue:4
|
#: src/views/other/Error.vue:4
|
||||||
msgid "File Not Found"
|
msgid "File Not Found"
|
||||||
|
@ -279,11 +300,11 @@ msgstr ""
|
||||||
msgid "Getting the certificate, please wait..."
|
msgid "Getting the certificate, please wait..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:19
|
#: src/routes/index.ts:20
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:102
|
#: src/routes/index.ts:126
|
||||||
#: src/views/other/Install.vue:128
|
#: src/views/other/Install.vue:128
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -316,7 +337,7 @@ msgstr ""
|
||||||
msgid "Locations"
|
msgid "Locations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:108
|
#: src/routes/index.ts:132
|
||||||
#: src/views/other/Login.vue:103
|
#: src/views/other/Login.vue:103
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -333,16 +354,16 @@ msgstr ""
|
||||||
msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate."
|
msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:67
|
#: src/routes/index.ts:68
|
||||||
msgid "Manage Configs"
|
msgid "Manage Configs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:42
|
#: src/routes/index.ts:43
|
||||||
#: src/views/domain/DomainList.vue:2
|
#: src/views/domain/DomainList.vue:2
|
||||||
msgid "Manage Sites"
|
msgid "Manage Sites"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:34
|
#: src/routes/index.ts:35
|
||||||
#: src/views/user/User.vue:2
|
#: src/views/user/User.vue:2
|
||||||
msgid "Manage Users"
|
msgid "Manage Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -389,19 +410,28 @@ msgstr ""
|
||||||
msgid "Network Total Send"
|
msgid "Network Total Send"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:103
|
||||||
|
msgid "New logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/DomainAdd.vue:137
|
#: src/views/domain/DomainAdd.vue:137
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/index.ts:93
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:2
|
||||||
|
msgid "Nginx Log"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:39
|
#: src/components/StdDataDisplay/StdTable.vue:39
|
||||||
#: src/views/domain/DomainList.vue:25
|
#: src/views/domain/DomainList.vue:25
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:19
|
#: src/views/domain/ngx_conf/LocationEditor.vue:11
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:114
|
#: src/routes/index.ts:138
|
||||||
#: src/routes/index.ts:116
|
#: src/routes/index.ts:140
|
||||||
msgid "Not Found"
|
msgid "Not Found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -441,8 +471,8 @@ msgstr ""
|
||||||
msgid "Password (*)"
|
msgid "Password (*)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
#: src/views/domain/ngx_conf/LocationEditor.vue:24
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:36
|
#: src/views/domain/ngx_conf/LocationEditor.vue:38
|
||||||
msgid "Path"
|
msgid "Path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -561,7 +591,11 @@ msgstr ""
|
||||||
msgid "Single Directive"
|
msgid "Single Directive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:50
|
#: src/routes/index.ts:107
|
||||||
|
msgid "Site Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/index.ts:51
|
||||||
msgid "Sites List"
|
msgid "Sites List"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -585,7 +619,7 @@ msgstr ""
|
||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:84
|
#: src/routes/index.ts:85
|
||||||
#: src/views/pty/Terminal.vue:2
|
#: src/views/pty/Terminal.vue:2
|
||||||
msgid "Terminal"
|
msgid "Terminal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -645,7 +679,7 @@ msgid "Writing certificate to disk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:18
|
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -12,10 +12,14 @@ msgstr ""
|
||||||
"Generated-By: easygettext\n"
|
"Generated-By: easygettext\n"
|
||||||
"X-Generator: Poedit 3.1.1\n"
|
"X-Generator: Poedit 3.1.1\n"
|
||||||
|
|
||||||
#: src/routes/index.ts:92
|
#: src/routes/index.ts:116
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "关于"
|
msgstr "关于"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:99
|
||||||
|
msgid "Access Logs"
|
||||||
|
msgstr "访问日志"
|
||||||
|
|
||||||
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
||||||
#: src/views/user/User.vue:42
|
#: src/views/user/User.vue:42
|
||||||
msgid "Action"
|
msgid "Action"
|
||||||
|
@ -32,12 +36,12 @@ msgstr "添加"
|
||||||
msgid "Add Directive Below"
|
msgid "Add Directive Below"
|
||||||
msgstr "在下面添加指令"
|
msgstr "在下面添加指令"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:31
|
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:46
|
#: src/views/domain/ngx_conf/LocationEditor.vue:48
|
||||||
msgid "Add Location"
|
msgid "Add Location"
|
||||||
msgstr "添加 Location"
|
msgstr "添加 Location"
|
||||||
|
|
||||||
#: src/routes/index.ts:54 src/views/domain/DomainAdd.vue:2
|
#: src/routes/index.ts:55 src/views/domain/DomainAdd.vue:2
|
||||||
msgid "Add Site"
|
msgid "Add Site"
|
||||||
msgstr "添加站点"
|
msgstr "添加站点"
|
||||||
|
|
||||||
|
@ -45,6 +49,10 @@ msgstr "添加站点"
|
||||||
msgid "Advance Mode"
|
msgid "Advance Mode"
|
||||||
msgstr "高级模式"
|
msgstr "高级模式"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:100
|
||||||
|
msgid "All logs"
|
||||||
|
msgstr "所有日志"
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:41
|
#: src/components/StdDataDisplay/StdTable.vue:41
|
||||||
#: src/views/domain/DomainList.vue:27
|
#: src/views/domain/DomainList.vue:27
|
||||||
msgid "Are you sure you want to delete ?"
|
msgid "Are you sure you want to delete ?"
|
||||||
|
@ -54,10 +62,14 @@ msgstr "您确定要删除吗?"
|
||||||
msgid "Are you sure you want to remove this directive?"
|
msgid "Are you sure you want to remove this directive?"
|
||||||
msgstr "您确定要删除这条指令?"
|
msgstr "您确定要删除这条指令?"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:17
|
#: src/views/domain/ngx_conf/LocationEditor.vue:9
|
||||||
msgid "Are you sure you want to remove this location?"
|
msgid "Are you sure you want to remove this location?"
|
||||||
msgstr "您确定要删除这个 Location?"
|
msgstr "您确定要删除这个 Location?"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:4
|
||||||
|
msgid "Auto Refresh"
|
||||||
|
msgstr "自动刷新"
|
||||||
|
|
||||||
#: src/views/domain/cert/IssueCert.vue:78
|
#: src/views/domain/cert/IssueCert.vue:78
|
||||||
msgid "Auto-renewal disabled for %{name}"
|
msgid "Auto-renewal disabled for %{name}"
|
||||||
msgstr "成功关闭 %{name} 自动续签"
|
msgstr "成功关闭 %{name} 自动续签"
|
||||||
|
@ -66,7 +78,7 @@ msgstr "成功关闭 %{name} 自动续签"
|
||||||
msgid "Auto-renewal enabled for %{name}"
|
msgid "Auto-renewal enabled for %{name}"
|
||||||
msgstr "成功启用 %{name} 自动续签"
|
msgstr "成功启用 %{name} 自动续签"
|
||||||
|
|
||||||
#: src/views/domain/DomainEdit.vue:178
|
#: src/views/domain/DomainEdit.vue:178 src/views/nginx_log/NginxLog.vue:115
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "返回"
|
msgstr "返回"
|
||||||
|
|
||||||
|
@ -104,9 +116,9 @@ msgid "Certificate Status"
|
||||||
msgstr "证书状态"
|
msgstr "证书状态"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
#: src/views/domain/ngx_conf/LocationEditor.vue:21
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:7
|
#: src/views/domain/ngx_conf/LocationEditor.vue:35
|
||||||
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:156
|
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:161
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "注释"
|
msgstr "注释"
|
||||||
|
|
||||||
|
@ -122,8 +134,8 @@ msgstr "配置"
|
||||||
msgid "Configure SSL"
|
msgid "Configure SSL"
|
||||||
msgstr "配置 SSL"
|
msgstr "配置 SSL"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:13
|
#: src/views/domain/ngx_conf/LocationEditor.vue:27
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:39
|
#: src/views/domain/ngx_conf/LocationEditor.vue:41
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "内容"
|
msgstr "内容"
|
||||||
|
|
||||||
|
@ -147,7 +159,7 @@ msgstr "创建时间"
|
||||||
msgid "Creating client facilitates communication with the CA server"
|
msgid "Creating client facilitates communication with the CA server"
|
||||||
msgstr "正在创建客户端用于与 CA 服务器通信"
|
msgstr "正在创建客户端用于与 CA 服务器通信"
|
||||||
|
|
||||||
#: src/routes/index.ts:26
|
#: src/routes/index.ts:27
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr "仪表盘"
|
msgstr "仪表盘"
|
||||||
|
|
||||||
|
@ -205,11 +217,11 @@ msgstr "域名配置文件创建成功"
|
||||||
msgid "Edit %{n}"
|
msgid "Edit %{n}"
|
||||||
msgstr "编辑 %{n}"
|
msgstr "编辑 %{n}"
|
||||||
|
|
||||||
#: src/routes/index.ts:76 src/views/config/ConfigEdit.vue:2
|
#: src/routes/index.ts:77 src/views/config/ConfigEdit.vue:2
|
||||||
msgid "Edit Configuration"
|
msgid "Edit Configuration"
|
||||||
msgstr "编辑配置"
|
msgstr "编辑配置"
|
||||||
|
|
||||||
#: src/routes/index.ts:58
|
#: src/routes/index.ts:59
|
||||||
msgid "Edit Site"
|
msgid "Edit Site"
|
||||||
msgstr "编辑站点"
|
msgstr "编辑站点"
|
||||||
|
|
||||||
|
@ -244,6 +256,10 @@ msgstr "启用成功"
|
||||||
msgid "Encrypt website with Let's Encrypt"
|
msgid "Encrypt website with Let's Encrypt"
|
||||||
msgstr "用 Let's Encrypt 对网站进行加密"
|
msgstr "用 Let's Encrypt 对网站进行加密"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:103
|
||||||
|
msgid "Error Logs"
|
||||||
|
msgstr "错误日志"
|
||||||
|
|
||||||
#: src/views/domain/cert/CertInfo.vue:17
|
#: src/views/domain/cert/CertInfo.vue:17
|
||||||
msgid "Expiration Date: %{date}"
|
msgid "Expiration Date: %{date}"
|
||||||
msgstr "过期时间: %{date}"
|
msgstr "过期时间: %{date}"
|
||||||
|
@ -260,6 +276,10 @@ msgstr "启用失败 %{msg}"
|
||||||
msgid "Failed to get certificate information"
|
msgid "Failed to get certificate information"
|
||||||
msgstr "获取证书信息失败"
|
msgstr "获取证书信息失败"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:7
|
||||||
|
msgid "Fetch"
|
||||||
|
msgstr "日志范围"
|
||||||
|
|
||||||
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
||||||
msgid "File Not Found"
|
msgid "File Not Found"
|
||||||
msgstr "未找到文件"
|
msgstr "未找到文件"
|
||||||
|
@ -276,11 +296,11 @@ msgstr "正在生成私钥用于注册账户"
|
||||||
msgid "Getting the certificate, please wait..."
|
msgid "Getting the certificate, please wait..."
|
||||||
msgstr "正在获取证书,请稍等..."
|
msgstr "正在获取证书,请稍等..."
|
||||||
|
|
||||||
#: src/routes/index.ts:19
|
#: src/routes/index.ts:20
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "首页"
|
msgstr "首页"
|
||||||
|
|
||||||
#: src/routes/index.ts:102 src/views/other/Install.vue:128
|
#: src/routes/index.ts:126 src/views/other/Install.vue:128
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr "安装"
|
msgstr "安装"
|
||||||
|
|
||||||
|
@ -312,7 +332,7 @@ msgstr "Location"
|
||||||
msgid "Locations"
|
msgid "Locations"
|
||||||
msgstr "Locations"
|
msgstr "Locations"
|
||||||
|
|
||||||
#: src/routes/index.ts:108 src/views/other/Login.vue:103
|
#: src/routes/index.ts:132 src/views/other/Login.vue:103
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
|
|
||||||
|
@ -332,15 +352,15 @@ msgstr ""
|
||||||
"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
|
"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
|
||||||
"HTTPChallengePort (默认: 9180)"
|
"HTTPChallengePort (默认: 9180)"
|
||||||
|
|
||||||
#: src/routes/index.ts:67
|
#: src/routes/index.ts:68
|
||||||
msgid "Manage Configs"
|
msgid "Manage Configs"
|
||||||
msgstr "配置管理"
|
msgstr "配置管理"
|
||||||
|
|
||||||
#: src/routes/index.ts:42 src/views/domain/DomainList.vue:2
|
#: src/routes/index.ts:43 src/views/domain/DomainList.vue:2
|
||||||
msgid "Manage Sites"
|
msgid "Manage Sites"
|
||||||
msgstr "网站管理"
|
msgstr "网站管理"
|
||||||
|
|
||||||
#: src/routes/index.ts:34 src/views/user/User.vue:2
|
#: src/routes/index.ts:35 src/views/user/User.vue:2
|
||||||
msgid "Manage Users"
|
msgid "Manage Users"
|
||||||
msgstr "用户管理"
|
msgstr "用户管理"
|
||||||
|
|
||||||
|
@ -385,18 +405,26 @@ msgstr "下载流量"
|
||||||
msgid "Network Total Send"
|
msgid "Network Total Send"
|
||||||
msgstr "上传流量"
|
msgstr "上传流量"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:103
|
||||||
|
msgid "New logs"
|
||||||
|
msgstr "新增日志"
|
||||||
|
|
||||||
#: src/views/domain/DomainAdd.vue:137
|
#: src/views/domain/DomainAdd.vue:137
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "下一步"
|
msgstr "下一步"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:93 src/views/nginx_log/NginxLog.vue:2
|
||||||
|
msgid "Nginx Log"
|
||||||
|
msgstr "Nginx 日志"
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:39
|
#: src/components/StdDataDisplay/StdTable.vue:39
|
||||||
#: src/views/domain/DomainList.vue:25
|
#: src/views/domain/DomainList.vue:25
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:19
|
#: src/views/domain/ngx_conf/LocationEditor.vue:11
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
|
|
||||||
#: src/routes/index.ts:114 src/routes/index.ts:116
|
#: src/routes/index.ts:138 src/routes/index.ts:140
|
||||||
msgid "Not Found"
|
msgid "Not Found"
|
||||||
msgstr "找不到页面"
|
msgstr "找不到页面"
|
||||||
|
|
||||||
|
@ -436,8 +464,8 @@ msgstr "密码"
|
||||||
msgid "Password (*)"
|
msgid "Password (*)"
|
||||||
msgstr "密码 (*)"
|
msgstr "密码 (*)"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
#: src/views/domain/ngx_conf/LocationEditor.vue:24
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:36
|
#: src/views/domain/ngx_conf/LocationEditor.vue:38
|
||||||
msgid "Path"
|
msgid "Path"
|
||||||
msgstr "路径"
|
msgstr "路径"
|
||||||
|
|
||||||
|
@ -545,7 +573,11 @@ msgstr "server_name 指令包含多个参数"
|
||||||
msgid "Single Directive"
|
msgid "Single Directive"
|
||||||
msgstr "单行指令"
|
msgstr "单行指令"
|
||||||
|
|
||||||
#: src/routes/index.ts:50
|
#: src/routes/index.ts:107
|
||||||
|
msgid "Site Logs"
|
||||||
|
msgstr "站点列表"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:51
|
||||||
msgid "Sites List"
|
msgid "Sites List"
|
||||||
msgstr "站点列表"
|
msgstr "站点列表"
|
||||||
|
|
||||||
|
@ -569,7 +601,7 @@ msgstr ""
|
||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "列表"
|
msgstr "列表"
|
||||||
|
|
||||||
#: src/routes/index.ts:84 src/views/pty/Terminal.vue:2
|
#: src/routes/index.ts:85 src/views/pty/Terminal.vue:2
|
||||||
msgid "Terminal"
|
msgid "Terminal"
|
||||||
msgstr "终端"
|
msgstr "终端"
|
||||||
|
|
||||||
|
@ -627,7 +659,7 @@ msgid "Writing certificate to disk"
|
||||||
msgstr "正在将证书写入磁盘"
|
msgstr "正在将证书写入磁盘"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:18
|
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "是的"
|
msgstr "是的"
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,14 @@ msgstr ""
|
||||||
"Generated-By: easygettext\n"
|
"Generated-By: easygettext\n"
|
||||||
"X-Generator: Poedit 2.2\n"
|
"X-Generator: Poedit 2.2\n"
|
||||||
|
|
||||||
#: src/routes/index.ts:92
|
#: src/routes/index.ts:116
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "關於"
|
msgstr "關於"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:99
|
||||||
|
msgid "Access Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
#: src/views/config/Config.vue:24 src/views/domain/DomainList.vue:42
|
||||||
#: src/views/user/User.vue:42
|
#: src/views/user/User.vue:42
|
||||||
msgid "Action"
|
msgid "Action"
|
||||||
|
@ -33,12 +37,12 @@ msgstr ""
|
||||||
msgid "Add Directive Below"
|
msgid "Add Directive Below"
|
||||||
msgstr "在下面新增指令"
|
msgstr "在下面新增指令"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:31
|
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:46
|
#: src/views/domain/ngx_conf/LocationEditor.vue:48
|
||||||
msgid "Add Location"
|
msgid "Add Location"
|
||||||
msgstr "新增 Location"
|
msgstr "新增 Location"
|
||||||
|
|
||||||
#: src/routes/index.ts:54 src/views/domain/DomainAdd.vue:2
|
#: src/routes/index.ts:55 src/views/domain/DomainAdd.vue:2
|
||||||
msgid "Add Site"
|
msgid "Add Site"
|
||||||
msgstr "新增站點"
|
msgstr "新增站點"
|
||||||
|
|
||||||
|
@ -46,6 +50,10 @@ msgstr "新增站點"
|
||||||
msgid "Advance Mode"
|
msgid "Advance Mode"
|
||||||
msgstr "高階模式"
|
msgstr "高階模式"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:100
|
||||||
|
msgid "All logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:41
|
#: src/components/StdDataDisplay/StdTable.vue:41
|
||||||
#: src/views/domain/DomainList.vue:27
|
#: src/views/domain/DomainList.vue:27
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
|
@ -56,11 +64,15 @@ msgstr "您确定要删除?"
|
||||||
msgid "Are you sure you want to remove this directive?"
|
msgid "Are you sure you want to remove this directive?"
|
||||||
msgstr "您確定要刪除這條指令?"
|
msgstr "您確定要刪除這條指令?"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:17
|
#: src/views/domain/ngx_conf/LocationEditor.vue:9
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Are you sure you want to remove this location?"
|
msgid "Are you sure you want to remove this location?"
|
||||||
msgstr "您確定要刪除這條指令?"
|
msgstr "您確定要刪除這條指令?"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:4
|
||||||
|
msgid "Auto Refresh"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/IssueCert.vue:78
|
#: src/views/domain/cert/IssueCert.vue:78
|
||||||
msgid "Auto-renewal disabled for %{name}"
|
msgid "Auto-renewal disabled for %{name}"
|
||||||
msgstr "已關閉 %{name} 自動續簽"
|
msgstr "已關閉 %{name} 自動續簽"
|
||||||
|
@ -69,7 +81,7 @@ msgstr "已關閉 %{name} 自動續簽"
|
||||||
msgid "Auto-renewal enabled for %{name}"
|
msgid "Auto-renewal enabled for %{name}"
|
||||||
msgstr "已啟用 %{name} 自動續簽"
|
msgstr "已啟用 %{name} 自動續簽"
|
||||||
|
|
||||||
#: src/views/domain/DomainEdit.vue:178
|
#: src/views/domain/DomainEdit.vue:178 src/views/nginx_log/NginxLog.vue:115
|
||||||
msgid "Back"
|
msgid "Back"
|
||||||
msgstr "返回"
|
msgstr "返回"
|
||||||
|
|
||||||
|
@ -108,9 +120,9 @@ msgid "Certificate Status"
|
||||||
msgstr "憑證狀態"
|
msgstr "憑證狀態"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:29
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:33
|
#: src/views/domain/ngx_conf/LocationEditor.vue:21
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:7
|
#: src/views/domain/ngx_conf/LocationEditor.vue:35
|
||||||
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:156
|
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:161
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "註釋"
|
msgstr "註釋"
|
||||||
|
|
||||||
|
@ -126,8 +138,8 @@ msgstr "配置"
|
||||||
msgid "Configure SSL"
|
msgid "Configure SSL"
|
||||||
msgstr "配置 SSL"
|
msgstr "配置 SSL"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:13
|
#: src/views/domain/ngx_conf/LocationEditor.vue:27
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:39
|
#: src/views/domain/ngx_conf/LocationEditor.vue:41
|
||||||
msgid "Content"
|
msgid "Content"
|
||||||
msgstr "內容"
|
msgstr "內容"
|
||||||
|
|
||||||
|
@ -151,7 +163,7 @@ msgstr "建立時間"
|
||||||
msgid "Creating client facilitates communication with the CA server"
|
msgid "Creating client facilitates communication with the CA server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/index.ts:26
|
#: src/routes/index.ts:27
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr "儀表盤"
|
msgstr "儀表盤"
|
||||||
|
|
||||||
|
@ -210,11 +222,11 @@ msgstr "域名配置文件創建成功"
|
||||||
msgid "Edit %{n}"
|
msgid "Edit %{n}"
|
||||||
msgstr "編輯 %{n}"
|
msgstr "編輯 %{n}"
|
||||||
|
|
||||||
#: src/routes/index.ts:76 src/views/config/ConfigEdit.vue:2
|
#: src/routes/index.ts:77 src/views/config/ConfigEdit.vue:2
|
||||||
msgid "Edit Configuration"
|
msgid "Edit Configuration"
|
||||||
msgstr "編輯配置"
|
msgstr "編輯配置"
|
||||||
|
|
||||||
#: src/routes/index.ts:58
|
#: src/routes/index.ts:59
|
||||||
msgid "Edit Site"
|
msgid "Edit Site"
|
||||||
msgstr "編輯站點"
|
msgstr "編輯站點"
|
||||||
|
|
||||||
|
@ -249,6 +261,10 @@ msgstr "啟用成功"
|
||||||
msgid "Encrypt website with Let's Encrypt"
|
msgid "Encrypt website with Let's Encrypt"
|
||||||
msgstr "用 Let's Encrypt 對網站進行加密"
|
msgstr "用 Let's Encrypt 對網站進行加密"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:103
|
||||||
|
msgid "Error Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/cert/CertInfo.vue:17
|
#: src/views/domain/cert/CertInfo.vue:17
|
||||||
msgid "Expiration Date: %{date}"
|
msgid "Expiration Date: %{date}"
|
||||||
msgstr "過期時間: %{date}"
|
msgstr "過期時間: %{date}"
|
||||||
|
@ -265,6 +281,10 @@ msgstr "啟用失敗 %{msg}"
|
||||||
msgid "Failed to get certificate information"
|
msgid "Failed to get certificate information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:7
|
||||||
|
msgid "Fetch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
#: src/views/other/Error.vue:3 src/views/other/Error.vue:4
|
||||||
msgid "File Not Found"
|
msgid "File Not Found"
|
||||||
msgstr "未找到檔案"
|
msgstr "未找到檔案"
|
||||||
|
@ -281,11 +301,11 @@ msgstr ""
|
||||||
msgid "Getting the certificate, please wait..."
|
msgid "Getting the certificate, please wait..."
|
||||||
msgstr "正在獲取憑證,請稍等..."
|
msgstr "正在獲取憑證,請稍等..."
|
||||||
|
|
||||||
#: src/routes/index.ts:19
|
#: src/routes/index.ts:20
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "首頁"
|
msgstr "首頁"
|
||||||
|
|
||||||
#: src/routes/index.ts:102 src/views/other/Install.vue:128
|
#: src/routes/index.ts:126 src/views/other/Install.vue:128
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr "安裝"
|
msgstr "安裝"
|
||||||
|
|
||||||
|
@ -319,7 +339,7 @@ msgstr "Location"
|
||||||
msgid "Locations"
|
msgid "Locations"
|
||||||
msgstr "Locations"
|
msgstr "Locations"
|
||||||
|
|
||||||
#: src/routes/index.ts:108 src/views/other/Login.vue:103
|
#: src/routes/index.ts:132 src/views/other/Login.vue:103
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "登入"
|
msgstr "登入"
|
||||||
|
|
||||||
|
@ -340,15 +360,15 @@ msgstr ""
|
||||||
"在獲取憑證前,請確保配置檔案中已將 .well-known 目錄反向代理到 "
|
"在獲取憑證前,請確保配置檔案中已將 .well-known 目錄反向代理到 "
|
||||||
"HTTPChallengePort (預設: 9180)"
|
"HTTPChallengePort (預設: 9180)"
|
||||||
|
|
||||||
#: src/routes/index.ts:67
|
#: src/routes/index.ts:68
|
||||||
msgid "Manage Configs"
|
msgid "Manage Configs"
|
||||||
msgstr "配置管理"
|
msgstr "配置管理"
|
||||||
|
|
||||||
#: src/routes/index.ts:42 src/views/domain/DomainList.vue:2
|
#: src/routes/index.ts:43 src/views/domain/DomainList.vue:2
|
||||||
msgid "Manage Sites"
|
msgid "Manage Sites"
|
||||||
msgstr "網站管理"
|
msgstr "網站管理"
|
||||||
|
|
||||||
#: src/routes/index.ts:34 src/views/user/User.vue:2
|
#: src/routes/index.ts:35 src/views/user/User.vue:2
|
||||||
msgid "Manage Users"
|
msgid "Manage Users"
|
||||||
msgstr "使用者管理"
|
msgstr "使用者管理"
|
||||||
|
|
||||||
|
@ -394,18 +414,26 @@ msgstr "下載流量"
|
||||||
msgid "Network Total Send"
|
msgid "Network Total Send"
|
||||||
msgstr "上傳流量"
|
msgstr "上傳流量"
|
||||||
|
|
||||||
|
#: src/views/nginx_log/NginxLog.vue:103
|
||||||
|
msgid "New logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/DomainAdd.vue:137
|
#: src/views/domain/DomainAdd.vue:137
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr "下一步"
|
msgstr "下一步"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:93 src/views/nginx_log/NginxLog.vue:2
|
||||||
|
msgid "Nginx Log"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/StdDataDisplay/StdTable.vue:39
|
#: src/components/StdDataDisplay/StdTable.vue:39
|
||||||
#: src/views/domain/DomainList.vue:25
|
#: src/views/domain/DomainList.vue:25
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:17
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:19
|
#: src/views/domain/ngx_conf/LocationEditor.vue:11
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
|
|
||||||
#: src/routes/index.ts:114 src/routes/index.ts:116
|
#: src/routes/index.ts:138 src/routes/index.ts:140
|
||||||
msgid "Not Found"
|
msgid "Not Found"
|
||||||
msgstr "找不到頁面"
|
msgstr "找不到頁面"
|
||||||
|
|
||||||
|
@ -446,8 +474,8 @@ msgstr "密碼"
|
||||||
msgid "Password (*)"
|
msgid "Password (*)"
|
||||||
msgstr "密碼 (*)"
|
msgstr "密碼 (*)"
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
#: src/views/domain/ngx_conf/LocationEditor.vue:24
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:36
|
#: src/views/domain/ngx_conf/LocationEditor.vue:38
|
||||||
msgid "Path"
|
msgid "Path"
|
||||||
msgstr "路徑"
|
msgstr "路徑"
|
||||||
|
|
||||||
|
@ -557,7 +585,12 @@ msgstr "server_name 指令包含多個參數"
|
||||||
msgid "Single Directive"
|
msgid "Single Directive"
|
||||||
msgstr "單行指令"
|
msgstr "單行指令"
|
||||||
|
|
||||||
#: src/routes/index.ts:50
|
#: src/routes/index.ts:107
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Site Logs"
|
||||||
|
msgstr "站點列表"
|
||||||
|
|
||||||
|
#: src/routes/index.ts:51
|
||||||
msgid "Sites List"
|
msgid "Sites List"
|
||||||
msgstr "站點列表"
|
msgstr "站點列表"
|
||||||
|
|
||||||
|
@ -582,7 +615,7 @@ msgstr "交換空間"
|
||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "啟用"
|
msgstr "啟用"
|
||||||
|
|
||||||
#: src/routes/index.ts:84 src/views/pty/Terminal.vue:2
|
#: src/routes/index.ts:85 src/views/pty/Terminal.vue:2
|
||||||
msgid "Terminal"
|
msgid "Terminal"
|
||||||
msgstr "終端"
|
msgstr "終端"
|
||||||
|
|
||||||
|
@ -642,7 +675,7 @@ msgid "Writing certificate to disk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
#: src/views/domain/ngx_conf/directive/DirectiveEditor.vue:16
|
||||||
#: src/views/domain/ngx_conf/LocationEditor.vue:18
|
#: src/views/domain/ngx_conf/LocationEditor.vue:10
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "是的"
|
msgstr "是的"
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":"1.5.0","build_id":45,"total_build":115}
|
{"version":"1.5.0","build_id":46,"total_build":116}
|
|
@ -61,11 +61,11 @@ function on_click_error_log() {
|
||||||
<a-space style="margin-left: -15px;margin-bottom: 5px" v-if="hasAccessLog||hasErrorLog">
|
<a-space style="margin-left: -15px;margin-bottom: 5px" v-if="hasAccessLog||hasErrorLog">
|
||||||
<a-button type="link" v-if="hasAccessLog" @click="on_click_access_log">
|
<a-button type="link" v-if="hasAccessLog" @click="on_click_access_log">
|
||||||
<FileTextOutlined/>
|
<FileTextOutlined/>
|
||||||
Access Logs
|
<translate>Access Logs</translate>
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button type="link" v-if="hasErrorLog" @click="on_click_error_log">
|
<a-button type="link" v-if="hasErrorLog" @click="on_click_error_log">
|
||||||
<FileExclamationOutlined/>
|
<FileExclamationOutlined/>
|
||||||
Error Logs
|
<translate>Error Logs</translate>
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import DirectiveEditor from '@/views/domain/ngx_conf/directive/DirectiveEditor.vue'
|
import DirectiveEditor from '@/views/domain/ngx_conf/directive/DirectiveEditor.vue'
|
||||||
import LocationEditor from '@/views/domain/ngx_conf/LocationEditor.vue'
|
import LocationEditor from '@/views/domain/ngx_conf/LocationEditor.vue'
|
||||||
import {computed, ref} from 'vue'
|
import {computed, onMounted, ref, watch} from 'vue'
|
||||||
import {useRoute} from 'vue-router'
|
import {useRoute, useRouter} from 'vue-router'
|
||||||
import {useGettext} from 'vue3-gettext'
|
import {useGettext} from 'vue3-gettext'
|
||||||
import Cert from '@/views/domain/cert/Cert.vue'
|
import Cert from '@/views/domain/cert/Cert.vue'
|
||||||
import LogEntry from '@/views/domain/ngx_conf/LogEntry.vue'
|
import LogEntry from '@/views/domain/ngx_conf/LogEntry.vue'
|
||||||
|
@ -129,6 +129,20 @@ const autoCertRef = computed({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
current_server_index.value = parseInt((route.query?.server_idx ?? 0) as string)
|
||||||
|
})
|
||||||
|
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
|
watch(current_server_index, () => {
|
||||||
|
router.push({
|
||||||
|
query: {
|
||||||
|
server_idx: current_server_index.value.toString()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -96,8 +96,12 @@ const router = useRouter()
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$gettext('Fetch')">
|
<a-form-item :label="$gettext('Fetch')">
|
||||||
<a-select v-model:value="control.fetch" style="max-width: 200px">
|
<a-select v-model:value="control.fetch" style="max-width: 200px">
|
||||||
<a-select-option value="all">All logs</a-select-option>
|
<a-select-option value="all">
|
||||||
<a-select-option value="new">New logs</a-select-option>
|
<translate>All logs</translate>
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option value="new">
|
||||||
|
<translate>New logs</translate>
|
||||||
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":"1.5.0","build_id":45,"total_build":115}
|
{"version":"1.5.0","build_id":46,"total_build":116}
|
|
@ -5,3 +5,7 @@ JwtSecret = 2E1CE615-BB15-44F5-B5BE-6B5DA3581D0F
|
||||||
Email = test@jackyu.cn
|
Email = test@jackyu.cn
|
||||||
HTTPChallengePort = 9180
|
HTTPChallengePort = 9180
|
||||||
StartCmd = bash
|
StartCmd = bash
|
||||||
|
|
||||||
|
[nginx_log]
|
||||||
|
AccessLogPath = /var/log/nginx/access.local.log
|
||||||
|
ErrorLogPath = /var/log/nginx/error.local.log
|
||||||
|
|
|
@ -3,6 +3,9 @@ server {
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
server_name ojbk.me;
|
server_name ojbk.me;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/ojbk.me.log;
|
||||||
|
error_log /var/log/nginx/ojbk.me.error.log;
|
||||||
|
|
||||||
location /.well-known/acme-challenge {
|
location /.well-known/acme-challenge {
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real_IP $remote_addr;
|
proxy_set_header X-Real_IP $remote_addr;
|
||||||
|
|
|
@ -2,6 +2,7 @@ user nginx;
|
||||||
worker_processes auto;
|
worker_processes auto;
|
||||||
|
|
||||||
error_log /var/log/nginx/error.log notice;
|
error_log /var/log/nginx/error.log notice;
|
||||||
|
error_log /var/log/nginx/error.local.log notice;
|
||||||
pid /var/run/nginx.pid;
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +20,7 @@ http {
|
||||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log main;
|
access_log /var/log/nginx/access.log main;
|
||||||
|
access_log /var/log/nginx/access.local.log main;
|
||||||
|
|
||||||
sendfile on;
|
sendfile on;
|
||||||
#tcp_nopush on;
|
#tcp_nopush on;
|
||||||
|
|
|
@ -26,11 +26,12 @@ func tailNginxLog(ws *websocket.Conn, controlChan chan controlStruct, errChan ch
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
log.Println("tailNginxLog recovery", err)
|
log.Println("tailNginxLog recovery", err)
|
||||||
|
_ = ws.WriteMessage(websocket.TextMessage, err.([]byte))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var control controlStruct
|
control := <-controlChan
|
||||||
|
|
||||||
for {
|
for {
|
||||||
var seek tail.SeekInfo
|
var seek tail.SeekInfo
|
||||||
|
@ -52,10 +53,12 @@ func tailNginxLog(ws *websocket.Conn, controlChan chan controlStruct, errChan ch
|
||||||
errChan <- errors.New("serverIdx out of range")
|
errChan <- errors.New("serverIdx out of range")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if control.DirectiveIdx >= len(config.Servers[control.ServerIdx].Directives) {
|
if control.DirectiveIdx >= len(config.Servers[control.ServerIdx].Directives) {
|
||||||
errChan <- errors.New("DirectiveIdx out of range")
|
errChan <- errors.New("DirectiveIdx out of range")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
directive := config.Servers[control.ServerIdx].Directives[control.DirectiveIdx]
|
directive := config.Servers[control.ServerIdx].Directives[control.DirectiveIdx]
|
||||||
|
|
||||||
switch directive.Directive {
|
switch directive.Directive {
|
||||||
|
@ -66,11 +69,27 @@ func tailNginxLog(ws *websocket.Conn, controlChan chan controlStruct, errChan ch
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if directive.Params == "" {
|
||||||
|
errChan <- errors.New("directive.Params is empty")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
logPath = directive.Params
|
logPath = directive.Params
|
||||||
|
|
||||||
case "error":
|
case "error":
|
||||||
|
if settings.NginxLogSettings.ErrorLogPath == "" {
|
||||||
|
errChan <- errors.New("settings.NginxLogSettings.ErrorLogPath is empty," +
|
||||||
|
" see https://github.com/0xJacky/nginx-ui/wiki/Nginx-Log-Configuration for more information")
|
||||||
|
return
|
||||||
|
}
|
||||||
logPath = settings.NginxLogSettings.ErrorLogPath
|
logPath = settings.NginxLogSettings.ErrorLogPath
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
if settings.NginxLogSettings.AccessLogPath == "" {
|
||||||
|
errChan <- errors.New("settings.NginxLogSettings.AccessLogPath is empty," +
|
||||||
|
" see https://github.com/0xJacky/nginx-ui/wiki/Nginx-Log-Configuration for more information\"")
|
||||||
|
return
|
||||||
|
}
|
||||||
logPath = settings.NginxLogSettings.AccessLogPath
|
logPath = settings.NginxLogSettings.AccessLogPath
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +107,10 @@ func tailNginxLog(ws *websocket.Conn, controlChan chan controlStruct, errChan ch
|
||||||
select {
|
select {
|
||||||
case line := <-t.Lines:
|
case line := <-t.Lines:
|
||||||
// Print the text of each received line
|
// Print the text of each received line
|
||||||
|
if line == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
err = ws.WriteMessage(websocket.TextMessage, []byte(line.Text))
|
err = ws.WriteMessage(websocket.TextMessage, []byte(line.Text))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -109,6 +132,7 @@ func handleLogControl(ws *websocket.Conn, controlChan chan controlStruct, errCha
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
log.Println("tailNginxLog recovery", err)
|
log.Println("tailNginxLog recovery", err)
|
||||||
|
_ = ws.WriteMessage(websocket.TextMessage, err.([]byte))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue