config

package
v0.0.0-...-d0d2c37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BGP

type BGP struct {
	ListenPort       int32    `yaml:"listen_port"`
	ListenAddrs      []string `yaml:"listen_addrs"`
	RouterID         string   `yaml:"router_id"`
	RouterASN        uint32   `yaml:"router_asn"`
	PeerASN          uint32   `yaml:"peer_asn"`
	PeerAuthPassword string   `yaml:"peer_auth_password"`
	PeerNets         []string `yaml:"peer_nets"`
	NextHopIPv4      string   `yaml:"next_hop_v4"`
	NextHopIPv6      string   `yaml:"next_hop_v6"`
}

type Checker

type Checker struct {
	DirectDev     string        `yaml:"direct_dev"`
	VPNDev        string        `yaml:"vpn_dev"`
	Concurrency   int           `yaml:"concurrency"`
	QueueSize     int           `yaml:"queue_size"`
	IPHistorySize int64         `yaml:"ip_history_size"`
	IPHistoryTTL  time.Duration `yaml:"ip_history_ttl"`
	DecisionsSize int64         `yaml:"decisions_size"`
	DecisionsTTL  time.Duration `yaml:"decisions_ttl"`
	VPNSitesSize  int64         `yaml:"vpn_sites_size"`
	VPNSitesTTL   time.Duration `yaml:"vpn_sites_ttl"`
	RecheckPeriod time.Duration `yaml:"recheck_period"`
	DirectDomains []string      `yaml:"direct_domains"`
	VPNDomains    []string      `yaml:"vpn_domains"`
}

type Config

type Config struct {
	Debug   bool    `yaml:"debug"`
	DNS     DNS     `yaml:"dns"`
	BGP     BGP     `yaml:"bgp"`
	Checker Checker `yaml:"checker"`
}

func LoadConfig

func LoadConfig(configs ...string) (*Config, error)

type DNS

type DNS struct {
	Server          DNSServer       `yaml:"server"`
	Client          DNSClient       `yaml:"client"`
	ObservableNets  []string        `yaml:"observable_nets"`
	ObservableProto []dnssrv.IPKind `yaml:"observable_proto"`
}

type DNSClient

type DNSClient struct {
	Addr         string        `yaml:"addr"`
	DialTimeout  time.Duration `yaml:"dial_timeout"`
	ReadTimeout  time.Duration `yaml:"read_timeout"`
	WriteTimeout time.Duration `yaml:"write_timeout"`
}

type DNSServer

type DNSServer struct {
	Addrs         []string      `yaml:"addrs"`
	MaxTCPQueries int           `yaml:"max_tcp_queries"`
	ReadTimeout   time.Duration `yaml:"read_timeout"`
	WriteTimeout  time.Duration `yaml:"write_timeout"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL