{{ list.name }}
{{ cidr }}
vpnchain
{{ error }}
{{ notice }}
| Сервер | SSH | WireGuard | Health | |
|---|---|---|---|---|
| {{ server.name }} {{ server.id }} | {{ server.ssh_user }}@{{ server.address }}:{{ server.ssh_port }} | {{ server.wireguard.tunnel_address }} {{ shortKey(server.wireguard.public_key) || 'public key отсутствует' }} 🔒 {{ server.ssh_fingerprint }} | {{ server.health.status || 'unknown' }} {{ formatTime(server.health.checked_at) }} · {{ server.health.latency_ms }} ms ● выполняется операция… {{ server.last_operation.action }}: {{ server.last_operation.state }} | |
| Нет серверов | ||||
| Цепочка | Правило | Client | Last apply | |
|---|---|---|---|---|
| {{ chain.name }} entry: {{ serverName(chain.entry_server_id) }} |
{{ serverName(rule.source_server_id) }} → {{ serverName(rule.next_server_id) }}
{{ cidrName(rule.cidr_list_id) }} · fallback {{ rule.fallback }}
|
{{ chain.client_cidr }} {{ chain.client_peers.length }} peer(s) | {{ chain.last_applied_at ? formatTime(chain.last_applied_at) : 'never' }} {{ chain.last_apply_error }} | |
| Нет цепочек | ||||
Задач пока нет
{{ (activeJobLog.log || []).join('\n') || 'нет строк лога' }}
{{ activeJobLog.message }}
Выберите задачу слева, чтобы увидеть лог
{{ JSON.stringify({servers, cidrLists, chains}, null, 2) }}