This commit is contained in:
ryan
2026-06-19 15:13:24 +08:00
parent 0b34792709
commit 32861c5db9
376 changed files with 3648 additions and 19957 deletions
+18
View File
@@ -1,9 +1,15 @@
package protocol
// AgentNodeSystemProfile is an alias for NodeSystemProfile used by server.
type AgentNodeSystemProfile = NodeSystemProfile
// AgentNodeMetricSnapshot is an alias for NodeMetricSnapshot used by server.
type AgentNodeMetricSnapshot = NodeMetricSnapshot
// AgentNodeHealthEvent is an alias for NodeHealthEvent used by server.
type AgentNodeHealthEvent = NodeHealthEvent
// RelayProxyStat holds relay proxy statistics.
type RelayProxyStat struct {
Name string `json:"name"`
Type string `json:"type"`
@@ -14,6 +20,7 @@ type RelayProxyStat struct {
ClientAddr string `json:"client_addr"`
}
// RelayHeartbeatPayload is the relay heartbeat payload.
type RelayHeartbeatPayload struct {
Version string `json:"version"`
ExtVersion string `json:"frp_version"`
@@ -29,6 +36,7 @@ type RelayHeartbeatPayload struct {
HealthEvents []AgentNodeHealthEvent `json:"health_events,omitempty"`
}
// RelayConfig holds relay configuration.
type RelayConfig struct {
BindPort int `json:"bind_port"`
VhostHTTPPort int `json:"vhost_http_port"`
@@ -37,6 +45,7 @@ type RelayConfig struct {
WebServerEnabled bool `json:"web_server_enabled"`
}
// RelaySettings holds relay runtime settings.
type RelaySettings struct {
HeartbeatInterval int `json:"heartbeat_interval"`
WebsocketUpgradeEnabled bool `json:"websocket_upgrade_enabled"`
@@ -47,22 +56,26 @@ type RelaySettings struct {
UpdateTag string `json:"update_tag"`
}
// RelayHeartbeatResponse is the relay heartbeat response.
type RelayHeartbeatResponse struct {
RelayConfig *RelayConfig `json:"relay_config"`
RelaySettings *RelaySettings `json:"relay_settings"`
}
// ActiveConfigMeta holds active configuration metadata.
type ActiveConfigMeta struct {
Version string `json:"version"`
Checksum string `json:"checksum"`
}
// FlaredConnectedRelay describes a connected relay info for flared.
type FlaredConnectedRelay struct {
RelayNodeID string `json:"relay_node_id"`
Status string `json:"status"`
ProxyCount int `json:"proxy_count"`
}
// FlaredHeartbeatPayload is the flared heartbeat payload.
type FlaredHeartbeatPayload struct {
ClientVersion string `json:"client_version"`
FrpVersion string `json:"frp_version"`
@@ -73,11 +86,13 @@ type FlaredHeartbeatPayload struct {
CurrentChecksum string `json:"current_checksum"`
}
// FlaredHeartbeatResponse is the flared heartbeat response.
type FlaredHeartbeatResponse struct {
ActiveConfig *ActiveConfigMeta `json:"active_config"`
TunnelSettings *RelaySettings `json:"tunnel_settings"`
}
// FlaredTunnelConfigResponse is the flared tunnel configuration response.
type FlaredTunnelConfigResponse struct {
Version string `json:"version"`
Checksum string `json:"checksum"`
@@ -85,6 +100,7 @@ type FlaredTunnelConfigResponse struct {
Proxies []FlaredProxyEntry `json:"proxies"`
}
// FlaredRelayInfo holds flared relay information.
type FlaredRelayInfo struct {
RelayNodeID string `json:"relay_node_id"`
Address string `json:"address"`
@@ -92,6 +108,7 @@ type FlaredRelayInfo struct {
ProxyURL string `json:"proxy_url"`
}
// FlaredProxyEntry represents a flared proxy entry.
type FlaredProxyEntry struct {
Name string `json:"name"`
Type string `json:"type"`
@@ -100,6 +117,7 @@ type FlaredProxyEntry struct {
CustomDomains []string `json:"custom_domains"`
}
// ApplyLogPayload is the apply log payload for flared.
type ApplyLogPayload struct {
NodeID string `json:"node_id"`
Version string `json:"version"`