42 lines
1017 B
Go
42 lines
1017 B
Go
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
//go:build plus
|
|
|
|
package dnsconfigs
|
|
|
|
import (
|
|
"context"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
|
|
)
|
|
|
|
// NSDoHConfig DoH设置
|
|
type NSDoHConfig struct {
|
|
IsOn bool `yaml:"isOn" json:"isOn"` // 是否开启
|
|
Listen []*serverconfigs.NetworkAddressConfig `yaml:"listen" json:"listen"` // 绑定的网络地址
|
|
|
|
SSLPolicyRef *sslconfigs.SSLPolicyRef `yaml:"sslPolicyRef" json:"sslPolicyRef"`
|
|
SSLPolicy *sslconfigs.SSLPolicy `yaml:"sslPolicy" json:"sslPolicy"`
|
|
}
|
|
|
|
func NewNSDoHConfig() *NSDoHConfig {
|
|
return &NSDoHConfig{}
|
|
}
|
|
|
|
func (this *NSDoHConfig) Init() error {
|
|
for _, listen := range this.Listen {
|
|
err := listen.Init()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
if this.SSLPolicy != nil {
|
|
err := this.SSLPolicy.Init(context.TODO())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|