diff --git a/EdgeAPI/internal/accesslogs/storage_manager.go b/EdgeAPI/internal/accesslogs/storage_manager.go index 9167b57..c7a7dff 100644 --- a/EdgeAPI/internal/accesslogs/storage_manager.go +++ b/EdgeAPI/internal/accesslogs/storage_manager.go @@ -13,6 +13,7 @@ import ( "github.com/iwind/TeaGo/dbs" "github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/types" + "strings" "sync" "time" ) @@ -126,6 +127,7 @@ func (this *StorageManager) Loop() error { continue } } + this.applyFileStorageFallback(policy.Type, storage) storage.SetVersion(types.Int(policy.Version)) storage.SetFirewallOnly(policy.FirewallOnly == 1) @@ -143,6 +145,7 @@ func (this *StorageManager) Loop() error { remotelogs.Error("ACCESS_LOG_STORAGE_MANAGER", "create policy '"+types.String(policyId)+"' failed: "+err.Error()) continue } + this.applyFileStorageFallback(policy.Type, storage) storage.SetVersion(types.Int(policy.Version)) storage.SetFirewallOnly(policy.FirewallOnly == 1) this.storageMap[policyId] = storage @@ -238,3 +241,20 @@ func (this *StorageManager) createStorage(storageType string, optionsJSON []byte return nil, errors.New("invalid policy type '" + storageType + "'") } + +func (this *StorageManager) applyFileStorageFallback(policyType string, storage StorageInterface) { + if !serverconfigs.IsFileBasedStorageType(policyType) { + return + } + + config, ok := storage.Config().(*serverconfigs.AccessLogFileStorageConfig) + if !ok || config == nil || strings.TrimSpace(config.Path) != "" { + return + } + + // file_clickhouse / file_mysql_clickhouse 未填写 path 时回退到默认文件路径,避免启动失败。 + if policyType == serverconfigs.AccessLogStorageTypeFileClickhouse || policyType == serverconfigs.AccessLogStorageTypeFileMySQLClickhouse { + config.Path = Tea.Root + "/logs/access-${date}.log" + config.AutoCreate = true + } +} diff --git a/EdgeAdmin/web/public/js/components.js b/EdgeAdmin/web/public/js/components.js index 5238a9f..e5f74f0 100644 --- a/EdgeAdmin/web/public/js/components.js +++ b/EdgeAdmin/web/public/js/components.js @@ -17773,7 +17773,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -17806,6 +17806,7 @@ Vue.component("http-hls-config-box", { ` }) + Vue.component("http-host-redirect-box", { props: ["v-redirects"], mounted: function () { diff --git a/EdgeAdmin/web/public/js/components.src.js b/EdgeAdmin/web/public/js/components.src.js index 5238a9f..e5f74f0 100644 --- a/EdgeAdmin/web/public/js/components.src.js +++ b/EdgeAdmin/web/public/js/components.src.js @@ -17773,7 +17773,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -17806,6 +17806,7 @@ Vue.component("http-hls-config-box", { ` }) + Vue.component("http-host-redirect-box", { props: ["v-redirects"], mounted: function () { diff --git a/EdgeAdmin/web/public/js/components/server/http-hls-config-box-plus.js b/EdgeAdmin/web/public/js/components/server/http-hls-config-box-plus.js index 8d5606e..0e06d30 100644 --- a/EdgeAdmin/web/public/js/components/server/http-hls-config-box-plus.js +++ b/EdgeAdmin/web/public/js/components/server/http-hls-config-box-plus.js @@ -43,7 +43,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -74,4 +74,4 @@ Vue.component("http-hls-config-box", {
` -}) \ No newline at end of file +}) diff --git a/EdgeAdmin/web/views/@default/servers/accesslogs/index.html b/EdgeAdmin/web/views/@default/servers/accesslogs/index.html index c372e66..e7559e8 100644 --- a/EdgeAdmin/web/views/@default/servers/accesslogs/index.html +++ b/EdgeAdmin/web/views/@default/servers/accesslogs/index.html @@ -6,9 +6,8 @@ - - - + + @@ -21,19 +20,7 @@ 停用默认数据库 - - + @@ -43,4 +30,4 @@
策略名称类型主要参数策略名称类型 状态 操作
{{policy.typeName}} - - - Endpoint: {{policy.options.endpoint}} - 文件路径:{{policy.options.path}} - 网络地址:{{policy.options.addr}} - 可执行命令:{{policy.options.command}} - - TCP {{policy.options.serverAddr}} - UDP {{policy.options.serverAddr}} - SOCK {{policy.options.socket}} - - {{policy.typeName}}
-
\ No newline at end of file +
diff --git a/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/@menu.html b/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/@menu.html index 55613b3..e7a1b14 100644 --- a/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/@menu.html +++ b/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/@menu.html @@ -1,3 +1,3 @@ - HLS设置 - \ No newline at end of file + 启用HLS加密配置 + diff --git a/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/hls.html b/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/hls.html index 60f0109..325b522 100644 --- a/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/hls.html +++ b/EdgeAdmin/web/views/@default/servers/server/settings/locations/multimedia/hls.html @@ -10,11 +10,9 @@
- -

HLS加密设置

- \ No newline at end of file + diff --git a/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/@menu.html b/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/@menu.html index 55613b3..e7a1b14 100644 --- a/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/@menu.html +++ b/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/@menu.html @@ -1,3 +1,3 @@ - HLS设置 - \ No newline at end of file + 启用HLS加密配置 + diff --git a/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/hls.html b/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/hls.html index 7ff9693..08dea87 100644 --- a/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/hls.html +++ b/EdgeAdmin/web/views/@default/servers/server/settings/multimedia/hls.html @@ -3,14 +3,12 @@ {$template "/left_menu_with_menu"}
- {$template "menu"}
-

HLS加密设置

-
\ No newline at end of file + diff --git a/EdgeCommon/pkg/iplibrary/internal-ip-library-plus.db b/EdgeCommon/pkg/iplibrary/internal-ip-library-plus.db deleted file mode 100644 index a6825f5..0000000 Binary files a/EdgeCommon/pkg/iplibrary/internal-ip-library-plus.db and /dev/null differ diff --git a/EdgeCommon/pkg/iplibrary/internal-ip-library-test.db b/EdgeCommon/pkg/iplibrary/internal-ip-library-test.db deleted file mode 100644 index 326e741..0000000 --- a/EdgeCommon/pkg/iplibrary/internal-ip-library-test.db +++ /dev/null @@ -1 +0,0 @@ -G!Dg E<BMI08(loGU]oֿ,Uzo]9lNDy-^58EHO77rR:Ua#S|y/ƕL rDp{~*whl\G-|[Dfeq,Df ©sm1bLTјP6s PzTr \ No newline at end of file diff --git a/EdgeCommon/pkg/iplibrary/internal-ip-library.db b/EdgeCommon/pkg/iplibrary/internal-ip-library.db deleted file mode 100644 index caa691e..0000000 Binary files a/EdgeCommon/pkg/iplibrary/internal-ip-library.db and /dev/null differ diff --git a/EdgeNode/go.tar.gz b/EdgeNode/go.tar.gz deleted file mode 100644 index 4a4ae60..0000000 Binary files a/EdgeNode/go.tar.gz and /dev/null differ diff --git a/EdgeNode/internal/utils/heif/_libheif/main/test.jpg b/EdgeNode/internal/utils/heif/_libheif/main/test.jpg deleted file mode 100644 index 5202777..0000000 Binary files a/EdgeNode/internal/utils/heif/_libheif/main/test.jpg and /dev/null differ diff --git a/EdgeNode/internal/utils/heif/_libheif/main/test.png b/EdgeNode/internal/utils/heif/_libheif/main/test.png deleted file mode 100644 index 290388e..0000000 Binary files a/EdgeNode/internal/utils/heif/_libheif/main/test.png and /dev/null differ diff --git a/EdgeUser/internal/web/actions/default/servers/create.go b/EdgeUser/internal/web/actions/default/servers/create.go index 7e0601a..95d44ed 100644 --- a/EdgeUser/internal/web/actions/default/servers/create.go +++ b/EdgeUser/internal/web/actions/default/servers/create.go @@ -5,6 +5,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/langs/codes" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ossconfigs" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs" @@ -14,6 +15,7 @@ import ( "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/maps" + "github.com/iwind/TeaGo/types" "net" "strings" ) @@ -145,9 +147,9 @@ func (this *CreateAction) RunPost(params struct { return } - // 协议 + // 协议:未选择时默认 HTTP if len(params.Protocols) == 0 { - this.Fail("请选择至少一个域名协议") + params.Protocols = []string{"http"} } httpConfig := &serverconfigs.HTTPProtocolConfig{} @@ -551,25 +553,108 @@ func (this *CreateAction) RunPost(params struct { return } - // 统计 - if userServerConfig != nil && userServerConfig.EnableStat { - var statConfig = &serverconfigs.HTTPStatRef{ - IsPrior: false, - IsOn: true, - } - statJSON, err := json.Marshal(statConfig) - if err != nil { - this.ErrorPage(err) - return - } - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.UserContext(), &pb.UpdateHTTPWebStatRequest{ - HttpWebId: webId, - StatJSON: statJSON, - }) - if err != nil { - this.ErrorPage(err) - return - } + // ========== 默认开启的功能 ========== + + // 1. 访问日志 + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.UserContext(), &pb.UpdateHTTPWebAccessLogRequest{ + HttpWebId: webId, + AccessLogJSON: []byte(`{ + "isPrior": false, + "isOn": true, + "fields": [1, 2, 6, 7], + "status1": true, + "status2": true, + "status3": true, + "status4": true, + "status5": true, + "storageOnly": false, + "storagePolicies": [], + "firewallOnly": false + }`), + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 2. WebSocket + createWebSocketResp, err := this.RPC().HTTPWebsocketRPC().CreateHTTPWebsocket(this.UserContext(), &pb.CreateHTTPWebsocketRequest{ + HandshakeTimeoutJSON: []byte(`{"count": 30, "unit": "second"}`), + AllowAllOrigins: true, + AllowedOrigins: nil, + RequestSameOrigin: true, + RequestOrigin: "", + }) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.UserContext(), &pb.UpdateHTTPWebWebsocketRequest{ + HttpWebId: webId, + WebsocketJSON: []byte(`{"isPrior": false, "isOn": true, "websocketId": ` + types.String(createWebSocketResp.WebsocketId) + `}`), + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 3. WAF 防火墙 + var firewallRef = &firewallconfigs.HTTPFirewallRef{ + IsPrior: false, + IsOn: true, + FirewallPolicyId: 0, + } + firewallRefJSON, err := json.Marshal(firewallRef) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.UserContext(), &pb.UpdateHTTPWebFirewallRequest{ + HttpWebId: webId, + FirewallJSON: firewallRefJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 4. 从上级代理中读取IP + var remoteAddrConfig = &serverconfigs.HTTPRemoteAddrConfig{ + IsOn: true, + Value: "${remoteAddr}", + Type: serverconfigs.HTTPRemoteAddrTypeProxy, + } + remoteAddrConfigJSON, err := json.Marshal(remoteAddrConfig) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.UserContext(), &pb.UpdateHTTPWebRemoteAddrRequest{ + HttpWebId: webId, + RemoteAddrJSON: remoteAddrConfigJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 5. 统计 + var statConfig = &serverconfigs.HTTPStatRef{ + IsPrior: false, + IsOn: true, + } + statJSON, err := json.Marshal(statConfig) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.UserContext(), &pb.UpdateHTTPWebStatRequest{ + HttpWebId: webId, + StatJSON: statJSON, + }) + if err != nil { + this.ErrorPage(err) + return } // 绑定套餐 diff --git a/EdgeUser/internal/web/helpers/user_must_auth.go b/EdgeUser/internal/web/helpers/user_must_auth.go index f2531f8..8954213 100644 --- a/EdgeUser/internal/web/helpers/user_must_auth.go +++ b/EdgeUser/internal/web/helpers/user_must_auth.go @@ -325,7 +325,7 @@ func (this *userMustAuth) modules(userId int64, isVerified bool, isIdentified bo "code": "dns", "name": "域名解析", "icon": "globe", - "isOn": true, + "isOn": false, //"subItems": []maps.Map{ // { // "name": "域名管理", diff --git a/EdgeUser/web/public/js/components.js b/EdgeUser/web/public/js/components.js index 78a3b17..9e99326 100644 --- a/EdgeUser/web/public/js/components.js +++ b/EdgeUser/web/public/js/components.js @@ -11247,7 +11247,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -11280,6 +11280,7 @@ Vue.component("http-hls-config-box", { ` }) + Vue.component("http-host-redirect-box", { props: ["v-redirects"], mounted: function () { diff --git a/EdgeUser/web/public/js/components.src.js b/EdgeUser/web/public/js/components.src.js index 78a3b17..9e99326 100644 --- a/EdgeUser/web/public/js/components.src.js +++ b/EdgeUser/web/public/js/components.src.js @@ -11247,7 +11247,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -11280,6 +11280,7 @@ Vue.component("http-hls-config-box", { ` }) + Vue.component("http-host-redirect-box", { props: ["v-redirects"], mounted: function () { diff --git a/EdgeUser/web/public/js/components/server/http-hls-config-box-plus.js b/EdgeUser/web/public/js/components/server/http-hls-config-box-plus.js index 8d5606e..0e06d30 100644 --- a/EdgeUser/web/public/js/components/server/http-hls-config-box-plus.js +++ b/EdgeUser/web/public/js/components/server/http-hls-config-box-plus.js @@ -43,7 +43,7 @@ Vue.component("http-hls-config-box", { - +
启用HLS加密启用HLS加密配置

启用后,系统会自动在.m3u8文件中加入#EXT-X-KEY:METHOD=AES-128...,并将其中的.ts文件内容进行加密。

@@ -74,4 +74,4 @@ Vue.component("http-hls-config-box", {
` -}) \ No newline at end of file +}) diff --git a/EdgeUser/web/views/@default/servers/server/settings/multimedia/@menu.html b/EdgeUser/web/views/@default/servers/server/settings/multimedia/@menu.html index 55613b3..e7a1b14 100644 --- a/EdgeUser/web/views/@default/servers/server/settings/multimedia/@menu.html +++ b/EdgeUser/web/views/@default/servers/server/settings/multimedia/@menu.html @@ -1,3 +1,3 @@ - HLS设置 - \ No newline at end of file + 启用HLS加密配置 + diff --git a/EdgeUser/web/views/@default/servers/server/settings/multimedia/hls.html b/EdgeUser/web/views/@default/servers/server/settings/multimedia/hls.html index 7ff9693..08dea87 100644 --- a/EdgeUser/web/views/@default/servers/server/settings/multimedia/hls.html +++ b/EdgeUser/web/views/@default/servers/server/settings/multimedia/hls.html @@ -3,14 +3,12 @@ {$template "/left_menu_with_menu"}
- {$template "menu"}
-

HLS加密设置

-
\ No newline at end of file +