controller

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2021 License: MPL-2.0 Imports: 26 Imported by: 1

Documentation

Overview

Package generate the InbounderConfig used by add inbound

Index

Constants

This section is empty.

Variables

Functions

func InboundBuilder

func InboundBuilder(listenIP string, nodeInfo *api.NodeInfo, certConfig *CertConfig) (*core.InboundHandlerConfig, error)

InboundBuilder build Inbound config for different protocol

func OutboundBuilder

func OutboundBuilder(nodeInfo *api.NodeInfo) (*core.OutboundHandlerConfig, error)

OutboundBuilder build freedom outbund config for addoutbound

Types

type CertConfig

type CertConfig struct {
	CertMode   string            `mapstructure:"CertMode"` // none, file, http, dns
	CertDomain string            `mapstructure:"CertDomain"`
	CertFile   string            `mapstructure:"CertFile"`
	KeyFile    string            `mapstructure:"KeyFile"`
	Provider   string            `mapstructure:"Provider"` // alidns, cloudflare, gandi, godaddy....
	Email      string            `mapstructure:"Email"`
	DNSEnv     map[string]string `mapstructure:"DNSEnv"`
}

type Config

type Config struct {
	ListenIP       string      `mapstructure:"ListenIP"`
	UpdatePeriodic int         `mapstructure:"UpdatePeriodic"`
	CertConfig     *CertConfig `mapstructure:"CertConfig"`
}

type Controller

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

func New

func New(server *core.Instance, api api.API, config *Config) *Controller

New return a Controller service with default parameters.

func (*Controller) AddInboundLimiter

func (c *Controller) AddInboundLimiter(tag string, nodeSpeedLimit uint64, userList *[]api.UserInfo) error

func (*Controller) Close

func (c *Controller) Close() error

Close implement the Close() function of the service interface

func (*Controller) DeleteInboundLimiter

func (c *Controller) DeleteInboundLimiter(tag string) error

func (*Controller) GetDetectResult added in v0.3.0

func (c *Controller) GetDetectResult(tag string) (*[]api.DetectResult, error)

func (*Controller) GetOnlineDevice

func (c *Controller) GetOnlineDevice(tag string) (*[]api.OnlineUser, error)

func (*Controller) Start

func (c *Controller) Start() error

Start implement the Start() function of the service interface

func (*Controller) UpdateInboundLimiter

func (c *Controller) UpdateInboundLimiter(tag string, updatedUserList *[]api.UserInfo) error

func (*Controller) UpdateRule added in v0.3.0

func (c *Controller) UpdateRule(tag string, newRuleList []api.DetectRule) error

Jump to

Keyboard shortcuts

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