| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- package point
 
- import (
 
- 	"github.com/v2ray/v2ray-core/app/dns"
 
- 	"github.com/v2ray/v2ray-core/app/router"
 
- 	"github.com/v2ray/v2ray-core/common/log"
 
- 	v2net "github.com/v2ray/v2ray-core/common/net"
 
- )
 
- type ConnectionConfig struct {
 
- 	Protocol string
 
- 	Settings []byte
 
- }
 
- type LogConfig struct {
 
- 	AccessLog string
 
- 	ErrorLog  string
 
- 	LogLevel  log.LogLevel
 
- }
 
- const (
 
- 	AllocationStrategyAlways   = "always"
 
- 	AllocationStrategyRandom   = "random"
 
- 	AllocationStrategyExternal = "external"
 
- )
 
- type InboundDetourAllocationConfig struct {
 
- 	Strategy    string // Allocation strategy of this inbound detour.
 
- 	Concurrency int    // Number of handlers (ports) running in parallel.
 
- 	Refresh     int    // Number of minutes before a handler is regenerated.
 
- }
 
- type InboundDetourConfig struct {
 
- 	Protocol   string
 
- 	PortRange  v2net.PortRange
 
- 	Tag        string
 
- 	Allocation *InboundDetourAllocationConfig
 
- 	Settings   []byte
 
- }
 
- type OutboundDetourConfig struct {
 
- 	Protocol string
 
- 	Tag      string
 
- 	Settings []byte
 
- }
 
- type Config struct {
 
- 	Port            v2net.Port
 
- 	LogConfig       *LogConfig
 
- 	RouterConfig    *router.Config
 
- 	DNSConfig       *dns.Config
 
- 	InboundConfig   *ConnectionConfig
 
- 	OutboundConfig  *ConnectionConfig
 
- 	InboundDetours  []*InboundDetourConfig
 
- 	OutboundDetours []*OutboundDetourConfig
 
- }
 
- type ConfigLoader func(init string) (*Config, error)
 
- var (
 
- 	configLoader ConfigLoader
 
- )
 
- func LoadConfig(init string) (*Config, error) {
 
- 	if configLoader == nil {
 
- 		return nil, ErrorBadConfiguration
 
- 	}
 
- 	return configLoader(init)
 
- }
 
 
  |