## XDP 高速拦截 (`xdp`)

支持的节点自动以高速模式运行,在网卡上丢弃封禁与黑名单 IP 的包;不支持或校验未通过的以标准模式运行,防护不中断。付费功能 xdp。

鉴权: 仅管理员 · 文档: https://www-demo.kuxitong.com/zh/docs/api/xdp

### GET `/api/v2/xdp/nodes`

列出节点的 XDP 状态 · 鉴权: 仅管理员

查询参数:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `since` | string |  | 今日拦截的起点(面板传浏览器本地零点);不给 = 主控 UTC 零点。不能早于 7 天前。 |
| `filter` | string |  | 筛选:all 全部;fast 高速模式;standard 标准模式;auto 近 7 天自动切换过;offline 离线。缺省 all。 可选值: ["all","fast","standard","auto","offline"] 默认: "all" |

```sh
curl "https://panel.example.com/api/v2/xdp/nodes" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/xdp/nodes/{id}/disable`

节点切换至标准模式 · 鉴权: 仅管理员

```sh
curl -X POST "https://panel.example.com/api/v2/xdp/nodes/{id}/disable" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/xdp/nodes/{id}/enable`

节点启用高速模式 · 鉴权: 仅管理员

```sh
curl -X POST "https://panel.example.com/api/v2/xdp/nodes/{id}/enable" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/xdp/pause`

全网暂停 XDP 高速拦截 · 鉴权: 仅管理员

请求体:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `duration` | string | 有 | 1h / 4h 到点自动恢复;manual 手动恢复。 可选值: ["1h","4h","manual"] |

```sh
curl -X POST "https://panel.example.com/api/v2/xdp/pause" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### POST `/api/v2/xdp/resume`

全网恢复 XDP 高速拦截 · 鉴权: 仅管理员

```sh
curl -X POST "https://panel.example.com/api/v2/xdp/resume" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

### GET `/api/v2/xdp/status`

XDP 高速拦截总览 · 鉴权: 仅管理员

查询参数:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `since` | string |  | 今日拦截的起点(面板传浏览器本地零点);不给 = 主控 UTC 零点。不能早于 7 天前。 |

```sh
curl "https://panel.example.com/api/v2/xdp/status" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

XDP 高速拦截对象:

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `auto_at` | string |  | 最近一次自动切换时刻。 |
| `auto_reason` | string |  | 最近一次自动切换的原因代码。 |
| `auto_resume_at` | string |  | 自动恢复时刻;没有 = 手动恢复。 |
| `bans` | integer |  | 封禁条目数。 |
| `blocked_today` | XdpBlocked |  | 拦截量(网卡上丢掉的包)。统计库暂不可用时不出这一项(暂停、切换等操作照常)。 |
| `can_disable` | boolean |  | 此刻能切换至标准模式。 |
| `can_enable` | boolean |  | 此刻能启用高速模式。 |
| `cause` | string |  | 标准模式的原因:授权 / 节点程序版本过旧 / 已手动切换 / 缓冲期新加的节点 / 自动切换 / 不支持 / 网卡已有其他 XDP 程序。 可选值: ["license","agent_old","manual","not_kept","auto","unsupported","conflict"] |
| `counts` | XdpCounts |  | 各模式台数。 |
| `detail` | string |  | 节点报的细节(点名的网卡等)。 |
| `duration` | string | 有 | 1h / 4h 到点自动恢复;manual 手动恢复。 可选值: ["1h","4h","manual"] |
| `id` | integer |  | 节点 id。 |
| `ip` | string |  | 节点 IP。 |
| `items` | XdpNode[] |  | 节点。 |
| `kernel` | string |  | 内核版本。 |
| `license` | XdpLicense |  | 付费功能 xdp 的授权口径。 |
| `max_entries` | integer |  | 拦截表容量。 |
| `name` | string |  | 节点名。 |
| `nics` | XdpNic[] |  | 网卡。 |
| `off_source` | string |  | 手动切换的来源:管理员 / 节点本机关闭。 可选值: ["admin","node_local"] |
| `online` | boolean |  | 在线。 |
| `op` | string |  | 进行中的单台切换。 可选值: ["enable","disable"] |
| `op_error` | string |  | 最近一次启用没成的原因代码(timeout = 超时)。 |
| `op_error_at` | string |  | 最近一次启用没成的时刻。 |
| `paused` | boolean |  | 全网暂停中。 |
| `paused_at` | string |  | 暂停时刻。 |
| `progress` | XdpProgress |  | 进行中的全网暂停 / 恢复。 |
| `reason` | string |  | 节点报的原因代码(kernel、driver、check_tcp443、ack_timeout 等,面板按代码出说法)。 |
| `reported_at` | string |  | 最近一次上报时刻。 |
| `state` | string |  | 显示状态:离线 / 高速模式 / 部署中 / 切换中 / 已暂停 / 标准模式。 可选值: ["offline","fast","deploying","switching","paused","standard"] |
| `status` | string |  | 页头状态:未开通 / 已停用 / 即将停用 / 授权到期 / 授权未同步 / 已暂停 / 部署中 / 暂无可用节点 / 正常。 可选值: ["unlicensed","stopped","revoking","frozen","unsynced","paused","deploying","no_nodes","normal"] |
| `top_bans` | XdpTopBans |  | 封禁条目最多的一台(分母是它的拦截表容量)。 |
