mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-06 07:36:37 +08:00
[优化] 更新文档
This commit is contained in:
+581
-12
@@ -199,6 +199,95 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/access-logs/folds/ip-summary": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"AccessLogs"
|
||||
],
|
||||
"summary": "List folded access log IP summaries",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Node ID",
|
||||
"name": "node_id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Remote address",
|
||||
"name": "remote_addr",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Host",
|
||||
"name": "host",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Path",
|
||||
"name": "path",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Bucket started at",
|
||||
"name": "bucket_started_at",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Fold minutes",
|
||||
"name": "fold_minutes",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Page index",
|
||||
"name": "p",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Page size",
|
||||
"name": "page_size",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Sort by",
|
||||
"name": "sort_by",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Sort order",
|
||||
"name": "sort_order",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/access-logs/ip-summary": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -514,6 +603,66 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/agent/waf/ip-groups/sync": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Agent"
|
||||
],
|
||||
"summary": "Sync WAF IP groups for agent",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "WAF IP group sync payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.AgentWAFIPGroupSyncInput"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/agent/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Agent"
|
||||
],
|
||||
"summary": "Upgrade agent connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/apply-logs/": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -999,6 +1148,130 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/apply-log": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Report OpenFlared apply result",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Apply log payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.ApplyLogPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/config/active": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Get active tunnel config for OpenFlared",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/heartbeat": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Report OpenFlared heartbeat",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Flared heartbeat payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.FlaredHeartbeatPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Upgrade OpenFlared connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/managed-domains/": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -1444,6 +1717,47 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/nodes/{id}/force-sync": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Nodes"
|
||||
],
|
||||
"summary": "Request force sync config on node",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Node ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/nodes/{id}/observability": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -2007,6 +2321,66 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/relay/heartbeat": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Relay"
|
||||
],
|
||||
"summary": "Report relay heartbeat",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Relay heartbeat payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.RelayHeartbeatPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/relay/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Relay"
|
||||
],
|
||||
"summary": "Upgrade relay connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/status": {
|
||||
"get": {
|
||||
"produces": [
|
||||
@@ -2531,6 +2905,11 @@ const docTemplate = `{
|
||||
},
|
||||
"/api/update/latest-release": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
@@ -2694,6 +3073,9 @@ const docTemplate = `{
|
||||
"$ref": "#/definitions/service.AgentNodeAccessLog"
|
||||
}
|
||||
},
|
||||
"openresty_observation": {
|
||||
"$ref": "#/definitions/service.AgentNodeOpenrestyObservation"
|
||||
},
|
||||
"snapshot": {
|
||||
"$ref": "#/definitions/service.AgentNodeMetricSnapshot"
|
||||
},
|
||||
@@ -2775,6 +3157,20 @@ const docTemplate = `{
|
||||
"network_tx_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_total_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_used_bytes": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.AgentNodeOpenrestyObservation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"captured_at_unix": {
|
||||
"type": "integer"
|
||||
},
|
||||
"openresty_connections": {
|
||||
"type": "integer"
|
||||
},
|
||||
@@ -2783,12 +3179,6 @@ const docTemplate = `{
|
||||
},
|
||||
"openresty_tx_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_total_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_used_bytes": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2801,9 +3191,6 @@ const docTemplate = `{
|
||||
"$ref": "#/definitions/service.AgentNodeAccessLog"
|
||||
}
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
},
|
||||
"buffered_observability": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -2813,6 +3200,9 @@ const docTemplate = `{
|
||||
"current_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"ext_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"health_events": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -2828,15 +3218,15 @@ const docTemplate = `{
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"ext_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"node_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"openresty_message": {
|
||||
"type": "string"
|
||||
},
|
||||
"openresty_observation": {
|
||||
"$ref": "#/definitions/service.AgentNodeOpenrestyObservation"
|
||||
},
|
||||
"openresty_status": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -2848,6 +3238,15 @@ const docTemplate = `{
|
||||
},
|
||||
"traffic_report": {
|
||||
"$ref": "#/definitions/service.AgentNodeTrafficReport"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
},
|
||||
"waf_ip_group_checksums": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2927,6 +3326,23 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.AgentWAFIPGroupSyncInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"checksums": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"ids": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.ApplyLogPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -2956,6 +3372,49 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.FlaredConnectedRelay": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"proxy_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_node_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.FlaredHeartbeatPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"client_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"connected_relays": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.FlaredConnectedRelay"
|
||||
}
|
||||
},
|
||||
"current_checksum": {
|
||||
"type": "string"
|
||||
},
|
||||
"current_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"frp_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"ip": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.ManagedDomainInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -2999,6 +3458,28 @@ const docTemplate = `{
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"node_type": {
|
||||
"description": "TunnelRelay fields",
|
||||
"type": "string"
|
||||
},
|
||||
"relay_agent_access_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_bind_port": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_client_access_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_client_proxy_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_vhost_http_port": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_web_server_enabled": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3118,6 +3599,21 @@ const docTemplate = `{
|
||||
"site_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tunnel_node_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tunnel_target_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_target_protocol": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstream_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstreams": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -3126,6 +3622,79 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.RelayHeartbeatPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"frp_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"frps_client_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"frps_connections": {
|
||||
"type": "integer"
|
||||
},
|
||||
"frps_proxies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.RelayProxyStat"
|
||||
}
|
||||
},
|
||||
"frps_proxy_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"health_events": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.AgentNodeHealthEvent"
|
||||
}
|
||||
},
|
||||
"ip": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"profile": {
|
||||
"$ref": "#/definitions/service.AgentNodeSystemProfile"
|
||||
},
|
||||
"relay_status": {
|
||||
"type": "string"
|
||||
},
|
||||
"snapshot": {
|
||||
"$ref": "#/definitions/service.AgentNodeMetricSnapshot"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.RelayProxyStat": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"client_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"client_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_close_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_start_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.TLSApplyInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
@@ -196,6 +196,95 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/access-logs/folds/ip-summary": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"AccessLogs"
|
||||
],
|
||||
"summary": "List folded access log IP summaries",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Node ID",
|
||||
"name": "node_id",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Remote address",
|
||||
"name": "remote_addr",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Host",
|
||||
"name": "host",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Path",
|
||||
"name": "path",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Bucket started at",
|
||||
"name": "bucket_started_at",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Fold minutes",
|
||||
"name": "fold_minutes",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Page index",
|
||||
"name": "p",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Page size",
|
||||
"name": "page_size",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Sort by",
|
||||
"name": "sort_by",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Sort order",
|
||||
"name": "sort_order",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/access-logs/ip-summary": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -352,7 +441,7 @@
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AgentTokenAuth": []
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
@@ -398,7 +487,7 @@
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"AgentTokenAuth": []
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
@@ -423,7 +512,7 @@
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AgentTokenAuth": []
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
@@ -469,7 +558,7 @@
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AgentTokenAuth": []
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
@@ -511,6 +600,66 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/agent/waf/ip-groups/sync": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Agent"
|
||||
],
|
||||
"summary": "Sync WAF IP groups for agent",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "WAF IP group sync payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.AgentWAFIPGroupSyncInput"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/agent/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Agent"
|
||||
],
|
||||
"summary": "Upgrade agent connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/apply-logs/": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -996,6 +1145,130 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/apply-log": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Report OpenFlared apply result",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Apply log payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.ApplyLogPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/config/active": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Get active tunnel config for OpenFlared",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/heartbeat": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Report OpenFlared heartbeat",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Flared heartbeat payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.FlaredHeartbeatPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/flared/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"TunnelTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Flared"
|
||||
],
|
||||
"summary": "Upgrade OpenFlared connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/managed-domains/": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -1441,6 +1714,47 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/nodes/{id}/force-sync": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Nodes"
|
||||
],
|
||||
"summary": "Request force sync config on node",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Node ID",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/nodes/{id}/observability": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -2004,6 +2318,66 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/relay/heartbeat": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"Relay"
|
||||
],
|
||||
"summary": "Report relay heartbeat",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Relay heartbeat payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/service.RelayHeartbeatPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/relay/ws": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"AccessTokenAuth": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"Relay"
|
||||
],
|
||||
"summary": "Upgrade relay connection to websocket",
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/status": {
|
||||
"get": {
|
||||
"produces": [
|
||||
@@ -2528,6 +2902,11 @@
|
||||
},
|
||||
"/api/update/latest-release": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
@@ -2691,6 +3070,9 @@
|
||||
"$ref": "#/definitions/service.AgentNodeAccessLog"
|
||||
}
|
||||
},
|
||||
"openresty_observation": {
|
||||
"$ref": "#/definitions/service.AgentNodeOpenrestyObservation"
|
||||
},
|
||||
"snapshot": {
|
||||
"$ref": "#/definitions/service.AgentNodeMetricSnapshot"
|
||||
},
|
||||
@@ -2772,6 +3154,20 @@
|
||||
"network_tx_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_total_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_used_bytes": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.AgentNodeOpenrestyObservation": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"captured_at_unix": {
|
||||
"type": "integer"
|
||||
},
|
||||
"openresty_connections": {
|
||||
"type": "integer"
|
||||
},
|
||||
@@ -2780,12 +3176,6 @@
|
||||
},
|
||||
"openresty_tx_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_total_bytes": {
|
||||
"type": "integer"
|
||||
},
|
||||
"storage_used_bytes": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2798,9 +3188,6 @@
|
||||
"$ref": "#/definitions/service.AgentNodeAccessLog"
|
||||
}
|
||||
},
|
||||
"agent_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"buffered_observability": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -2810,6 +3197,9 @@
|
||||
"current_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"ext_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"health_events": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -2825,15 +3215,15 @@
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"nginx_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"node_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"openresty_message": {
|
||||
"type": "string"
|
||||
},
|
||||
"openresty_observation": {
|
||||
"$ref": "#/definitions/service.AgentNodeOpenrestyObservation"
|
||||
},
|
||||
"openresty_status": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -2845,6 +3235,15 @@
|
||||
},
|
||||
"traffic_report": {
|
||||
"$ref": "#/definitions/service.AgentNodeTrafficReport"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
},
|
||||
"waf_ip_group_checksums": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2924,6 +3323,23 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.AgentWAFIPGroupSyncInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"checksums": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"ids": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.ApplyLogPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -2953,6 +3369,49 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.FlaredConnectedRelay": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"proxy_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_node_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.FlaredHeartbeatPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"client_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"connected_relays": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.FlaredConnectedRelay"
|
||||
}
|
||||
},
|
||||
"current_checksum": {
|
||||
"type": "string"
|
||||
},
|
||||
"current_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"frp_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"ip": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_status": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.ManagedDomainInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -2996,6 +3455,28 @@
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"node_type": {
|
||||
"description": "TunnelRelay fields",
|
||||
"type": "string"
|
||||
},
|
||||
"relay_agent_access_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_bind_port": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_client_access_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_client_proxy_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"relay_vhost_http_port": {
|
||||
"type": "integer"
|
||||
},
|
||||
"relay_web_server_enabled": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3115,6 +3596,21 @@
|
||||
"site_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tunnel_node_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"tunnel_target_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"tunnel_target_protocol": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstream_type": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstreams": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -3123,6 +3619,79 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.RelayHeartbeatPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"frp_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"frps_client_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"frps_connections": {
|
||||
"type": "integer"
|
||||
},
|
||||
"frps_proxies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.RelayProxyStat"
|
||||
}
|
||||
},
|
||||
"frps_proxy_count": {
|
||||
"type": "integer"
|
||||
},
|
||||
"health_events": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/service.AgentNodeHealthEvent"
|
||||
}
|
||||
},
|
||||
"ip": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"profile": {
|
||||
"$ref": "#/definitions/service.AgentNodeSystemProfile"
|
||||
},
|
||||
"relay_status": {
|
||||
"type": "string"
|
||||
},
|
||||
"snapshot": {
|
||||
"$ref": "#/definitions/service.AgentNodeMetricSnapshot"
|
||||
},
|
||||
"version": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.RelayProxyStat": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"client_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"client_version": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_close_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_start_time": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"service.TLSApplyInput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -3183,7 +3752,7 @@
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"AgentTokenAuth": {
|
||||
"AccessTokenAuth": {
|
||||
"description": "Agent API 使用节点专属 Agent Token 或全局 Discovery Token",
|
||||
"type": "apiKey",
|
||||
"name": "X-Agent-Token",
|
||||
@@ -3196,4 +3765,4 @@
|
||||
"in": "header"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,6 +44,8 @@ definitions:
|
||||
items:
|
||||
$ref: '#/definitions/service.AgentNodeAccessLog'
|
||||
type: array
|
||||
openresty_observation:
|
||||
$ref: '#/definitions/service.AgentNodeOpenrestyObservation'
|
||||
snapshot:
|
||||
$ref: '#/definitions/service.AgentNodeMetricSnapshot'
|
||||
traffic_report:
|
||||
@@ -97,16 +99,21 @@ definitions:
|
||||
type: integer
|
||||
network_tx_bytes:
|
||||
type: integer
|
||||
storage_total_bytes:
|
||||
type: integer
|
||||
storage_used_bytes:
|
||||
type: integer
|
||||
type: object
|
||||
service.AgentNodeOpenrestyObservation:
|
||||
properties:
|
||||
captured_at_unix:
|
||||
type: integer
|
||||
openresty_connections:
|
||||
type: integer
|
||||
openresty_rx_bytes:
|
||||
type: integer
|
||||
openresty_tx_bytes:
|
||||
type: integer
|
||||
storage_total_bytes:
|
||||
type: integer
|
||||
storage_used_bytes:
|
||||
type: integer
|
||||
type: object
|
||||
service.AgentNodePayload:
|
||||
properties:
|
||||
@@ -114,14 +121,14 @@ definitions:
|
||||
items:
|
||||
$ref: '#/definitions/service.AgentNodeAccessLog'
|
||||
type: array
|
||||
agent_version:
|
||||
type: string
|
||||
buffered_observability:
|
||||
items:
|
||||
$ref: '#/definitions/service.AgentBufferedObservabilityRecord'
|
||||
type: array
|
||||
current_version:
|
||||
type: string
|
||||
ext_version:
|
||||
type: string
|
||||
health_events:
|
||||
items:
|
||||
$ref: '#/definitions/service.AgentNodeHealthEvent'
|
||||
@@ -132,12 +139,12 @@ definitions:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
nginx_version:
|
||||
type: string
|
||||
node_id:
|
||||
type: string
|
||||
openresty_message:
|
||||
type: string
|
||||
openresty_observation:
|
||||
$ref: '#/definitions/service.AgentNodeOpenrestyObservation'
|
||||
openresty_status:
|
||||
type: string
|
||||
profile:
|
||||
@@ -146,6 +153,12 @@ definitions:
|
||||
$ref: '#/definitions/service.AgentNodeMetricSnapshot'
|
||||
traffic_report:
|
||||
$ref: '#/definitions/service.AgentNodeTrafficReport'
|
||||
version:
|
||||
type: string
|
||||
waf_ip_group_checksums:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
service.AgentNodeSystemProfile:
|
||||
properties:
|
||||
@@ -197,6 +210,17 @@ definitions:
|
||||
window_started_at_unix:
|
||||
type: integer
|
||||
type: object
|
||||
service.AgentWAFIPGroupSyncInput:
|
||||
properties:
|
||||
checksums:
|
||||
additionalProperties:
|
||||
type: string
|
||||
type: object
|
||||
ids:
|
||||
items:
|
||||
type: integer
|
||||
type: array
|
||||
type: object
|
||||
service.ApplyLogPayload:
|
||||
properties:
|
||||
checksum:
|
||||
@@ -216,6 +240,34 @@ definitions:
|
||||
version:
|
||||
type: string
|
||||
type: object
|
||||
service.FlaredConnectedRelay:
|
||||
properties:
|
||||
proxy_count:
|
||||
type: integer
|
||||
relay_node_id:
|
||||
type: string
|
||||
status:
|
||||
type: string
|
||||
type: object
|
||||
service.FlaredHeartbeatPayload:
|
||||
properties:
|
||||
client_version:
|
||||
type: string
|
||||
connected_relays:
|
||||
items:
|
||||
$ref: '#/definitions/service.FlaredConnectedRelay'
|
||||
type: array
|
||||
current_checksum:
|
||||
type: string
|
||||
current_version:
|
||||
type: string
|
||||
frp_version:
|
||||
type: string
|
||||
ip:
|
||||
type: string
|
||||
tunnel_status:
|
||||
type: string
|
||||
type: object
|
||||
service.ManagedDomainInput:
|
||||
properties:
|
||||
cert_id:
|
||||
@@ -245,6 +297,21 @@ definitions:
|
||||
type: boolean
|
||||
name:
|
||||
type: string
|
||||
node_type:
|
||||
description: TunnelRelay fields
|
||||
type: string
|
||||
relay_agent_access_addr:
|
||||
type: string
|
||||
relay_bind_port:
|
||||
type: integer
|
||||
relay_client_access_addr:
|
||||
type: string
|
||||
relay_client_proxy_url:
|
||||
type: string
|
||||
relay_vhost_http_port:
|
||||
type: integer
|
||||
relay_web_server_enabled:
|
||||
type: boolean
|
||||
type: object
|
||||
service.ProxyRouteCustomHeaderInput:
|
||||
properties:
|
||||
@@ -323,11 +390,69 @@ definitions:
|
||||
type: string
|
||||
site_name:
|
||||
type: string
|
||||
tunnel_id:
|
||||
type: integer
|
||||
tunnel_node_id:
|
||||
type: integer
|
||||
tunnel_target_addr:
|
||||
type: string
|
||||
tunnel_target_protocol:
|
||||
type: string
|
||||
upstream_type:
|
||||
type: string
|
||||
upstreams:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
service.RelayHeartbeatPayload:
|
||||
properties:
|
||||
frp_version:
|
||||
type: string
|
||||
frps_client_count:
|
||||
type: integer
|
||||
frps_connections:
|
||||
type: integer
|
||||
frps_proxies:
|
||||
items:
|
||||
$ref: '#/definitions/service.RelayProxyStat'
|
||||
type: array
|
||||
frps_proxy_count:
|
||||
type: integer
|
||||
health_events:
|
||||
items:
|
||||
$ref: '#/definitions/service.AgentNodeHealthEvent'
|
||||
type: array
|
||||
ip:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
profile:
|
||||
$ref: '#/definitions/service.AgentNodeSystemProfile'
|
||||
relay_status:
|
||||
type: string
|
||||
snapshot:
|
||||
$ref: '#/definitions/service.AgentNodeMetricSnapshot'
|
||||
version:
|
||||
type: string
|
||||
type: object
|
||||
service.RelayProxyStat:
|
||||
properties:
|
||||
client_addr:
|
||||
type: string
|
||||
client_version:
|
||||
type: string
|
||||
last_close_time:
|
||||
type: string
|
||||
last_start_time:
|
||||
type: string
|
||||
name:
|
||||
type: string
|
||||
status:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
type: object
|
||||
service.TLSApplyInput:
|
||||
properties:
|
||||
acme_account_id:
|
||||
@@ -489,6 +614,64 @@ paths:
|
||||
summary: List folded access logs
|
||||
tags:
|
||||
- AccessLogs
|
||||
/api/access-logs/folds/ip-summary:
|
||||
get:
|
||||
parameters:
|
||||
- description: Node ID
|
||||
in: query
|
||||
name: node_id
|
||||
type: string
|
||||
- description: Remote address
|
||||
in: query
|
||||
name: remote_addr
|
||||
type: string
|
||||
- description: Host
|
||||
in: query
|
||||
name: host
|
||||
type: string
|
||||
- description: Path
|
||||
in: query
|
||||
name: path
|
||||
type: string
|
||||
- description: Bucket started at
|
||||
in: query
|
||||
name: bucket_started_at
|
||||
required: true
|
||||
type: string
|
||||
- description: Fold minutes
|
||||
in: query
|
||||
name: fold_minutes
|
||||
required: true
|
||||
type: integer
|
||||
- description: Page index
|
||||
in: query
|
||||
name: p
|
||||
type: integer
|
||||
- description: Page size
|
||||
in: query
|
||||
name: page_size
|
||||
type: integer
|
||||
- description: Sort by
|
||||
in: query
|
||||
name: sort_by
|
||||
type: string
|
||||
- description: Sort order
|
||||
in: query
|
||||
name: sort_order
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- BearerAuth: []
|
||||
summary: List folded access log IP summaries
|
||||
tags:
|
||||
- AccessLogs
|
||||
/api/access-logs/ip-summary:
|
||||
get:
|
||||
parameters:
|
||||
@@ -610,7 +793,7 @@ paths:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AgentTokenAuth: []
|
||||
- AccessTokenAuth: []
|
||||
summary: Report agent apply result
|
||||
tags:
|
||||
- Agent
|
||||
@@ -625,7 +808,7 @@ paths:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AgentTokenAuth: []
|
||||
- AccessTokenAuth: []
|
||||
summary: Get active config for agent
|
||||
tags:
|
||||
- Agent
|
||||
@@ -654,7 +837,7 @@ paths:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AgentTokenAuth: []
|
||||
- AccessTokenAuth: []
|
||||
summary: Report agent heartbeat
|
||||
tags:
|
||||
- Agent
|
||||
@@ -683,10 +866,47 @@ paths:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AgentTokenAuth: []
|
||||
- AccessTokenAuth: []
|
||||
summary: Register or discover agent node
|
||||
tags:
|
||||
- Agent
|
||||
/api/agent/waf/ip-groups/sync:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: WAF IP group sync payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/service.AgentWAFIPGroupSyncInput'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AccessTokenAuth: []
|
||||
summary: Sync WAF IP groups for agent
|
||||
tags:
|
||||
- Agent
|
||||
/api/agent/ws:
|
||||
get:
|
||||
responses: {}
|
||||
security:
|
||||
- AccessTokenAuth: []
|
||||
summary: Upgrade agent connection to websocket
|
||||
tags:
|
||||
- Agent
|
||||
/api/apply-logs/:
|
||||
get:
|
||||
parameters:
|
||||
@@ -986,6 +1206,82 @@ paths:
|
||||
summary: Update DNS account
|
||||
tags:
|
||||
- DnsAccounts
|
||||
/api/flared/apply-log:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: Apply log payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/service.ApplyLogPayload'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- TunnelTokenAuth: []
|
||||
summary: Report OpenFlared apply result
|
||||
tags:
|
||||
- Flared
|
||||
/api/flared/config/active:
|
||||
get:
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- TunnelTokenAuth: []
|
||||
summary: Get active tunnel config for OpenFlared
|
||||
tags:
|
||||
- Flared
|
||||
/api/flared/heartbeat:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: Flared heartbeat payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/service.FlaredHeartbeatPayload'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- TunnelTokenAuth: []
|
||||
summary: Report OpenFlared heartbeat
|
||||
tags:
|
||||
- Flared
|
||||
/api/flared/ws:
|
||||
get:
|
||||
responses: {}
|
||||
security:
|
||||
- TunnelTokenAuth: []
|
||||
summary: Upgrade OpenFlared connection to websocket
|
||||
tags:
|
||||
- Flared
|
||||
/api/managed-domains/:
|
||||
get:
|
||||
produces:
|
||||
@@ -1235,6 +1531,32 @@ paths:
|
||||
summary: Delete node
|
||||
tags:
|
||||
- Nodes
|
||||
/api/nodes/{id}/force-sync:
|
||||
post:
|
||||
parameters:
|
||||
- description: Node ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- BearerAuth: []
|
||||
summary: Request force sync config on node
|
||||
tags:
|
||||
- Nodes
|
||||
/api/nodes/{id}/observability:
|
||||
get:
|
||||
parameters:
|
||||
@@ -1625,6 +1947,43 @@ paths:
|
||||
summary: Update proxy route
|
||||
tags:
|
||||
- ProxyRoutes
|
||||
/api/relay/heartbeat:
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- description: Relay heartbeat payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/service.RelayHeartbeatPayload'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- AccessTokenAuth: []
|
||||
summary: Report relay heartbeat
|
||||
tags:
|
||||
- Relay
|
||||
/api/relay/ws:
|
||||
get:
|
||||
responses: {}
|
||||
security:
|
||||
- AccessTokenAuth: []
|
||||
summary: Upgrade relay connection to websocket
|
||||
tags:
|
||||
- Relay
|
||||
/api/status:
|
||||
get:
|
||||
produces:
|
||||
@@ -1968,6 +2327,8 @@ paths:
|
||||
schema:
|
||||
additionalProperties: true
|
||||
type: object
|
||||
security:
|
||||
- BearerAuth: []
|
||||
summary: Get latest GitHub release
|
||||
tags:
|
||||
- Update
|
||||
@@ -2024,7 +2385,7 @@ schemes:
|
||||
- http
|
||||
- https
|
||||
securityDefinitions:
|
||||
AgentTokenAuth:
|
||||
AccessTokenAuth:
|
||||
description: Agent API 使用节点专属 Agent Token 或全局 Discovery Token
|
||||
in: header
|
||||
name: X-Agent-Token
|
||||
|
||||
Reference in New Issue
Block a user