xray

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2026 License: GPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Vmess       = "vmess"
	Vless       = "vless"
	Trojan      = "trojan"
	Shadowsocks = "shadowsocks"
	Hysteria    = "hysteria"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	LogConfig        *conf.LogConfig    `json:"log"`
	RouterConfig     *conf.RouterConfig `json:"routing"`
	DNSConfig        map[string]any     `json:"dns"`
	InboundConfigs   []*Inbound         `json:"inbounds"`
	OutboundConfigs  any                `json:"outbounds"`
	Policy           *conf.PolicyConfig `json:"policy"`
	API              *conf.APIConfig    `json:"api"`
	Metrics          map[string]any     `json:"metrics,omitempty"`
	Stats            Stats              `json:"stats"`
	Reverse          map[string]any     `json:"reverse,omitempty"`
	FakeDNS          map[string]any     `json:"fakeDns,omitempty"`
	Observatory      map[string]any     `json:"observatory,omitempty"`
	BurstObservatory map[string]any     `json:"burstObservatory,omitempty"`
}

func NewConfig added in v0.3.0

func NewConfig(config string, exclude []string) (*Config, error)

func (*Config) ApplyAPI

func (c *Config) ApplyAPI(apiPort, metricPort int) (err error)

func (*Config) GetLogFiles added in v0.2.6

func (c *Config) GetLogFiles() (accessFile, errorFile string)

func (*Config) ToBytes

func (c *Config) ToBytes() ([]byte, error)

type Core

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

func NewXRayCore

func NewXRayCore(executablePath, assetsPath, configPath string, logBufferSize, startupLogTailSize int) (*Core, error)

func (*Core) ClearStartupDiagnostics added in v0.2.9

func (c *Core) ClearStartupDiagnostics()

func (*Core) DisableStartupDiagnostics added in v0.2.9

func (c *Core) DisableStartupDiagnostics()

func (*Core) EnableStartupDiagnostics added in v0.2.9

func (c *Core) EnableStartupDiagnostics(tailSize int)

func (*Core) GenerateConfigFile

func (c *Core) GenerateConfigFile(config []byte) error

func (*Core) LatestStartupFailure added in v0.2.9

func (c *Core) LatestStartupFailure() string

func (*Core) Logs

func (c *Core) Logs() <-chan string

func (*Core) RecordRuntimeLog added in v0.5.0

func (c *Core) RecordRuntimeLog(line string)

func (*Core) RecordStartupLog added in v0.2.9

func (c *Core) RecordStartupLog(line string)

func (*Core) Restart

func (c *Core) Restart(config *Config, debugMode bool) error

func (*Core) Restarting added in v0.5.0

func (c *Core) Restarting() bool

func (*Core) RuntimeLogTail added in v0.5.0

func (c *Core) RuntimeLogTail(n int) []string

func (*Core) Start

func (c *Core) Start(xConfig *Config, debugMode bool) error

func (*Core) Started

func (c *Core) Started() bool

func (*Core) StartupLogTail added in v0.2.9

func (c *Core) StartupLogTail(n int) []string

func (*Core) Stop

func (c *Core) Stop()

func (*Core) SwitchToRuntimeLogPhase added in v0.2.9

func (c *Core) SwitchToRuntimeLogPhase()

func (*Core) Version

func (c *Core) Version() string

type Inbound

type Inbound struct {
	Tag            string         `json:"tag"`
	Listen         string         `json:"listen,omitempty"`
	Port           any            `json:"port,omitempty"`
	Protocol       string         `json:"protocol"`
	Settings       map[string]any `json:"settings"`
	StreamSettings map[string]any `json:"streamSettings,omitempty"`
	Sniffing       any            `json:"sniffing,omitempty"`
	Allocation     map[string]any `json:"allocate,omitempty"`
	// contains filtered or unexported fields
}

type ProcessInfo added in v0.1.2

type ProcessInfo struct {
	PID      int
	PPID     int
	IsZombie bool
}

ProcessInfo holds information about a process

type Protocol

type Protocol string

type Stats

type Stats struct{}

type Xray

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

func New added in v0.3.0

func New(ctx context.Context, xrayConfig *Config, users []*common.User, apiPort, metricPort int, cfg *config.Config) (*Xray, error)

func (*Xray) GetOutboundsLatency added in v0.4.1

func (x *Xray) GetOutboundsLatency(ctx context.Context, request *common.LatencyRequest) (*common.LatencyResponse, error)

func (*Xray) GetStats

func (x *Xray) GetStats(ctx context.Context, request *common.StatRequest) (*common.StatResponse, error)

func (*Xray) GetSysStats

func (x *Xray) GetSysStats(ctx context.Context) (*common.BackendStatsResponse, error)

func (*Xray) GetUserOnlineIpListStats

func (x *Xray) GetUserOnlineIpListStats(ctx context.Context, email string) (*common.StatsOnlineIpListResponse, error)

func (*Xray) GetUserOnlineStats

func (x *Xray) GetUserOnlineStats(ctx context.Context, email string) (*common.OnlineStatResponse, error)

func (*Xray) Logs

func (x *Xray) Logs() <-chan string

func (*Xray) Restart

func (x *Xray) Restart() error

func (*Xray) Shutdown

func (x *Xray) Shutdown()

func (*Xray) Started

func (x *Xray) Started() bool

func (*Xray) SyncUser

func (x *Xray) SyncUser(ctx context.Context, user *common.User) error

func (*Xray) SyncUsers

func (x *Xray) SyncUsers(ctx context.Context, users []*common.User) error

func (*Xray) UpdateUsers added in v0.2.0

func (x *Xray) UpdateUsers(ctx context.Context, users []*common.User) error

func (*Xray) UpdateUsersAndRestart added in v0.2.0

func (x *Xray) UpdateUsersAndRestart(ctx context.Context, users []*common.User) error

func (*Xray) Version

func (x *Xray) Version() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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