config

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2020 License: MIT Imports: 18 Imported by: 1

Documentation

Index

Constants

View Source
const SimpleSecretLength = 16

Variables

View Source
var C = Config{}

Functions

func Init

func Init(options ...Opt) error

func InitPublicAddress

func InitPublicAddress(ctx context.Context) error

func Printable

func Printable() interface{}

Types

type Config

type Config struct {
	Bind             *net.TCPAddr      `json:"bind"`
	PublicIPv4       *net.TCPAddr      `json:"public_ipv4"`
	PublicIPv6       *net.TCPAddr      `json:"public_ipv6"`
	StatsBind        *net.TCPAddr      `json:"stats_bind"`
	StatsdAddr       *net.TCPAddr      `json:"stats_addr"`
	StatsdTagsFormat *statsd.TagFormat `json:"statsd_tags_format"`

	StatsNamespace string            `json:"stats_namespace"`
	CloakHost      string            `json:"cloak_host"`
	StatsdTags     map[string]string `json:"statsd_tags"`

	WriteBuffer int `json:"write_buffer"`
	ReadBuffer  int `json:"read_buffer"`
	CloakPort   int `json:"cloak_port"`

	AntiReplayMaxSize int `json:"anti_replay_max_size"`

	MultiplexPerConnection int `json:"multiplex_per_connection"`

	Debug      bool       `json:"debug"`
	Verbose    bool       `json:"verbose"`
	SecretMode SecretMode `json:"secret_mode"`
	PreferIP   PreferIP   `json:"prefer_ip"`
	NTPServers []string   `json:"ntp_servers"`

	Secret []byte `json:"secret"`
	AdTag  []byte `json:"adtag"`
}

func (*Config) ClientReadBuffer added in v1.0.5

func (c *Config) ClientReadBuffer() int

func (*Config) ClientWriteBuffer added in v1.0.5

func (c *Config) ClientWriteBuffer() int

func (*Config) MiddleProxyMode added in v1.0.5

func (c *Config) MiddleProxyMode() bool

func (*Config) ProxyReadBuffer added in v1.0.5

func (c *Config) ProxyReadBuffer() int

func (*Config) ProxyWriteBuffer added in v1.0.5

func (c *Config) ProxyWriteBuffer() int

type IPURLs

type IPURLs struct {
	IPv4      URLs   `json:"ipv4"`
	IPv6      URLs   `json:"ipv6"`
	BotSecret string `json:"secret_for_mtproxybot"`
}

func GetURLs

func GetURLs() (urls IPURLs)

type Opt

type Opt struct {
	Option OptionType
	Value  interface{}
}

type OptionType

type OptionType uint8
const (
	OptionTypeDebug OptionType = iota
	OptionTypeVerbose

	OptionTypePreferIP

	OptionTypeBind
	OptionTypePublicIPv4
	OptionTypePublicIPv6

	OptionTypeStatsBind
	OptionTypeStatsNamespace
	OptionTypeStatsdAddress
	OptionTypeStatsdTagsFormat
	OptionTypeStatsdTags

	OptionTypeWriteBufferSize
	OptionTypeReadBufferSize

	OptionTypeCloakPort

	OptionTypeAntiReplayMaxSize

	OptionTypeMultiplexPerConnection

	OptionTypeNTPServers

	OptionTypeSecret
	OptionTypeAdtag
)

type PreferIP added in v1.0.3

type PreferIP uint8
const (
	PreferIPv4 PreferIP = iota
	PreferIPv6
)

type SecretMode

type SecretMode uint8
const (
	SecretModeSimple SecretMode = iota
	SecretModeSecured
	SecretModeTLS
)

func (SecretMode) String

func (s SecretMode) String() string

type URLs

type URLs struct {
	TG        string `json:"tg_url"`
	TMe       string `json:"tme_url"`
	TGQRCode  string `json:"tg_qrcode"`
	TMeQRCode string `json:"tme_qrcode"`
}

Jump to

Keyboard shortcuts

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