tunnel

package
v0.0.0-...-35843ba Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2023 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ModeMapping is a mapping for Mode enum
	ModeMapping = map[string]TunnelMode{
		Global.String(): Global,
		Rule.String():   Rule,
		Direct.String(): Direct,
	}
)

Functions

func Add

func Add(ctx C.ConnContext)

Add request to queue

func AddPacket

func AddPacket(packet *inbound.PacketAdapter)

AddPacket add udp Packet to queue

func Providers

func Providers() map[string]provider.ProxyProvider

Providers return all compatible providers

func Proxies

func Proxies() map[string]C.Proxy

Proxies return all proxies

func Rules

func Rules() []C.Rule

Rules return all rules

func SetMode

func SetMode(m TunnelMode)

SetMode change the mode of tunnel

func UpdateProxies

func UpdateProxies(newProxies map[string]C.Proxy, newProviders map[string]provider.ProxyProvider)

UpdateProxies handle update proxies

func UpdateRules

func UpdateRules(newRules []C.Rule)

UpdateRules handle update rules

Types

type TunnelMode

type TunnelMode int
const (
	Global TunnelMode = iota
	Rule
	Direct
)

func Mode

func Mode() TunnelMode

Mode return current mode

func (TunnelMode) MarshalJSON

func (m TunnelMode) MarshalJSON() ([]byte, error)

MarshalJSON serialize Mode

func (TunnelMode) MarshalYAML

func (m TunnelMode) MarshalYAML() (interface{}, error)

MarshalYAML serialize TunnelMode with yaml

func (TunnelMode) String

func (m TunnelMode) String() string

func (*TunnelMode) UnmarshalJSON

func (m *TunnelMode) UnmarshalJSON(data []byte) error

UnmarshalJSON unserialize Mode

func (*TunnelMode) UnmarshalYAML

func (m *TunnelMode) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML unserialize Mode with yaml

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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