proxy

package
v2.13.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2017 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package proxy contains all proxies used by V2Ray.

Index

Constants

View Source
const (
	HandlerStateStopped = HandlerState(0)
	HandlerStateRunning = HandlerState(1)
)

Variables

View Source
var (
	ErrInvalidProtocolVersion = errors.New("Invalid protocol version.")
	ErrAlreadyListening       = errors.New("Already listening on another port.")
)

Functions

func RegisterInboundHandlerCreator

func RegisterInboundHandlerCreator(name string, creator InboundHandlerFactory) error

func RegisterOutboundHandlerCreator

func RegisterOutboundHandlerCreator(name string, creator OutboundHandlerFactory) error

Types

type HandlerState

type HandlerState int

type InboundHandler

type InboundHandler interface {
	// Listen starts a InboundHandler.
	Start() error
	// Close stops the handler to accepting anymore inbound connections.
	Close()
	// Port returns the port that the handler is listening on.
	Port() v2net.Port
}

An InboundHandler handles inbound network connections to V2Ray.

func CreateInboundHandler

func CreateInboundHandler(name string, space app.Space, config interface{}, meta *InboundHandlerMeta) (InboundHandler, error)

type InboundHandlerFactory

type InboundHandlerFactory interface {
	StreamCapability() v2net.NetworkList
	Create(space app.Space, config interface{}, meta *InboundHandlerMeta) (InboundHandler, error)
}

type InboundHandlerMeta

type InboundHandlerMeta struct {
	Tag                    string
	Address                v2net.Address
	Port                   v2net.Port
	AllowPassiveConnection bool
	StreamSettings         *internet.StreamConfig
}

type OutboundHandler

type OutboundHandler interface {
	// Dispatch sends one or more Packets to its destination.
	Dispatch(destination v2net.Destination, payload *buf.Buffer, ray ray.OutboundRay)
}

An OutboundHandler handles outbound network connection for V2Ray.

func CreateOutboundHandler

func CreateOutboundHandler(name string, space app.Space, config interface{}, meta *OutboundHandlerMeta) (OutboundHandler, error)

type OutboundHandlerFactory

type OutboundHandlerFactory interface {
	StreamCapability() v2net.NetworkList
	Create(space app.Space, config interface{}, meta *OutboundHandlerMeta) (OutboundHandler, error)
}

type OutboundHandlerMeta

type OutboundHandlerMeta struct {
	Tag            string
	Address        v2net.Address
	StreamSettings *internet.StreamConfig
	ProxySettings  *internet.ProxyConfig
}

func (*OutboundHandlerMeta) GetDialerOptions

func (v *OutboundHandlerMeta) GetDialerOptions() internet.DialerOptions

type SessionInfo

type SessionInfo struct {
	Source      v2net.Destination
	Destination v2net.Destination
	User        *protocol.User
	Inbound     *InboundHandlerMeta
}

Directories

Path Synopsis
Package blackhole is an outbound handler that blocks all connections.
Package blackhole is an outbound handler that blocks all connections.
Package dokodemo is a generated protocol buffer package.
Package dokodemo is a generated protocol buffer package.
Package freedom is a generated protocol buffer package.
Package freedom is a generated protocol buffer package.
Package http is a generated protocol buffer package.
Package http is a generated protocol buffer package.
Package shadowsocks is a generated protocol buffer package.
Package shadowsocks is a generated protocol buffer package.
Package socks is a generated protocol buffer package.
Package socks is a generated protocol buffer package.
Package vmess is a generated protocol buffer package.
Package vmess is a generated protocol buffer package.
inbound
Package inbound is a generated protocol buffer package.
Package inbound is a generated protocol buffer package.
outbound
Package outbound is a generated protocol buffer package.
Package outbound is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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