Hunter0x7c7
2022-08-11 a82f9cb69f63aaeba40c024960deda7d75b9fece
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package v4
 
import (
    "github.com/golang/protobuf/proto"
 
    "github.com/v2fly/v2ray-core/v5/infra/conf/cfgcommon"
    "github.com/v2fly/v2ray-core/v5/proxy/dokodemo"
)
 
type DokodemoConfig struct {
    Host         *cfgcommon.Address     `json:"address"`
    PortValue    uint16                 `json:"port"`
    NetworkList  *cfgcommon.NetworkList `json:"network"`
    TimeoutValue uint32                 `json:"timeout"`
    Redirect     bool                   `json:"followRedirect"`
    UserLevel    uint32                 `json:"userLevel"`
}
 
func (v *DokodemoConfig) Build() (proto.Message, error) {
    config := new(dokodemo.Config)
    if v.Host != nil {
        config.Address = v.Host.Build()
    }
    config.Port = uint32(v.PortValue)
    config.Networks = v.NetworkList.Build()
    config.Timeout = v.TimeoutValue
    config.FollowRedirect = v.Redirect
    config.UserLevel = v.UserLevel
    return config, nil
}