mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-24 08:12:19 +07:00
feat(reality): add live REALITY target scanner with IP/CIDR discovery
Replace the static reality-targets list with a server-side TLS 1.3 probe that checks TLS 1.3 + HTTP/2 + X25519 + a trusted certificate. - Single-domain validate auto-fills target and serverNames from the cert SAN - Discovery scans an IP/CIDR without SNI to find new targets from their certificates, deduped and ranked by feasibility then latency, private-IP guarded via netsafe - New endpoints scanRealityTarget and scanRealityTargets with RealityScanResult, plus openapigen and api-docs entries - Add scanner strings to all 13 locales - Replace deprecated AntD Alert message prop with title across the panel
This commit is contained in:
@@ -474,6 +474,9 @@
|
||||
"getNewX25519CertError": "Помилка при отриманні сертифіката X25519.",
|
||||
"getNewmldsa65Error": "Помилка при отриманні сертифіката mldsa65.",
|
||||
"getNewVlessEncError": "Помилка при отриманні сертифіката VlessEnc.",
|
||||
"scanRealityTargetError": "Не вдалося просканувати ціль REALITY.",
|
||||
"scanRealityTargetFeasible": "Ціль підходить — поля target і SNI заповнено.",
|
||||
"scanRealityTargetNotFeasible": "Ціль доступна, але не підходить для REALITY.",
|
||||
"invalidClientField": "Клієнт {client}: поле {field} — {reason}",
|
||||
"invalidField": "{field} — {reason}",
|
||||
"moreIssues": "{message} (+{count} ще)"
|
||||
@@ -623,6 +626,20 @@
|
||||
"realityTargetRequired": "Ціль REALITY обов'язкова",
|
||||
"realityTargetNeedsPort": "Ціль REALITY має містити порт (напр., example.com:443)",
|
||||
"realityTargetInvalidPort": "Ціль REALITY має недійсний порт",
|
||||
"scan": "Сканувати",
|
||||
"findTargets": "Знайти цілі",
|
||||
"scanModalTitle": "Сканер цілей REALITY",
|
||||
"scanModalDesc": "Перевірте домен або проскануйте діапазон IP / CIDR, щоб виявити нові цілі REALITY за їхніми сертифікатами. Залиште поле порожнім для перевірки звичайних кандидатів.",
|
||||
"scanDiscoverPlaceholder": "IP, CIDR або домен — порожнє для звичайних кандидатів",
|
||||
"scanStatus": "Статус",
|
||||
"scanFeasible": "Підходить",
|
||||
"scanNotFeasible": "Не підходить",
|
||||
"scanCurve": "Обмін ключами",
|
||||
"scanCert": "Сертифікат",
|
||||
"scanCertInvalid": "Ненадійний",
|
||||
"scanLatency": "Затримка",
|
||||
"scanUse": "Обрати",
|
||||
"scanRescan": "Пересканувати",
|
||||
"spiderX": "SpiderX",
|
||||
"getNewCert": "Отримати новий сертифікат",
|
||||
"mldsa65Seed": "mldsa65 Seed",
|
||||
|
||||
Reference in New Issue
Block a user