mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-28 22:17:13 +00:00
feat(tls,reality): port xray TLS/REALITY fields, cert-hash helpers, fallback UX
TLS: add verifyPeerCertByName (vcn) to inbound settings + emit in both share-link generators (frontend + Go sub) and outbound parser; the allowInsecure replacement xray removed after 2026-06-01. Add server-side curvePreferences, masterKeyLog, echSockopt (passthrough + form) at tlsSettings top-level so they survive the panel-only settings strip. REALITY: add limitFallbackUpload/Download (afterBytes/bytesPerSec/burstBytesPerSec) with per-field tooltips, plus masterKeyLog. Verified field names/semantics against pinned xray v1.260327.1 (bytesPerSec=0 disables). Hosts: fix verify_peer_cert_by_name column bool->string (xray expects comma-separated names) with an idempotent, history-gate-free migration (SQLite typeof blank; Postgres ALTER once); emit vcn for hosts/external proxies. Server: add getCertHash (local cert DER SHA-256) and getRemoteCertHash (xray tls ping) endpoints + api-docs; wire pinned-cert field buttons. Drop the meaningless random-hash button. Xray UI: metrics endpoint (listen/tag) config in Basics; import/export for routing rules and outbounds. Fallbacks card: compact empty state, header-aligned actions, responsive labeled grid rows. i18n: add all new keys to every locale; drop unused generateRandomPin.
This commit is contained in:
@@ -591,7 +591,6 @@
|
||||
"pinnedPeerCertSha256": "Sabitlenmiş Peer Sertifikası SHA-256",
|
||||
"pinnedPeerCertSha256Tip": "Peer sertifikasının SHA-256 hash'leri onaltılık (hex) dizge olarak (örn. e8e2d3…), virgülle ayrılmış. Sadece panel — sunucunun Xray yapılandırmasına yazılmaz, ancak kullanıcıların sertifikayı sabitleyebilmesi için paylaşım bağlantılarına eklenir.",
|
||||
"pinnedPeerCertSha256Placeholder": "onaltılık (hex) hash(ler), virgülle ayrılmış",
|
||||
"generateRandomPin": "Rastgele Hash Üret",
|
||||
"getNewEchCert": "Yeni ECH Sertifikası Al",
|
||||
"show": "Göster",
|
||||
"xver": "Xver",
|
||||
@@ -620,7 +619,28 @@
|
||||
"node": "Düğüm adresi",
|
||||
"listen": "Inbound dinleme adresi",
|
||||
"custom": "Özel"
|
||||
}
|
||||
},
|
||||
"echSockopt": "ECH Sockopt",
|
||||
"echSockoptTip": "Xray'in ECH yapılandırma listesini almak için kullandığı bağlantının soket seçenekleri (ör. aramayı bir dialerProxy giden bağlantısı üzerinden yönlendirme). Varsayılanları kullanmak için devre dışı bırakın.",
|
||||
"curvePreferences": "Eğri Tercihleri",
|
||||
"curvePreferencesTip": "Sunucunun sunduğu TLS anahtar değişim eğrilerini tercih sırasına göre kısıtlayın (ör. X25519MLKEM768, X25519). Xray-core varsayılanlarını kullanmak için boş bırakın.",
|
||||
"masterKeyLog": "Ana Anahtar Günlüğü",
|
||||
"masterKeyLogTip": "Wireshark ile hata ayıklama için TLS ana anahtarlarının yazılacağı yol (SSLKEYLOGFILE biçimi). Üretimde boş bırakın — dosyaya erişimi olan herkesin trafiği çözmesine olanak tanır.",
|
||||
"verifyPeerCertByName": "Peer sertifikasını ada göre doğrula",
|
||||
"verifyPeerCertByNameTip": "İstemcilere sunucu sertifikasını SNI yerine bu ada göre doğrulamalarını söyler. Adları virgülle ayırın. Yalnızca panele özgü — paylaşım bağlantılarına eklenir (vcn). Xray'in 2026-06-01 sonrası kaldırdığı allowInsecure'un modern karşılığıdır.",
|
||||
"pinFromCert": "Bu gelen bağlantının sertifikasından doldur",
|
||||
"pinFromRemote": "SNI'ye ping atarak hash'i al (xray tls ping)",
|
||||
"pinFromRemoteNoSni": "Uzak sertifikaya ping atmak için önce SNI'yi (serverName) ayarlayın.",
|
||||
"pinFromRemoteFailed": "Uzak sertifika hash'i alınamadı.",
|
||||
"limitFallback": "Fallback Sınırı",
|
||||
"limitFallbackUpload": "Fallback Yükleme Sınırı",
|
||||
"limitFallbackDownload": "Fallback İndirme Sınırı",
|
||||
"afterBytes": "Bayttan Sonra",
|
||||
"afterBytesTip": "Fallback'in bu kadar bayt boyunca tam hızda çalışmasına izin verin, ardından kısıtlamaya başlayın. 0 = ilk bayttan itibaren kısıtla.",
|
||||
"bytesPerSec": "Saniye Başına Bayt",
|
||||
"bytesPerSecTip": "Eşik aşıldıktan sonra fallback trafiğine uygulanan hız sınırı (bayt/sn); böylece sondalar sunucunuzu hedefe ücretsiz bant genişliği olarak kullanamaz. 0 = sınır yok (bu yönü devre dışı bırakır).",
|
||||
"burstBytesPerSec": "Saniye Başına Patlama Baytı",
|
||||
"burstBytesPerSecTip": "Sabit hızın üzerindeki kısa patlamalar için pay (token-bucket boyutu). Saniye Başına Bayt değerinden düşükse ona eşitlenecek şekilde yükseltilir."
|
||||
},
|
||||
"info": {
|
||||
"mode": "Mod",
|
||||
@@ -1334,6 +1354,14 @@
|
||||
"RoutingStrategyDesc": "Tüm istekleri çözmek için genel trafik yönlendirme stratejisini ayarlayın.",
|
||||
"outboundTestUrl": "Giden Bağlantı Test URL'si",
|
||||
"outboundTestUrlDesc": "Giden bağlantı bağlantı testinde kullanılan URL.",
|
||||
"importRules": "Kuralları İçe Aktar",
|
||||
"exportRules": "Kuralları Dışa Aktar",
|
||||
"importOutbounds": "Giden Bağlantıları İçe Aktar",
|
||||
"exportOutbounds": "Giden Bağlantıları Dışa Aktar",
|
||||
"importInvalidJson": "Geçersiz JSON — bir dizi veya eşleşen anahtara sahip bir nesne bekleniyordu.",
|
||||
"metricsListen": "Metrik Uç Noktası",
|
||||
"metricsListenDesc": "Xray'in Prometheus tarzı metriklerini bu adres:port üzerinde sunar (ör. 127.0.0.1:11111). Devre dışı bırakmak için boş bırakın. localhost'a bağlayın ve ters proxy ile sunun — kimlik doğrulaması yoktur.",
|
||||
"metricsTag": "Metrik Etiketi",
|
||||
"Torrent": "BitTorrent Protokolünü Engelle",
|
||||
"Inbounds": "Gelen Bağlantılar",
|
||||
"InboundsDesc": "Belirtilen istemcileri (clients) kabul eder.",
|
||||
@@ -1729,7 +1757,6 @@
|
||||
"alpn": "ALPN",
|
||||
"fingerprint": "Fingerprint",
|
||||
"pins": "Sabitlenmiş sertifika SHA-256",
|
||||
"verifyPeerCertByName": "Peer sertifikasını ada göre doğrula",
|
||||
"allowInsecure": "Güvensize izin ver",
|
||||
"echConfigList": "ECH yapılandırma listesi",
|
||||
"muxParams": "Mux",
|
||||
@@ -1741,7 +1768,8 @@
|
||||
"shuffleHost": "Host'u karıştır",
|
||||
"tags": "Etiketler",
|
||||
"nodeGuids": "Düğümler",
|
||||
"excludeFromSubTypes": "Formatlardan hariç tut"
|
||||
"excludeFromSubTypes": "Formatlardan hariç tut",
|
||||
"verifyPeerCertByName": "Peer sertifikasını ada göre doğrula"
|
||||
},
|
||||
"hints": {
|
||||
"address": "Gelen bağlantının kendi adresini devralmak için boş bırakın.",
|
||||
@@ -2015,4 +2043,4 @@
|
||||
"statusDown": "ÇEVRİMDIŞI",
|
||||
"statusUp": "ÇEVRİMİÇİ"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user