站点黑白名单
单个站点的永久 IP 黑名单与白名单;黑名单命中即断开,白名单命中跳过 CC 等防护。也可清空站点在各节点上的临时白名单。
site-ip-lists防护鉴权: 用户(部分参数仅管理员)7 个接口获取站点黑白名单
GET
/api/v2/site-ip-lists/{site_id}鉴权: 用户(部分参数仅管理员)
设置站点黑白名单
PUT
/api/v2/site-ip-lists/{site_id}鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| black | string[] | — | 永久黑名单(命中 = 断开);条数受 protect.black_ip_max 约束。 |
| black_items | IpListItem[] | — | 黑名单条目(含到期时间、原因、来源);已到期的不返回。 |
| expected_updated_at | string | — | 乐观锁:调用方读到的 updated_at(读到 updated_at 为空 = 还没设置过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。 |
| white | string[] | — | 永久白名单(命中 = 跳过 CC 等防护);条数受 protect.white_ip_max 约束。 |
| white_items | IpListItem[] | — | 白名单条目(含到期时间、原因、来源);已到期的不返回。 |
导出站点黑白名单
GET
/api/v2/site-ip-lists/{site_id}/export鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| list | string | 必填 | 导出哪张名单。 |
| source | IpListSource | — | 只导出该来源的条目;不带为全部。 |
| format | string | — | txt(缺省,纯文本每行一条)或 csv(带表头与来源列、UTF-8 BOM)。 |
批量导入站点黑白名单
POST
/api/v2/site-ip-lists/{site_id}/import鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| dry_run | boolean | — | true 只预检,不保存。 |
| expected_updated_at | string | — | 乐观锁:调用方读到的 updated_at(读到 updated_at 为空 = 还没设置过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。 |
| list | string | 必填 | 导入到哪张名单。 |
| mode | string | — | merge 并进现有名单(同 IP 以导入行为准);replace 用导入行替换整张名单。 |
| text | string | 必填 | 文件内容(txt/csv),每行 IP/CIDR[,到期时间][,原因]。 |
IP 详情
GET
/api/v2/site-ip-lists/{site_id}/ip-detail鉴权: 用户(部分参数仅管理员)
查询参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ip | string | 必填 | IPv4 或 IPv6 地址。 |
从 IP 详情拉黑或加白
POST
/api/v2/site-ip-lists/{site_id}/ip-detail鉴权: 用户(部分参数仅管理员)
请求体 application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| expires_at | string | — | 到期时间;空 = 永久。须晚于当前时刻。 |
| ip | string | 必填 | 规范化后的地址(IPv4 映射地址还原成 IPv4)。 |
| list | string | 必填 | 导入到哪张名单。 |
| reason | string | — | 原因(备注),最长 200 个字符。 |
| scope | string | 必填 | site 本站名单;global 全局名单(仅管理员)。 |
清空站点临时白名单
POST
/api/v2/site-ip-lists/{site_id}/tmp-white-clear鉴权: 用户(部分参数仅管理员)
站点黑白名单对象
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| added | integer | — | 新增条数。 |
| applied | boolean | — | 是否已保存(dry_run 或有挡导入的问题时为 false)。 |
| black | string[] | — | 永久黑名单(命中 = 断开);条数受 protect.black_ip_max 约束。 |
| black_items | IpListItem[] | — | 黑名单条目(含到期时间、原因、来源);已到期的不返回。 |
| block_denied | string | — | 不能拉黑的原因:private 内网/回环/链路本地、node 节点 IP(只回管理员)、self 调用者自己的 IP、other 其他原因(租户遇到节点 IP 回这个,不暴露节点地址);能拉黑不回。 |
| dry_run | boolean | — | true 只预检,不保存。 |
| expected_updated_at | string | — | 乐观锁:调用方读到的 updated_at(读到 updated_at 为空 = 还没设置过,用 1970-01-01T00:00:00Z)。与库里当前值不等则回 409 stale_version、不保存;不带则不检查。 |
| expires_at | string | — | 到期时间;空 = 永久。须晚于当前时刻。 |
| geo | GeoipLookup | — | IP 归属地查询结果。 |
| global_black | IpListItem | — | IP 名单条目(IP 详情里是命中该 IP 的那一条,没命中不回)。 |
| global_white | IpListItem | — | IP 名单条目(IP 详情里是命中该 IP 的那一条,没命中不回)。 |
| ip | string | — | 规范化后的地址(IPv4 映射地址还原成 IPv4)。 |
| issues | IpListImportIssue[] | — | 逐行问题(最多 1000 条,按行号升序)。 |
| lines | integer | — | 有效条目数(去重后)。 |
| list | string | 必填 | 导入到哪张名单。 |
| mode | string | — | merge 并进现有名单(同 IP 以导入行为准);replace 用导入行替换整张名单。 |
| reason | string | — | 原因(备注),最长 200 个字符。 |
| removed | integer | — | replace 模式下原有、新名单里没有的条数(同 IP 的算「更新」,不算在内)。 |
| scope | string | 必填 | site 本站名单;global 全局名单(仅管理员)。 |
| site_black | IpListItem | — | IP 名单条目(IP 详情里是命中该 IP 的那一条,没命中不回)。 |
| site_id | integer | — | 网站 ID |
| site_white | IpListItem | — | IP 名单条目(IP 详情里是命中该 IP 的那一条,没命中不回)。 |
| task_id | integer | — | 下发节点的后台任务 id(GET /tasks/{id} 查进度)。 |
| text | string | 必填 | 文件内容(txt/csv),每行 IP/CIDR[,到期时间][,原因]。 |
| updated | integer | — | 已在名单里、被导入行更新的条数。 |
| updated_at | string | — | 更新时间 |
| white | string[] | — | 永久白名单(命中 = 跳过 CC 等防护);条数受 protect.white_ip_max 约束。 |
| white_items | IpListItem[] | — | 白名单条目(含到期时间、原因、来源);已到期的不返回。 |