Documentation
¶
Index ¶
- type DNSConfig
- type OnlineUser
- type OutboundConfig
- type Protocol
- type ProtocolConfig
- type PushOnlineUsersRequest
- type PushServerStatusRequest
- type PushUserTrafficRequest
- type ServerConfig
- type ServerNodeRepo
- type ServerNodeUsecase
- func (uc *ServerNodeUsecase) GetDeviceAdmissionEnabled(ctx context.Context) (bool, error)
- func (uc *ServerNodeUsecase) GetDeviceCountMode(ctx context.Context) (string, error)
- func (uc *ServerNodeUsecase) GetServerConfig(ctx context.Context, serverID int64, protocol string, port uint16, ...) (*ServerConfig, error)
- func (uc *ServerNodeUsecase) GetServerUserList(ctx context.Context, serverID int64, protocol string, port uint16, ...) ([]*ServerUser, error)
- func (uc *ServerNodeUsecase) PushOnlineUsers(ctx context.Context, req *PushOnlineUsersRequest) error
- func (uc *ServerNodeUsecase) PushServerStatus(ctx context.Context, req *PushServerStatusRequest) error
- func (uc *ServerNodeUsecase) PushUserTraffic(ctx context.Context, req *PushUserTrafficRequest) error
- func (uc *ServerNodeUsecase) QueryServerProtocolConfig(ctx context.Context, serverID int64, secretKey string, protocols []string) (*ProtocolConfig, error)
- func (uc *ServerNodeUsecase) SessionCheck(ctx context.Context, req *v1.SessionCheckRequest) (*v1.SessionCheckResponse, error)
- func (uc *ServerNodeUsecase) SessionRelease(ctx context.Context, req *v1.SessionReleaseRequest) (*v1.SessionReleaseResponse, error)
- type ServerUser
- type UserTraffic
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OutboundConfig ¶
OutboundConfig 出站配置
type Protocol ¶
type Protocol struct {
Type string
Port int32
Enable bool
Security string
SNI string
AllowInsecure bool
Fingerprint string
RealityServerAddr string
RealityServerPort int32
RealityPrivateKey string
RealityPublicKey string
RealityShortId string
Transport string
Host string
Path string
ServiceName string
Mc1Mode string
Mc1CidrSegments []string
MundoUsername string
MundoCertificateFingerprint string
MundoFakeTitle string
MundoFakeMessage string
MundoAcceptProxyProtocol bool
MundoUseTLSCertificate bool
Cipher string
ServerKey string
Flow string
HopPorts string
HopInterval int32
ObfsPassword string
DisableSNI bool
ReduceRtt bool
UDPRelayMode string
CongestionController string
Multiplex string
PaddingScheme string
UpMbps int32
DownMbps int32
Obfs string
ObfsHost string
ObfsPath string
XhttpMode string
XhttpExtra string
Encryption string
EncryptionMode string
EncryptionRtt string
EncryptionTicket string
EncryptionServerPadding string
EncryptionPrivateKey string
EncryptionClientPadding string
EncryptionPassword string
Ratio float64
CertMode string
CertDNSProvider string
CertDNSEnv string
SimnetPsk string
SimnetKeyID int32
SimnetTicketID string
SimnetPath string
SimnetCarrier string
SimnetAfEnabled bool
SimnetAfPathMode string
SimnetAfPathPrefix string
SimnetAfPathSuffix string
SimnetAfMagicMode string
SimnetAfResponseJitterMs int32
SimnetAfHandshakePolymorphism bool
SimnetAfSettingsJitter bool
SimnetAfFakeHeaderInjection bool
SimnetReverseEnabled bool
SimnetReverseListenAddr string
SimnetReverseListenPort int32
SimnetReverseTargetHost string
SimnetReverseTargetPort int32
SimnetFallbackEnabled bool
SimnetFallbackTargetScheme string
SimnetFallbackTargetHost string
SimnetFallbackTargetPort int32
SimnetFallbackHostHeader string
SimnetFallbackTLSSNI string
SimnetInboundMaxStreamsPerSession int32
SimnetInboundMaxUDPStreamsPerSession int32
SimnetInboundMaxHandlerTasksPerSession int32
SimnetStreamEventChannelCapacity int32
SimnetStreamDataChannelCapacity int32
SimnetTargetDialTimeoutMs int32
SimnetTargetMaxConcurrentDials int32
SimnetEgressBlockLoopback bool
SimnetEgressBlockPrivate bool
SimnetEgressBlockLinkLocal bool
SimnetEgressBlockMetadata bool
SimnetSendWindow int32
SimnetRecvWindow int32
SimnetMaxConcurrentStreams int32
SimnetInitialWindowSize int32
SimnetMaxFrameSize int32
SimnetClientMaxConcurrentStreams int32
SimnetClientMaxStreamsPerSession int32
SimnetClientSessionIdleTimeoutSecs int32
SimnetClientMaxUDPSessions int32
// OmniFlow 基础配置
OmniflowCarrier string
OmniflowPath string
OmniflowContentType string
OmniflowProfilePath string
OmniflowProfileJson string
OmniflowServerHost string
OmniflowServerPort int32
OmniflowCaCertPath string
OmniflowTargetMeta string
OmniflowSpkiPin string
// OmniFlow H3 Fallback 策略
OmniflowH3FallbackEnabled bool
OmniflowH3FallbackPolicy string
OmniflowH3FallbackTimeoutMs int32
OmniflowH3FallbackRetryBudget int32
OmniflowH3FallbackSmokeEnabled bool
OmniflowH3FallbackSmokeIntervalSec int32
OmniflowH3FallbackSmokeTimeoutMs int32
// OmniFlow 连接管理
OmniflowMaxAgeSec int32
OmniflowIdleTimeoutSec int32
OmniflowMaxConnections int32
// OmniFlow 抗指纹
OmniflowAdaptiveTlsEnabled bool
OmniflowTlsFingerprint string
OmniflowSniMode string
OmniflowPaddingMode string
OmniflowTrafficShapingEnabled bool
OmniflowAfEnabled bool
OmniflowAfPathMode string
OmniflowAfPathPrefix string
OmniflowAfPathSuffix string
OmniflowAfPathRotationSecs int32
OmniflowAfPathSkewSlots int32
// OmniFlow 同端口浏览器 Fallback 反向代理
OmniflowFallbackEnabled bool
OmniflowFallbackTargetScheme string
OmniflowFallbackTargetHost string
OmniflowFallbackTargetPort int32
OmniflowFallbackHostHeader string
OmniflowFallbackTLSSNI string
// OmniFlow 回退 Carrier
OmniflowFallbackCarrierEnabled bool
OmniflowFallbackConnectTunnel bool
OmniflowFallbackWssEnabled bool
}
Protocol 协议配置
type ProtocolConfig ¶
type ProtocolConfig struct {
TrafficReportThreshold int64
IPStrategy string
DNS []*DNSConfig
Block []string
Outbound []*OutboundConfig
Protocols []*Protocol
Total int32
}
ProtocolConfig 协议配置响应
type PushOnlineUsersRequest ¶
type PushOnlineUsersRequest struct {
ServerID int64
Protocol string
Port uint16
SecretKey string
Users []*OnlineUser
}
PushOnlineUsersRequest 推送在线用户请求
type PushServerStatusRequest ¶
type PushServerStatusRequest struct {
ServerID int64
Protocol string
Port uint16
SecretKey string
CPU float64
Mem float64
Disk float64
UpdatedAt int64
}
PushServerStatusRequest 推送服务器状态请求
type PushUserTrafficRequest ¶
type PushUserTrafficRequest struct {
ServerID int64
Protocol string
Port uint16
SecretKey string
Traffic []*UserTraffic
}
PushUserTrafficRequest 推送用户流量请求
type ServerConfig ¶
ServerConfig 服务器配置
type ServerNodeRepo ¶
type ServerNodeRepo interface {
GetNodeSecret(ctx context.Context) (string, error)
GetServerConfig(ctx context.Context, serverID int64, protocol string, port uint16) (*ServerConfig, error)
GetServerUserList(ctx context.Context, serverID int64, protocol string, port uint16) ([]*ServerUser, error)
PushUserTraffic(ctx context.Context, req *PushUserTrafficRequest) error
PushServerStatus(ctx context.Context, req *PushServerStatusRequest) error
PushOnlineUsers(ctx context.Context, req *PushOnlineUsersRequest) error
QueryServerProtocolConfig(ctx context.Context, serverID int64) (*ProtocolConfig, error)
SessionCheck(ctx context.Context, serverID int64, userID int64, identifier string, deviceLimit int64) (allowed bool, current int64, err error)
SessionRelease(ctx context.Context, userID int64, identifier string) error
GetDeviceCountMode(ctx context.Context) (string, error)
GetDeviceAdmissionEnabled(ctx context.Context) (bool, error)
GetUserDeviceLimit(ctx context.Context, userID int64) (int64, error)
}
ServerNodeRepo 节点服务器仓储接口
type ServerNodeUsecase ¶
type ServerNodeUsecase struct {
// contains filtered or unexported fields
}
ServerNodeUsecase 节点服务器用例
func NewServerNodeUsecase ¶
func NewServerNodeUsecase(repo ServerNodeRepo, logger log.Logger) *ServerNodeUsecase
NewServerNodeUsecase 创建节点服务器用例
func (*ServerNodeUsecase) GetDeviceAdmissionEnabled ¶
func (uc *ServerNodeUsecase) GetDeviceAdmissionEnabled(ctx context.Context) (bool, error)
GetDeviceAdmissionEnabled 获取设备准入控制全局开关
func (*ServerNodeUsecase) GetDeviceCountMode ¶
func (uc *ServerNodeUsecase) GetDeviceCountMode(ctx context.Context) (string, error)
GetDeviceCountMode 获取设备计数模式
func (*ServerNodeUsecase) GetServerConfig ¶
func (uc *ServerNodeUsecase) GetServerConfig(ctx context.Context, serverID int64, protocol string, port uint16, secretKey string) (*ServerConfig, error)
GetServerConfig 获取服务器配置
func (*ServerNodeUsecase) GetServerUserList ¶
func (uc *ServerNodeUsecase) GetServerUserList(ctx context.Context, serverID int64, protocol string, port uint16, secretKey string) ([]*ServerUser, error)
GetServerUserList 获取服务器用户列表
func (*ServerNodeUsecase) PushOnlineUsers ¶
func (uc *ServerNodeUsecase) PushOnlineUsers(ctx context.Context, req *PushOnlineUsersRequest) error
PushOnlineUsers 推送在线用户
func (*ServerNodeUsecase) PushServerStatus ¶
func (uc *ServerNodeUsecase) PushServerStatus(ctx context.Context, req *PushServerStatusRequest) error
PushServerStatus 推送服务器状态
func (*ServerNodeUsecase) PushUserTraffic ¶
func (uc *ServerNodeUsecase) PushUserTraffic(ctx context.Context, req *PushUserTrafficRequest) error
PushUserTraffic 推送用户流量
func (*ServerNodeUsecase) QueryServerProtocolConfig ¶
func (uc *ServerNodeUsecase) QueryServerProtocolConfig(ctx context.Context, serverID int64, secretKey string, protocols []string) (*ProtocolConfig, error)
QueryServerProtocolConfig 查询服务器协议配置
func (*ServerNodeUsecase) SessionCheck ¶
func (uc *ServerNodeUsecase) SessionCheck(ctx context.Context, req *v1.SessionCheckRequest) (*v1.SessionCheckResponse, error)
SessionCheck 设备准入检查
func (*ServerNodeUsecase) SessionRelease ¶
func (uc *ServerNodeUsecase) SessionRelease(ctx context.Context, req *v1.SessionReleaseRequest) (*v1.SessionReleaseResponse, error)
SessionRelease 会话释放
type ServerUser ¶
ServerUser 服务器用户
type UserTraffic ¶
UserTraffic 用户流量
Click to show internal directories.
Click to hide internal directories.