{% extends "base.html" %}
{% from "_macros.html" import th %}
{% block title %}代理 Proxy · 爬虫控制台{% endblock %}
{% block content %}
代理与出口 Proxy / Egress
{% if msg %}{{ msg }}
{% endif %}
{% if err %}✗ {{ err }}
{% endif %}
{% if not mgmt_ready %}
管理操作已禁用 Management actions are disabled — 面板环境未设置 PROXY_CONTROL_URL。
本页面为只读 This page is read-only;下方的出口可观测性仍来自共享主库 egress observability below still reflects the shared master DB.
{% endif %}
出口健康(每 数据源 × 代理) Egress health (per source × proxy)
冷表快照(近实时)Cold-table snapshot (near-realtime);热状态在 proxy-redis hot state lives in proxy-redis.
提供商 Providers
{{ th('提供商', 'Provider') }}{{ th('活跃', 'Active') }}{{ th('退役', 'Retired') }}
{% for pr in providers %}
{{ pr.name }} {{ pr.active }} {{ pr.retired }}
{% else %}
没有提供商所有的代理行 No provider-owned proxy rows.
{% endfor %}
导入静态端点 Import static endpoints
地址 Addresses
{{ th('ID') }}{{ th('提供商', 'Provider') }}{{ th('端点', 'Endpoint') }}{{ th('凭证', 'Auth') }}{{ th('状态', 'Status') }}
{% for p in proxies %}
{{ p.id }}
{{ p.provider }}
{{ p.scheme }}://{{ p.ip }}:{{ p.port }}
{{ p.auth_masked }}
{{ p.status }}
{% if mgmt_ready %}
{{ '退役 Retire' if p.status == 'active' else '重新启用 Reactivate' }}
{% endif %}
{% else %}
没有代理行 No proxy rows.
{% endfor %}
封禁规则(只读) Ban rules (read-only)
{{ th('数据源', 'Source') }}{{ th('类型', 'Type') }}{{ th('模式串', 'Pattern') }}{{ th('分类', 'Class') }}{{ th('启用', 'Enabled') }}
{% for r in ban_rules %}
{{ r.source }} {{ r.rule_type }}
{{ r.pattern }}
{{ r.classification }}
{{ '✓' if r.enabled else '✗' }}
{% else %}
没有注册封禁规则 No ban rules registered.
{% endfor %}
{% endblock %}