42 lines
1.5 KiB
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: "",
|
|
},
|
|
}
|
|
}
|