mirror of
https://github.com/XrayR-project/XrayR.git
synced 2025-06-08 13:29:54 +00:00

Enabled the REALITY feature on both model.go and sspanel.go for the api and service assemblies and updated the inboundbuilder to switch the REALITY feature based on the new field and condition statements. This enhancement allows finer control and visibility of the REALITY feature's activation. In addition, the REALITYConfig in config.go was updated to remove the DisableLocal field and add the DisableLocalREALITYConfig field. The main/config.yml.example file has also been updated to reflect these changes and provide users with a clearer understanding of the config setup.
112 lines
2.3 KiB
Go
112 lines
2.3 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"regexp"
|
|
|
|
"github.com/xtls/xray-core/infra/conf"
|
|
)
|
|
|
|
const (
|
|
UserNotModified = "users not modified"
|
|
NodeNotModified = "node not modified"
|
|
RuleNotModified = "rules not modified"
|
|
)
|
|
|
|
// Config API config
|
|
type Config struct {
|
|
APIHost string `mapstructure:"ApiHost"`
|
|
NodeID int `mapstructure:"NodeID"`
|
|
Key string `mapstructure:"ApiKey"`
|
|
NodeType string `mapstructure:"NodeType"`
|
|
EnableVless bool `mapstructure:"EnableVless"`
|
|
VlessFlow string `mapstructure:"VlessFlow"`
|
|
Timeout int `mapstructure:"Timeout"`
|
|
SpeedLimit float64 `mapstructure:"SpeedLimit"`
|
|
DeviceLimit int `mapstructure:"DeviceLimit"`
|
|
RuleListPath string `mapstructure:"RuleListPath"`
|
|
DisableCustomConfig bool `mapstructure:"DisableCustomConfig"`
|
|
}
|
|
|
|
// NodeStatus Node status
|
|
type NodeStatus struct {
|
|
CPU float64
|
|
Mem float64
|
|
Disk float64
|
|
Uptime uint64
|
|
}
|
|
|
|
type NodeInfo struct {
|
|
NodeType string // Must be V2ray, Trojan, and Shadowsocks
|
|
NodeID int
|
|
Port uint32
|
|
SpeedLimit uint64 // Bps
|
|
AlterID uint16
|
|
TransportProtocol string
|
|
FakeType string
|
|
Host string
|
|
Path string
|
|
EnableTLS bool
|
|
EnableVless bool
|
|
VlessFlow string
|
|
CypherMethod string
|
|
ServerKey string
|
|
ServiceName string
|
|
Header json.RawMessage
|
|
NameServerConfig []*conf.NameServerConfig
|
|
EnableREALITY bool
|
|
REALITYConfig *REALITYConfig
|
|
}
|
|
|
|
type UserInfo struct {
|
|
UID int
|
|
Email string
|
|
UUID string
|
|
Passwd string
|
|
Port uint32
|
|
AlterID uint16
|
|
Method string
|
|
SpeedLimit uint64 // Bps
|
|
DeviceLimit int
|
|
}
|
|
|
|
type OnlineUser struct {
|
|
UID int
|
|
IP string
|
|
}
|
|
|
|
type UserTraffic struct {
|
|
UID int
|
|
Email string
|
|
Upload int64
|
|
Download int64
|
|
}
|
|
|
|
type ClientInfo struct {
|
|
APIHost string
|
|
NodeID int
|
|
Key string
|
|
NodeType string
|
|
}
|
|
|
|
type DetectRule struct {
|
|
ID int
|
|
Pattern *regexp.Regexp
|
|
}
|
|
|
|
type DetectResult struct {
|
|
UID int
|
|
RuleID int
|
|
}
|
|
|
|
type REALITYConfig struct {
|
|
Dest string
|
|
ProxyProtocolVer uint64
|
|
ServerNames []string
|
|
PrivateKey string
|
|
MinClientVer string
|
|
MaxClientVer string
|
|
MaxTimeDiff uint64
|
|
ShortIds []string
|
|
}
|