api

package
v0.0.0-...-99cda12 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2021 License: MPL-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	GetNodeInfo() (nodeInfo *NodeInfo, err error)
	GetUserList() (userList *[]UserInfo, err error)
	ReportNodeStatus(nodeStatus *NodeStatus) (err error)
	ReportNodeOnlineUsers(onlineUser *[]OnlineUser) (err error)
	ReportUserTraffic(userTraffic *[]UserTraffic) (err error)
	Describe() ClientInfo
	GetNodeRule() (ruleList *[]DetectRule, err error)
	ReportIllegal(detectResultList *[]DetectResult) (err error)
	Debug()
}

API is the interface for different panel's api.

type ClientInfo

type ClientInfo struct {
	APIHost  string
	NodeID   int
	Key      string
	NodeType string
}

type Config

type Config struct {
	APIHost      string  `mapstructure:"ApiHost"`
	NodeID       int     `mapstructure:"NodeID"`
	Key          string  `mapstructure:"ApiKey"`
	NodeType     string  `mapstructure:"NodeType"`
	EnableVless  bool    `mapstructure:"EnableVless"`
	EnableXTLS   bool    `mapstructure:"EnableXTLS"`
	Timeout      int     `mapstructure:"Timeout"`
	SpeedLimit   float64 `mapstructure:"SpeedLimit"`
	DeviceLimit  int     `mapstructure:"DeviceLimit"`
	RuleListPath string  `mapstructure:"RuleListPath"`
}

API config

type DetectResult

type DetectResult struct {
	UID    int
	RuleID int
}

type DetectRule

type DetectRule struct {
	ID      int
	Pattern string
}

type NodeInfo

type NodeInfo struct {
	NodeType          string // Must be V2ray, Trojan, and Shadowsocks
	NodeID            int
	Port              int
	SpeedLimit        uint64 // Bps
	AlterID           int
	TransportProtocol string
	Host              string
	Path              string
	EnableTLS         bool
	TLSType           string
	EnableVless       bool
	CypherMethod      string
}

type NodeStatus

type NodeStatus struct {
	CPU    float64
	Mem    float64
	Disk   float64
	Uptime int
}

Node status

type OnlineUser

type OnlineUser struct {
	UID int
	IP  string
}

type UserInfo

type UserInfo struct {
	UID           int
	Email         string
	Passwd        string
	Port          int
	Method        string
	SpeedLimit    uint64 // Bps
	DeviceLimit   int
	Protocol      string
	ProtocolParam string
	Obfs          string
	ObfsParam     string
	UUID          string
	AlterID       int
}

type UserTraffic

type UserTraffic struct {
	UID      int
	Email    string
	Upload   int64
	Download int64
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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