From 993cd40c41fc6d74b1e18c5767e877888a81dd14 Mon Sep 17 00:00:00 2001 From: bjdgyc Date: Fri, 18 Jun 2021 19:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=A8=8B=E5=BA=8F=E4=B8=BA?= =?UTF-8?q?=E5=8D=95=E4=BA=8C=E8=BF=9B=E5=88=B6=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=BF=9C=E7=A8=8B=E6=A1=8C=E9=9D=A2=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=20=E6=B7=BB=E5=8A=A0=E5=90=8E=E5=8F=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=89=88=E6=9C=AC=E5=8F=B7=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E9=82=AE=E7=AE=B1=E8=AE=BE=E7=BD=AE=E5=8A=A0=E5=AF=86=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- dtls-2.0.9/pkg/crypto/selfsign/selfsign.go | 6 + question.md | 2 +- server/admin/api_set.go | 9 +- server/admin/common.go | 10 +- server/base/config.go | 4 +- server/dbdata/setting.go | 12 +- server/handler/link_auth.go | 42 ++++++ server/handler/server.go | 6 +- web/package-lock.json | 152 +++++++-------------- web/package.json | 1 + web/src/pages/set/Other.vue | 8 +- web/src/pages/set/System.vue | 3 +- 13 files changed, 136 insertions(+), 121 deletions(-) diff --git a/.gitignore b/.gitignore index bb9bfa4..d91f539 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Binaries for programs and plugins .idea/ anylink-deploy -ui +anylink-deploy.tar.gz diff --git a/dtls-2.0.9/pkg/crypto/selfsign/selfsign.go b/dtls-2.0.9/pkg/crypto/selfsign/selfsign.go index 7b707af..f8c814c 100644 --- a/dtls-2.0.9/pkg/crypto/selfsign/selfsign.go +++ b/dtls-2.0.9/pkg/crypto/selfsign/selfsign.go @@ -9,6 +9,7 @@ import ( "crypto/rand" "crypto/tls" "crypto/x509" + "crypto/x509/pkix" "encoding/hex" "errors" "math/big" @@ -70,6 +71,11 @@ func WithDNS(key crypto.PrivateKey, cn string, sans ...string) (tls.Certificate, names = append(names, sans...) template := x509.Certificate{ + Subject: pkix.Name{ + // TODO anylink + Organization: []string{cn}, + OrganizationalUnit: names, + }, ExtKeyUsage: []x509.ExtKeyUsage{ x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth, diff --git a/question.md b/question.md index d6542ca..e758d3f 100644 --- a/question.md +++ b/question.md @@ -6,7 +6,7 @@ > 添加QQ群: 567510628 ### 远程桌面连接 -> 本软件不支持远程桌面里面连接anyconnect,请注意。 +> 本软件已经支持远程桌面里面连接anyconnect。 ### 私有证书问题 > anylink 默认不支持私有证书 diff --git a/server/admin/api_set.go b/server/admin/api_set.go index d40c4e2..2430d23 100644 --- a/server/admin/api_set.go +++ b/server/admin/api_set.go @@ -67,10 +67,11 @@ func SetSystem(w http.ResponseWriter, r *http.Request) { hi, _ := host.Info() l, _ := load.Avg() data["sys"] = map[string]interface{}{ - "goOs": runtime.GOOS, - "goArch": runtime.GOARCH, - "goVersion": runtime.Version(), - "goroutine": runtime.NumGoroutine(), + "goOs": runtime.GOOS, + "goArch": runtime.GOARCH, + "goVersion": runtime.Version(), + "goroutine": runtime.NumGoroutine(), + "appVersion": "v" + base.APP_VER, "hostname": hi.Hostname, "platform": fmt.Sprintf("%v %v %v", hi.Platform, hi.PlatformFamily, hi.PlatformVersion), diff --git a/server/admin/common.go b/server/admin/common.go index 14796bf..0c64d02 100644 --- a/server/admin/common.go +++ b/server/admin/common.go @@ -59,8 +59,14 @@ func SendMail(subject, to, htmlBody string) error { server.Port = dataSmtp.Port server.Username = dataSmtp.Username server.Password = dataSmtp.Password - if dataSmtp.UseSSl { - server.Encryption = mail.EncryptionSSL + + switch dataSmtp.Encryption { + case "SSLTLS": + server.Encryption = mail.EncryptionSSLTLS + case "STARTTLS": + server.Encryption = mail.EncryptionSTARTTLS + default: + server.Encryption = mail.EncryptionNone } // Since v2.3.0 you can specified authentication type: diff --git a/server/base/config.go b/server/base/config.go index 8202d79..810f7a5 100644 --- a/server/base/config.go +++ b/server/base/config.go @@ -27,8 +27,8 @@ var configs = []config{ {Typ: cfgStr, Name: "cert_file", Usage: "证书文件", ValStr: "./vpn_cert.pem"}, {Typ: cfgStr, Name: "cert_key", Usage: "证书密钥", ValStr: "./vpn_cert.key"}, {Typ: cfgStr, Name: "files_path", Usage: "外部下载文件路径", ValStr: "./files"}, - {Typ: cfgStr, Name: "log_path", Usage: "日志文件路径", ValStr: ""}, - {Typ: cfgStr, Name: "log_level", Usage: "日志等级", ValStr: "info"}, + {Typ: cfgStr, Name: "log_path", Usage: "日志文件路径,默认标准输出", ValStr: ""}, + {Typ: cfgStr, Name: "log_level", Usage: "日志等级 debug、info、warn、error", ValStr: "info"}, {Typ: cfgBool, Name: "pprof", Usage: "开启pprof", ValBool: false}, {Typ: cfgStr, Name: "issuer", Usage: "系统名称", ValStr: "XX公司VPN"}, {Typ: cfgStr, Name: "admin_user", Usage: "管理用户名", ValStr: "admin"}, diff --git a/server/dbdata/setting.go b/server/dbdata/setting.go index a03b015..5bc219b 100644 --- a/server/dbdata/setting.go +++ b/server/dbdata/setting.go @@ -33,12 +33,12 @@ func SettingGet(data interface{}) error { } type SettingSmtp struct { - Host string `json:"host"` - Port int `json:"port"` - Username string `json:"username"` - Password string `json:"password"` - From string `json:"from"` - UseSSl bool `json:"use_ssl"` + Host string `json:"host"` + Port int `json:"port"` + Username string `json:"username"` + Password string `json:"password"` + From string `json:"from"` + Encryption string `json:"encryption"` } type SettingOther struct { diff --git a/server/handler/link_auth.go b/server/handler/link_auth.go index 0180148..8b5dc7f 100644 --- a/server/handler/link_auth.go +++ b/server/handler/link_auth.go @@ -173,6 +173,48 @@ var auth_complete = ` 240B97A685B2BFA66AD699B90AAC49EA66495D69 + + + + /profile.xml + A8B0B07FBA93D06E8501E40AB807AEE2464E73B7 + + + ` + +var auth_profile = ` + + + + false + false + false + IPSec + true + AllowRemoteUsers + pinAllowed + + + Digital_Signature + + + ClientAuth + + + + + localhost + + + + + + VPN Server + localhost + + + +` diff --git a/server/handler/server.go b/server/handler/server.go index 4df919b..e8372ea 100644 --- a/server/handler/server.go +++ b/server/handler/server.go @@ -10,10 +10,11 @@ import ( "os" "time" + "github.com/pion/dtls/v2/pkg/crypto/selfsign" + "github.com/bjdgyc/anylink/base" "github.com/bjdgyc/anylink/pkg/proxyproto" "github.com/gorilla/mux" - "github.com/pion/dtls/v2/pkg/crypto/selfsign" ) func startTls() { @@ -79,6 +80,9 @@ func initRoute() http.Handler { r.HandleFunc("/", LinkAuth).Methods(http.MethodPost) r.HandleFunc("/CSCOSSLC/tunnel", LinkTunnel).Methods(http.MethodConnect) r.HandleFunc("/otp_qr", LinkOtpQr).Methods(http.MethodGet) + r.HandleFunc("/profile.xml", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte(auth_profile)) + }).Methods(http.MethodGet) r.PathPrefix("/files/").Handler( http.StripPrefix("/files/", http.FileServer(http.Dir(base.Cfg.FilesPath)), diff --git a/web/package-lock.json b/web/package-lock.json index 17ef586..5e57c24 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "axios": "^0.20.0", + "chokidar": "^3.5.2", "core-js": "^3.6.5", "echarts": "^4.9.0", "element-ui": "^2.4.5", @@ -2429,11 +2430,9 @@ "dev": true }, "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "optional": true, + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2883,8 +2882,6 @@ "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz", "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", - "dev": true, - "optional": true, "engines": { "node": ">=8" } @@ -3469,31 +3466,29 @@ "dev": true }, "node_modules/chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.2.tgz?cache=0&sync_timestamp=1596728935229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.2.tgz", - "integrity": "sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0=", - "dev": true, - "optional": true, + "version": "3.5.2", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz?cache=0&sync_timestamp=1623763452074&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "optional": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -3505,8 +3500,6 @@ "version": "7.0.1", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "optional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3518,8 +3511,6 @@ "version": "7.0.0", "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, - "optional": true, "engines": { "node": ">=0.12.0" } @@ -3528,8 +3519,6 @@ "version": "5.0.1", "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "optional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -6375,14 +6364,10 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz", - "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", - "dev": true, + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "optional": true, - "os": [ - "darwin" - ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -6465,10 +6450,9 @@ } }, "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", - "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", - "dev": true, + "version": "5.1.2", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073438189&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "dependencies": { "is-glob": "^4.0.1" }, @@ -7397,8 +7381,6 @@ "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "optional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -7537,7 +7519,6 @@ "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7555,7 +7536,6 @@ "version": "4.0.1", "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -8805,7 +8785,6 @@ "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9512,11 +9491,9 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", - "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", - "dev": true, - "optional": true, + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", "engines": { "node": ">=8.6" } @@ -10556,11 +10533,9 @@ } }, "node_modules/readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz", - "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", - "dev": true, - "optional": true, + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz?cache=0&sync_timestamp=1615717369278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", "dependencies": { "picomatch": "^2.2.1" }, @@ -16342,11 +16317,9 @@ "dev": true }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "optional": true, + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -16733,9 +16706,7 @@ "binary-extensions": { "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz", - "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=", - "dev": true, - "optional": true + "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=" }, "bindings": { "version": "1.5.0", @@ -17257,28 +17228,24 @@ "dev": true }, "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.2.tgz?cache=0&sync_timestamp=1596728935229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.2.tgz", - "integrity": "sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0=", - "dev": true, - "optional": true, + "version": "3.5.2", + "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz?cache=0&sync_timestamp=1623763452074&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.6.0" }, "dependencies": { "braces": { "version": "3.0.2", "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "optional": true, "requires": { "fill-range": "^7.0.1" } @@ -17287,8 +17254,6 @@ "version": "7.0.1", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "optional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -17296,16 +17261,12 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, - "optional": true + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "optional": true, "requires": { "is-number": "^7.0.0" } @@ -19688,10 +19649,9 @@ "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz", - "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", - "dev": true, + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "optional": true }, "function-bind": { @@ -19757,10 +19717,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", - "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", - "dev": true, + "version": "5.1.2", + "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073438189&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "requires": { "is-glob": "^4.0.1" } @@ -20528,8 +20487,6 @@ "version": "2.1.0", "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "optional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -20635,8 +20592,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -20648,7 +20604,6 @@ "version": "4.0.1", "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -21695,8 +21650,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" }, "normalize-range": { "version": "0.1.2", @@ -22276,11 +22230,9 @@ "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", - "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", - "dev": true, - "optional": true + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=" }, "pify": { "version": "4.0.1", @@ -23181,11 +23133,9 @@ } }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz", - "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", - "dev": true, - "optional": true, + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz?cache=0&sync_timestamp=1615717369278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", "requires": { "picomatch": "^2.2.1" } diff --git a/web/package.json b/web/package.json index 4448a18..b9ca6c4 100644 --- a/web/package.json +++ b/web/package.json @@ -9,6 +9,7 @@ }, "dependencies": { "axios": "^0.20.0", + "chokidar": "^3.5.2", "core-js": "^3.6.5", "echarts": "^4.9.0", "element-ui": "^2.4.5", diff --git a/web/src/pages/set/Other.vue b/web/src/pages/set/Other.vue index 7fd905f..20fdf02 100644 --- a/web/src/pages/set/Other.vue +++ b/web/src/pages/set/Other.vue @@ -15,8 +15,12 @@ - - + + + None + SSLTLS + STARTTLS + diff --git a/web/src/pages/set/System.vue b/web/src/pages/set/System.vue index f0a6a8e..52c63c8 100644 --- a/web/src/pages/set/System.vue +++ b/web/src/pages/set/System.vue @@ -46,8 +46,9 @@
- go运行环境 + 运行环境
+