constant

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2018 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AtypIPv4       = 1
	AtypDomainName = 3
	AtypIPv6       = 4

	TCP NetWork = iota
	UDP

	HTTP SourceType = iota
	SOCKS
)

Socks addr type

View Source
const (
	Name = "clash"
)

Variables

View Source
var (
	HomeDir    string
	ConfigPath string
	MMDBPath   string
)
View Source
var (
	// LogLevelMapping is a mapping for LogLevel enum
	LogLevelMapping = map[string]LogLevel{
		"error":   ERROR,
		"warning": WARNING,
		"info":    INFO,
		"debug":   DEBUG,
	}
)

Functions

This section is empty.

Types

type AdapterType added in v0.5.0

type AdapterType int

AdapterType is enum of adapter type

const (
	Direct AdapterType = iota
	Reject
	Selector
	Shadowsocks
	Socks5
	URLTest
	Vmess
)

Adapter Type

func (AdapterType) String added in v0.5.0

func (at AdapterType) String() string

type Addr

type Addr struct {
	NetWork  NetWork
	Source   SourceType
	AddrType int
	Host     string
	IP       *net.IP
	Port     string
}

Addr is used to store connection address

func (*Addr) String

func (addr *Addr) String() string

type General added in v0.5.0

type General struct {
	Mode      *string `json:"mode,omitempty"`
	AllowLan  *bool   `json:"allow-lan,omitempty"`
	Port      *int    `json:"port,omitempty"`
	SocksPort *int    `json:"socks-port,omitempty"`
	RedirPort *int    `json:"redir-port,omitempty"`
	LogLevel  *string `json:"log-level,omitempty"`
}

type LogLevel added in v0.6.0

type LogLevel int
const (
	ERROR LogLevel = iota
	WARNING
	INFO
	DEBUG
)

func (LogLevel) String added in v0.6.0

func (l LogLevel) String() string

type NetWork

type NetWork int

func (*NetWork) String

func (n *NetWork) String() string

type Proxy

type Proxy interface {
	Name() string
	Type() AdapterType
	Generator(addr *Addr) (ProxyAdapter, error)
}

type ProxyAdapter

type ProxyAdapter interface {
	Conn() net.Conn
	Close()
}

type ProxySignal added in v0.5.0

type ProxySignal struct {
	Done   chan<- struct{}
	Closed <-chan struct{}
}

ProxySignal is used to handle graceful shutdown of proxy

type Rule

type Rule interface {
	RuleType() RuleType
	IsMatch(addr *Addr) bool
	Adapter() string
	Payload() string
}

type RuleType

type RuleType int
const (
	Domain RuleType = iota
	DomainSuffix
	DomainKeyword
	GEOIP
	IPCIDR
	FINAL
)

Rule Type

func (RuleType) String added in v0.5.0

func (rt RuleType) String() string

type ServerAdapter

type ServerAdapter interface {
	Addr() *Addr
	Close()
}

type SourceType added in v0.6.0

type SourceType int

type Traffic added in v0.4.0

type Traffic struct {
	// contains filtered or unexported fields
}

func NewTraffic added in v0.4.0

func NewTraffic(interval time.Duration) *Traffic

func (*Traffic) Down added in v0.4.0

func (t *Traffic) Down() chan<- int64

func (*Traffic) Now added in v0.4.0

func (t *Traffic) Now() (up int64, down int64)

func (*Traffic) Up added in v0.4.0

func (t *Traffic) Up() chan<- int64

Jump to

Keyboard shortcuts

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