github.com/ipfans/trojan-go@v0.11.0/tunnel/router/config.go (about) 1 package router 2 3 import ( 4 "github.com/ipfans/trojan-go/common" 5 "github.com/ipfans/trojan-go/config" 6 ) 7 8 type Config struct { 9 Router RouterConfig `json:"router" yaml:"router"` 10 } 11 12 type RouterConfig struct { 13 Enabled bool `json:"enabled" yaml:"enabled"` 14 Bypass []string `json:"bypass" yaml:"bypass"` 15 Proxy []string `json:"proxy" yaml:"proxy"` 16 Block []string `json:"block" yaml:"block"` 17 DomainStrategy string `json:"domain_strategy" yaml:"domain-strategy"` 18 DefaultPolicy string `json:"default_policy" yaml:"default-policy"` 19 GeoIPFilename string `json:"geoip" yaml:"geoip"` 20 GeoSiteFilename string `json:"geosite" yaml:"geosite"` 21 } 22 23 func init() { 24 config.RegisterConfigCreator(Name, func() interface{} { 25 cfg := &Config{ 26 Router: RouterConfig{ 27 DefaultPolicy: "proxy", 28 DomainStrategy: "as_is", 29 GeoIPFilename: common.GetAssetLocation("geoip.dat"), 30 GeoSiteFilename: common.GetAssetLocation("geosite.dat"), 31 }, 32 } 33 return cfg 34 }) 35 }