point

package
v1.21.1 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2016 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package point is a shell of V2Ray to run on various of systems. Point server is a full functionality proxying system. It consists of an inbound and an outbound connection, as well as any number of inbound and outbound detours. It provides a way internally to route network packets.

Index

Constants

View Source
const (
	AllocationStrategyAlways   = "always"
	AllocationStrategyRandom   = "random"
	AllocationStrategyExternal = "external"
)

Variables

View Source
var (
	ErrorBadConfiguration = errors.New("Bad configuration.")
)

Functions

This section is empty.

Types

type Config added in v1.9.1

type Config struct {
	Port            v2net.Port
	LogConfig       *LogConfig
	RouterConfig    *router.Config
	DNSConfig       *dns.Config
	InboundConfig   *InboundConnectionConfig
	OutboundConfig  *OutboundConnectionConfig
	InboundDetours  []*InboundDetourConfig
	OutboundDetours []*OutboundDetourConfig
	TransportConfig *transport.Config
}

func LoadConfig added in v1.9.1

func LoadConfig(init string) (*Config, error)

type ConfigLoader added in v1.9.1

type ConfigLoader func(init string) (*Config, error)

type InboundConnectionConfig added in v1.17.1

type InboundConnectionConfig struct {
	Port           v2net.Port
	ListenOn       v2net.Address
	StreamSettings *internet.StreamSettings
	Protocol       string
	Settings       []byte
}

type InboundDetourAllocationConfig added in v1.9.1

type InboundDetourAllocationConfig struct {
	Strategy    string // Allocation strategy of this inbound detour.
	Concurrency int    // Number of handlers (ports) running in parallel.
	Refresh     int    // Number of minutes before a handler is regenerated.
}

type InboundDetourConfig

type InboundDetourConfig struct {
	Protocol       string
	PortRange      v2net.PortRange
	ListenOn       v2net.Address
	Tag            string
	Allocation     *InboundDetourAllocationConfig
	StreamSettings *internet.StreamSettings
	Settings       []byte
}

type InboundDetourHandler

type InboundDetourHandler interface {
	Start() error
	Close()
	GetConnectionHandler() (proxy.InboundHandler, int)
}

type InboundDetourHandlerAlways added in v1.9.1

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

Handler for inbound detour connections.

func NewInboundDetourHandlerAlways added in v1.9.1

func NewInboundDetourHandlerAlways(space app.Space, config *InboundDetourConfig) (*InboundDetourHandlerAlways, error)

func (*InboundDetourHandlerAlways) Close added in v1.9.1

func (this *InboundDetourHandlerAlways) Close()

func (*InboundDetourHandlerAlways) GetConnectionHandler added in v1.9.1

func (this *InboundDetourHandlerAlways) GetConnectionHandler() (proxy.InboundHandler, int)

func (*InboundDetourHandlerAlways) Start added in v1.9.1

func (this *InboundDetourHandlerAlways) Start() error

Starts the inbound connection handler.

type InboundDetourHandlerDynamic added in v1.9.1

type InboundDetourHandlerDynamic struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewInboundDetourHandlerDynamic added in v1.9.1

func NewInboundDetourHandlerDynamic(space app.Space, config *InboundDetourConfig) (*InboundDetourHandlerDynamic, error)

func (*InboundDetourHandlerDynamic) Close added in v1.9.1

func (this *InboundDetourHandlerDynamic) Close()

func (*InboundDetourHandlerDynamic) GetConnectionHandler added in v1.9.1

func (this *InboundDetourHandlerDynamic) GetConnectionHandler() (proxy.InboundHandler, int)

func (*InboundDetourHandlerDynamic) RecyleHandles added in v1.17.1

func (this *InboundDetourHandlerDynamic) RecyleHandles()

func (*InboundDetourHandlerDynamic) Start added in v1.9.1

func (this *InboundDetourHandlerDynamic) Start() error

type LogConfig

type LogConfig struct {
	AccessLog string
	ErrorLog  string
	LogLevel  log.LogLevel
}

type OutboundConnectionConfig added in v1.17.1

type OutboundConnectionConfig struct {
	Protocol       string
	SendThrough    v2net.Address
	StreamSettings *internet.StreamSettings
	Settings       []byte
}

type OutboundDetourConfig

type OutboundDetourConfig struct {
	Protocol       string
	SendThrough    v2net.Address
	StreamSettings *internet.StreamSettings
	Tag            string
	Settings       []byte
}

type Point

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

Point shell of V2Ray.

func NewPoint

func NewPoint(pConfig *Config) (*Point, error)

NewPoint returns a new Point server based on given configuration. The server is not started at this point.

func (*Point) Close added in v1.9.1

func (this *Point) Close()

func (*Point) GetHandler added in v1.9.1

func (this *Point) GetHandler(tag string) (proxy.InboundHandler, int)

func (*Point) Release added in v1.13.1

func (this *Point) Release()

func (*Point) Start

func (this *Point) Start() error

Start starts the Point server, and return any error during the process. In the case of any errors, the state of the server is unpredicatable.

Jump to

Keyboard shortcuts

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