| 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)
- }
|