🛰 17ce 节点监测控制台

17ce {{ overview.upstream && overview.upstream.connected ? '在线' : '离线' }} 调度{{ overview.scheduler.paused ? '暂停' : '运行' }} 额度 {{ overview.quota.accepted_used ?? 0 }}/{{ overview.quota.daily_limit > 0 ? overview.quota.daily_limit : '∞' }} 异常 {{ overview.abnormal }} {{ dark ? '☀ 亮色' : '🌙 暗色' }}
{{ dark ? '☀' : '🌙' }}
{{ toast }}
⚠ 接口请求失败,以下为上次数据(可能已过期)。请检查网络或登录状态。
接口请求失败
加载中…
{{ emptyHint }}
调度器
{{ overview.scheduler.paused ? '已暂停' : '运行中' }}
{{ overview.scheduler.reason }}
今日额度(节点)
{{ overview.quota.accepted_used ?? overview.quota.daily_used }} / {{ overview.quota.daily_limit > 0 ? overview.quota.daily_limit : '∞' }}
实际 {{ overview.quota.accepted_used ?? '-' }} · 预估 {{ overview.quota.estimated_used ?? '-' }} · 上限 {{ overview.quota.daily_limit > 0 ? overview.quota.daily_limit : '不限制' }}
{{ overview.quota.daily_limit > 0 ? '预占防超发,实际通常≤预占' : '额度保护已关闭(0=不限制)' }}
域名
{{ overview.domains_enabled }} / {{ overview.domains_total }}
启用 / 总数
异常域名
{{ overview.abnormal }}

最近检测

Run域名状态成功/收到时间
#{{ r.id }}{{ domainUrl(r.domain_id) }} {{ runStatusName(r.status) }} {{ r.ok_nodes||0 }}/{{ r.received_nodes||0 }} {{ (r.started_at||'').slice(5,16) }}

最近告警

暂无告警
时间类型标题状态
{{ (a.created_at||'').slice(5,16) }} {{ alertTypeName(a.alert_type) }}{{ a.title }} {{ alertStatusName(a.status) }}

{{ editingDomain.id ? '编辑域名' : '新增域名' }}

Host 留空自动取 URL 域名;间隔/超时用默认
选预设后自动设置下方开关,仍可手动微调
开启后自动从各地节点解析中学习你的CDN边缘IP,前5次为学习期(不告警),之后自动检测污染,无需手填IP
学习进度:{{ baselineInfo.run_count }}/{{ baselineInfo.learn_runs }} 次 · 已确认边缘IP({{ baselineInfo.confirmed.length }}):{{ baselineInfo.confirmed.map(r=>r.ip).join(', ') || '无' }} · 候选({{ baselineInfo.candidates.length }}):{{ baselineInfo.candidates.map(r=>r.ip+'('+r.node_hits+')').join(', ') || '无' }}
仅适合静态内容;动态页面易误报
暂无数据 / 接口未就绪
IDURL启用间隔最近状态成功率耗时最近检测操作
{{ d.id }} {{ d.url }}
学习 {{ d.learn.run_count }}/{{ d.learn.learn_runs }} · 已确认{{ d.learn.confirmed }}IP
{{ d.enabled == 1 ? '是' : '否' }} {{ d.interval_min }}m 未检测 {{ runStatusName(d.health.status) }} 污染{{ d.health.pollution }} 劫持{{ d.health.hijack }} 未响应{{ d.health.no_response }} {{ d.health && d.health.success_rate!=null ? d.health.success_rate+'%' : '-' }} {{ d.health && d.health.avg_total_ms!=null ? d.health.avg_total_ms+'ms' : '-' }} {{ d.health ? (d.health.started_at||'').slice(5,16) : '-' }}
勾选具体监测节点,对所有域名生效。先「全量抓取节点清单」拿到 17ce 全部节点,再按线路/地区展开勾选。下发用 17ce Nodes 精确到点。被永久拉黑的节点会自动跳过。
清单共 {{ nodeMeta.count || 0 }} 个节点 · 上次抓取:{{ nodeMeta.harvested_at || '从未' }}
线路:
已选 {{ selectedNodeIds.length }} 个节点 · 预计约 {{ selectedNodeIds.length }} 检测点/次
暂无节点清单,请先点「全量抓取节点清单」。
{{ g.region }} 已选 {{ selCountOf(g.nodes) }}/{{ g.nodes.length }}
{{ p.name }}
{{ c.name }} ({{ c.nodes.length }})
请选择一个域名查看明细 / 趋势 / 诊断
每 3 秒自动刷新 · 默认只显示异常节点
17ce 未连接,检测暂不可用
还没有检测记录
Run #{{ r.id }} · 状态: {{ runStatusName(r.status) }} · {{ r.started_at || '' }} 收到 {{ r.received_nodes || 0 }} 入库 {{ (r.received_nodes||0) - (r.filtered_nodes||0) }} 过滤 {{ r.filtered_nodes || 0 }} 超时 {{ r.timeout_nodes || 0 }} 未响应 {{ r.no_response_nodes || 0 }} 成功 {{ r.ok_nodes || 0 }}
{{ expandedRun===r.id ? '▲收起' : '▼展开' }}
暂无结果
暂无检测数据
左轴:成功率(%,按排除黑名单后的可评估节点计);右轴:成功节点平均总耗时(ms)。
按运营商/省份聚合最近一次检测,快速判断:仅某运营商污染 / 某省污染 / 三网全挂。 成功率低且污染/劫持集中在某维度 = 该维度被污染劫持。
来自 Run #{{ diagRunId }} Run #{{ diag.run.id }} · {{ diag.run.started_at }}
该域名暂无检测数据

按运营商

运营商节点成功率污染劫持超时连接失败HTTP错误未响应DNS失败其它
{{ ispName(g.isp) }} {{ g.total }} {{ rate(g) }}% {{ g.pollution }} {{ g.hijack }} {{ g.timeout }}{{ g.connect_fail }}{{ g.http_error }} {{ g.no_response }} {{ g.dns_fail }} {{ g.other }}

按省份

省份节点成功率污染劫持超时连接失败HTTP错误未响应DNS失败其它
{{ proName(g.pro_id) }} {{ g.total }} {{ rate(g) }}% {{ g.pollution }} {{ g.hijack }} {{ g.timeout }}{{ g.connect_fail }}{{ g.http_error }} {{ g.no_response }} {{ g.dns_fail }} {{ g.other }}

按运营商+省份

运营商/省份节点成功率污染劫持超时连接失败HTTP错误未响应DNS失败其它
{{ ispName(g.isp) }} / {{ proName(g.pro_id) }} {{ g.total }} {{ rate(g) }}% {{ g.pollution }} {{ g.hijack }} {{ g.timeout }}{{ g.connect_fail }}{{ g.http_error }} {{ g.no_response }} {{ g.dns_fail }} {{ g.other }}
用 17ce 官网免费网页版自动测速,不消耗 API 额度,但也没有账号级限速保护,间隔最短 15 分钟。结果由后台独立的 web-cron 容器定时抓取。

新增检测目标

暂无检测目标,在上面添加一个吧
{{ r.url }} 📝 {{ r.note }} {{ r.note ? '改备注' : '加备注' }} {{ webHealth(r.latest).text }} 成功 {{ r.latest.stats.ok }}/{{ r.latest.stats.total }}({{ r.latest.stats.successRate }}%) 间隔 {{ r.intervalMin }} 分钟 最近检测:{{ r.latest.checkedAt ? r.latest.checkedAt.replace('T',' ').slice(0,19) : '-' }}
还没有检测记录
失败: {{ r.latest.error.split('\n')[0] }}
暂无数据 / 接口未就绪
节点ID监测点节点IP原因来源过期时间操作
{{ b.node_id }} {{ b.isp ? (ispName(b.isp) + ' / ' + (b.pro_id ? proName(b.pro_id) : '?')) : '(无检测记录)' }} {{ b.node_ip || '-' }} {{ b.reason }}{{ b.source }}{{ b.expires_at || '永久' }}
Telegram 告警事件流水:正常→异常发一次,持续异常不重发,恢复时通知。告警渠道与规则在「系统设置」中配置。
暂无告警记录
时间类型级别标题状态错误
{{ a.created_at }}{{ alertTypeName(a.alert_type) }}{{ levelName(a.level) }} {{ a.title }} {{ alertStatusName(a.status) }} {{ a.error || '' }}
告警渠道/规则、调度与额度保护。额度上限填 0 = 不限制;修改后点对应保存按钮生效。 国内服务器发 Telegram 需配置代理(tg_proxy 或环境变量 HTTPS_PROXY),配置后请先「测试发送」验证。

通知渠道(Telegram)

告警规则

调度

额度保护(按节点数,0=不限制)