mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-15 07:40:59 +00:00
feat: Add outbound egress metadata (IP + country) (#5886)
* Add outbound egress metadata Show egress IP and country information for outbound HTTP tests. The probe reuses the temporary SOCKS route from the existing HTTP test and fetches Cloudflare trace metadata after the reachability check succeeds. The outbound list now adds separate Egress and Country columns, hides egress IPs until the user reveals them, and marks Cloudflare WARP results with an orange cloud pill. Mobile cards keep the same data compact by placing the country and IPv4/IPv6 values on separate lines. Validation: npm run typecheck; npm run lint; npm run build; go test ./internal/web/service/outbound * Use context-aware DNS lookup for egress trace * Address outbound egress review feedback Restore the Real Delay selector and TCP default so the egress metadata change does not remove an existing test mode. Keep HTTP probe tests hermetic by stubbing egress trace lookups, run IPv4 and IPv6 trace fetches concurrently with a shorter diagnostic timeout, scope mobile IP reveal state per row, support keyboard activation for reveal toggles, and treat WARP+ trace values as WARP-like.
This commit is contained in:
@@ -1622,6 +1622,8 @@
|
||||
"tag": "الوسم",
|
||||
"tagDesc": "تاج فريد",
|
||||
"address": "العنوان",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "عكسي",
|
||||
"domain": "النطاق",
|
||||
"type": "النوع",
|
||||
|
||||
@@ -1739,6 +1739,8 @@
|
||||
"tag": "Tag",
|
||||
"tagDesc": "Unique Tag",
|
||||
"address": "Address",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Reverse",
|
||||
"domain": "Domain",
|
||||
"type": "Type",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Etiqueta",
|
||||
"tagDesc": "etiqueta única",
|
||||
"address": "Dirección",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Reverso",
|
||||
"domain": "Dominio",
|
||||
"type": "Tipo",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "تگ",
|
||||
"tagDesc": "برچسب یگانه",
|
||||
"address": "آدرس",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "معکوس",
|
||||
"domain": "دامنه",
|
||||
"type": "نوع",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Tag",
|
||||
"tagDesc": "Tag Unik",
|
||||
"address": "Alamat",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Revers",
|
||||
"domain": "Domain",
|
||||
"type": "Tipe",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "タグ",
|
||||
"tagDesc": "一意のタグ",
|
||||
"address": "アドレス",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "リバース",
|
||||
"domain": "ドメイン",
|
||||
"type": "タイプ",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Tag",
|
||||
"tagDesc": "Tag Única",
|
||||
"address": "Endereço",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Reverso",
|
||||
"domain": "Domínio",
|
||||
"type": "Tipo",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Тег",
|
||||
"tagDesc": "Уникальный тег",
|
||||
"address": "Адрес",
|
||||
"egress": "Выход",
|
||||
"egressHint": "Запустите HTTP-тест, чтобы показать выходной IP и страну.",
|
||||
"reverse": "Реверс-прокси",
|
||||
"domain": "Домен",
|
||||
"type": "Тип",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Etiket",
|
||||
"tagDesc": "Benzersiz Etiket",
|
||||
"address": "Adres",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Ters",
|
||||
"domain": "Alan Adı",
|
||||
"type": "Tür",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Тег",
|
||||
"tagDesc": "Унікальний тег",
|
||||
"address": "Адреса",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Зворотний",
|
||||
"domain": "Домен",
|
||||
"type": "Тип",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "Tag",
|
||||
"tagDesc": "thẻ duy nhất",
|
||||
"address": "Địa chỉ",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "Đảo ngược",
|
||||
"domain": "Tên miền",
|
||||
"type": "Loại",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "标签",
|
||||
"tagDesc": "唯一标签",
|
||||
"address": "地址",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "反向",
|
||||
"domain": "域名",
|
||||
"type": "类型",
|
||||
|
||||
@@ -1622,6 +1622,8 @@
|
||||
"tag": "標籤",
|
||||
"tagDesc": "唯一標籤",
|
||||
"address": "地址",
|
||||
"egress": "Egress",
|
||||
"egressHint": "Run an HTTP test to show egress IP and country.",
|
||||
"reverse": "反向",
|
||||
"domain": "網域",
|
||||
"type": "類型",
|
||||
|
||||
Reference in New Issue
Block a user