freedom.go 612 B

123456789101112131415161718192021222324
  1. package conf
  2. import (
  3. "strings"
  4. "v2ray.com/core/common/loader"
  5. "v2ray.com/core/proxy/freedom"
  6. )
  7. type FreedomConfig struct {
  8. DomainStrategy string `json:"domainStrategy"`
  9. Timeout uint32 `json:"timeout"`
  10. }
  11. func (this *FreedomConfig) Build() (*loader.TypedSettings, error) {
  12. config := new(freedom.Config)
  13. config.DomainStrategy = freedom.Config_AS_IS
  14. domainStrategy := strings.ToLower(this.DomainStrategy)
  15. if domainStrategy == "useip" || domainStrategy == "use_ip" {
  16. config.DomainStrategy = freedom.Config_USE_IP
  17. }
  18. config.Timeout = this.Timeout
  19. return loader.NewTypedSettings(config), nil
  20. }