{{ headModal.text }}
| 加入 | 节点ID | 省/市 | 运营商 | 节点IP |
|---|---|---|---|---|
| {{ n.node_id }} | {{ proName(n.pro_id) }}/{{ cityName(n.city_id) }} | {{ ispName(n.isp) }} | {{ n.ip }} |
| 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) }} |
| ID | URL | 启用 | 间隔 | 最近状态 | 成功率 | 耗时 | 最近检测 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ 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) : '-' }} |
Nodes 精确到点。被永久拉黑的节点会自动跳过。| 监测点 {{ sortArrow('isp') }} | 解析IP | 所在地 | HTTP {{ sortArrow('http_code') }} | 总时间 {{ sortArrow('total_time') }} | 解析 | 连接 | 首字节 {{ sortArrow('ttfb') }} | 下载 {{ sortArrow('down_time') }} | 大小 {{ sortArrow('file_size') }} | 速度 | IP | 内容 | 故障 {{ sortArrow('fail_type') }} | 错误 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ ispName(res.isp) }} / {{ res.pro_id ? proName(res.pro_id) : '-' }}过滤 | {{ res.resolved_ip || '-' }} | {{ res.resolved_ip_from || '-' }} | {{ res.http_code ?? '-' }} | {{ fmtS(res.total_time) }} | {{ fmtS(res.nslookup) }} | {{ fmtS(res.connect_time) }} | {{ fmtS(res.ttfb) }} | {{ fmtS(res.down_time) }} | {{ fmtBytes(res.file_size) }} | {{ fmtSpeed(res.file_size, res.down_time) }} | {{ res.ip_match == null ? '-' : (res.ip_match == 1 ? '✓' : '✗') }} | {{ res.body_match == null ? '-' : (res.body_match == 1 ? '✓' : '✗') }} | {{ failTag(res.fail_type).text }} |
| 运营商 | 节点 | 成功率 | 污染 | 劫持 | 超时 | 连接失败 | 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 }} |
| 省份 | ISP | 解析IP | 归属地 | 状态码 | 大小(KB) |
|---|---|---|---|---|---|
| {{ n.pro }} | {{ n.isp }} | {{ n.ip || '-' }} | {{ n.loc || '-' }} | {{ n.code || '-' }} | {{ n.size != null ? n.size.toFixed(2) : '-' }} |
| 线路 | 最快节点 | 最慢节点 | 平均 |
|---|---|---|---|
| {{ s.line }} | {{ s.fastest }} | {{ s.slowest }} | {{ s.avg }} |
| 节点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 || '永久' }} |
| 时间 | 类型 | 级别 | 标题 | 状态 | 错误 |
|---|---|---|---|---|---|
| {{ a.created_at }} | {{ alertTypeName(a.alert_type) }} | {{ levelName(a.level) }} | {{ a.title }} | {{ alertStatusName(a.status) }} | {{ a.error || '' }} |