56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package apps
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/httpdns/httpdnsutils"
|
|
"github.com/iwind/TeaGo/actions"
|
|
)
|
|
|
|
type AppSettingsAction struct {
|
|
actionutils.ParentAction
|
|
}
|
|
|
|
func (this *AppSettingsAction) Init() {
|
|
this.Nav("httpdns", "app", "")
|
|
}
|
|
|
|
func (this *AppSettingsAction) RunGet(params struct {
|
|
AppId int64
|
|
}) {
|
|
httpdnsutils.AddLeftMenu(this.Parent())
|
|
app := pickApp(params.AppId)
|
|
settings := loadAppSettings(app)
|
|
this.Data["app"] = app
|
|
this.Data["settings"] = settings
|
|
this.Show()
|
|
}
|
|
|
|
func (this *AppSettingsAction) RunPost(params struct {
|
|
AppId int64
|
|
|
|
AppStatus bool
|
|
|
|
Must *actions.Must
|
|
CSRF *actionutils.CSRF
|
|
}) {
|
|
params.Must.Field("appId", params.AppId).Gt(0, "please select app")
|
|
|
|
app := pickApp(params.AppId)
|
|
settings := loadAppSettings(app)
|
|
settings["appStatus"] = params.AppStatus
|
|
|
|
// SNI strategy is fixed to level2 empty.
|
|
settings["sniPolicy"] = "level2"
|
|
settings["level2Mode"] = "empty"
|
|
settings["publicSniDomain"] = ""
|
|
settings["echFallbackPolicy"] = "level2"
|
|
settings["ecsMode"] = "off"
|
|
settings["ecsIPv4Prefix"] = 24
|
|
settings["ecsIPv6Prefix"] = 56
|
|
settings["pinningMode"] = "off"
|
|
settings["sanMode"] = "off"
|
|
|
|
saveAppSettings(app.GetInt64("id"), settings)
|
|
this.Success()
|
|
}
|