freedom.go 600 B

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