iptables-helper/pkg/config/config.go

42 lines
1.5 KiB
Go

package config
type Conf struct {
Server *ServerConfig `comment:"服务器配置"`
Custom *CustomFireWallConfig `comment:"自定义配置"`
}
type ServerConfig struct {
Addr string `yaml:"addr" comment:"监听 地址:端口"`
PreFork bool `yaml:"preFork" comment:"是否开启多进程"`
CaseSensitive bool `yaml:"caseSensitive" comment:"路由 大小写严格"`
// 严格路由 例: 设置为 true 时, /foo != /foo/
StrictRouting bool `yaml:"strictRouting" comment:"严格路由模式"`
// 设置 Http 请求头中的 Server 名称
ServerHeader string `yaml:"serverHeader" comment:"服务器名称"`
// 是否添加 /routes 路由 用于获取所有路由信息
EnableRoutesMsg bool `yaml:"enableRoutesMsg" comment:"启用路由信息 /routes"`
EnableSwag bool `yaml:"enableSwag" comment:"是否启用 swag 访问路径: /swagger"`
}
type CustomFireWallConfig struct {
UseCustomChain bool `yaml:"useCustomChain" comment:"是否只使用某个自定义规则链进行管理, 否则管理所有规则链, 是则只管理指定的链"`
CustomChain string `yaml:"customChain" comment:"自定义规则链名称"`
}
func DefaultConfig() *Conf {
return &Conf{
Server: &ServerConfig{
Addr: ":6575",
PreFork: true,
CaseSensitive: true,
StrictRouting: false,
ServerHeader: "SkServer",
EnableRoutesMsg: false,
},
Custom: &CustomFireWallConfig{
UseCustomChain: false,
CustomChain: "",
},
}
}