github.com/ipfans/trojan-go@v0.11.0/tunnel/freedom/config.go (about)

     1  package freedom
     2  
     3  import "github.com/ipfans/trojan-go/config"
     4  
     5  type Config struct {
     6  	LocalHost    string             `json:"local_addr" yaml:"local-addr"`
     7  	LocalPort    int                `json:"local_port" yaml:"local-port"`
     8  	TCP          TCPConfig          `json:"tcp" yaml:"tcp"`
     9  	ForwardProxy ForwardProxyConfig `json:"forward_proxy" yaml:"forward-proxy"`
    10  }
    11  
    12  type TCPConfig struct {
    13  	PreferIPV4 bool `json:"prefer_ipv4" yaml:"prefer-ipv4"`
    14  	KeepAlive  bool `json:"keep_alive" yaml:"keep-alive"`
    15  	NoDelay    bool `json:"no_delay" yaml:"no-delay"`
    16  }
    17  
    18  type ForwardProxyConfig struct {
    19  	Enabled   bool   `json:"enabled" yaml:"enabled"`
    20  	ProxyHost string `json:"proxy_addr" yaml:"proxy-addr"`
    21  	ProxyPort int    `json:"proxy_port" yaml:"proxy-port"`
    22  	Username  string `json:"username" yaml:"username"`
    23  	Password  string `json:"password" yaml:"password"`
    24  }
    25  
    26  func init() {
    27  	config.RegisterConfigCreator(Name, func() interface{} {
    28  		return &Config{
    29  			TCP: TCPConfig{
    30  				PreferIPV4: false,
    31  				NoDelay:    true,
    32  				KeepAlive:  true,
    33  			},
    34  		}
    35  	})
    36  }