From 4779939424eb047d30161631fd89a9876104084c Mon Sep 17 00:00:00 2001
From: surbiks <43953720+surbiks@users.noreply.github.com>
Date: Tue, 10 Feb 2026 00:13:17 +0330
Subject: Add url speed test for outbound (#3767)
* add outbound testing functionality with configurable test URL
* use no kernel tun for conflict errors
---
web/html/settings/xray/basics.html | 163 +++++++++++++++++++++++-----------
web/html/settings/xray/outbounds.html | 77 +++++++++++++---
2 files changed, 176 insertions(+), 64 deletions(-)
(limited to 'web/html/settings/xray')
diff --git a/web/html/settings/xray/basics.html b/web/html/settings/xray/basics.html
index 71aa0d7c..9a31038a 100644
--- a/web/html/settings/xray/basics.html
+++ b/web/html/settings/xray/basics.html
@@ -4,18 +4,22 @@
-
+
{{ i18n "pages.xray.generalConfigsDesc" }}
{{ i18n "pages.xray.FreedomStrategy" }}
- {{ i18n "pages.xray.FreedomStrategyDesc" }}
+ {{ i18n "pages.xray.FreedomStrategyDesc"
+ }}
-
-
+
[[ s ]]
@@ -23,42 +27,63 @@
{{ i18n "pages.xray.RoutingStrategy" }}
- {{ i18n "pages.xray.RoutingStrategyDesc" }}
+ {{ i18n "pages.xray.RoutingStrategyDesc"
+ }}
-
-
+
[[ s ]]
+
+ {{ i18n "pages.xray.outboundTestUrl" }}
+ {{ i18n "pages.xray.outboundTestUrlDesc"
+ }}
+
+
+
+
- {{ i18n "pages.xray.statsInboundUplink" }}
- {{ i18n "pages.xray.statsInboundUplinkDesc" }}
+ {{ i18n "pages.xray.statsInboundUplink"
+ }}
+ {{ i18n "pages.xray.statsInboundUplinkDesc"
+ }}
- {{ i18n "pages.xray.statsInboundDownlink" }}
- {{ i18n "pages.xray.statsInboundDownlinkDesc" }}
+ {{ i18n "pages.xray.statsInboundDownlink"
+ }}
+ {{ i18n "pages.xray.statsInboundDownlinkDesc"
+ }}
- {{ i18n "pages.xray.statsOutboundUplink" }}
- {{ i18n "pages.xray.statsOutboundUplinkDesc" }}
+ {{ i18n "pages.xray.statsOutboundUplink"
+ }}
+ {{ i18n "pages.xray.statsOutboundUplinkDesc"
+ }}
- {{ i18n "pages.xray.statsOutboundDownlink" }}
- {{ i18n "pages.xray.statsOutboundDownlinkDesc" }}
+ {{ i18n "pages.xray.statsOutboundDownlink"
+ }}
+ {{ i18n
+ "pages.xray.statsOutboundDownlinkDesc" }}
@@ -68,16 +93,20 @@
-
+
{{ i18n "pages.xray.logConfigsDesc" }}
{{ i18n "pages.xray.logLevel" }}
- {{ i18n "pages.xray.logLevelDesc" }}
+ {{ i18n "pages.xray.logLevelDesc"
+ }}
-
+
[[ s ]]
@@ -86,10 +115,13 @@
{{ i18n "pages.xray.accessLog" }}
- {{ i18n "pages.xray.accessLogDesc" }}
+ {{ i18n "pages.xray.accessLogDesc"
+ }}
-
-
+
+
Empty
@@ -100,10 +132,13 @@
{{ i18n "pages.xray.errorLog" }}
- {{ i18n "pages.xray.errorLogDesc" }}
+ {{ i18n "pages.xray.errorLogDesc"
+ }}
-
-
+
+
Empty
@@ -114,11 +149,13 @@
{{ i18n "pages.xray.maskAddress" }}
- {{ i18n "pages.xray.maskAddressDesc" }}
+ {{ i18n "pages.xray.maskAddressDesc"
+ }}
-
-
+
Empty
@@ -139,7 +176,8 @@
-
+
{{ i18n "pages.xray.blockConfigsDesc" }}
@@ -153,17 +191,21 @@
-
- {{ i18n "pages.xray.blockConnectionsConfigsDesc" }}
+
+ {{ i18n "pages.xray.blockConnectionsConfigsDesc"
+ }}
{{ i18n "pages.xray.blockips" }}
-
-
+
[[ p.label ]]
@@ -172,28 +214,35 @@
{{ i18n "pages.xray.blockdomains" }}
-
-
+
[[ p.label ]]
-
+
-
- {{ i18n "pages.xray.directConnectionsConfigsDesc" }}
+
+ {{ i18n "pages.xray.directConnectionsConfigsDesc"
+ }}
{{ i18n "pages.xray.directips" }}
-
-
+
[[ p.label ]]
@@ -202,18 +251,22 @@
{{ i18n "pages.xray.directdomains" }}
-
-
+
[[ p.label ]]
-
+
-
+
{{ i18n "pages.xray.ipv4RoutingDesc" }}
@@ -221,18 +274,22 @@
{{ i18n "pages.xray.ipv4Routing" }}
-
-
+
[[ p.label ]]
-
+
-
+
{{ i18n "pages.xray.warpRoutingDesc" }}
@@ -241,20 +298,24 @@
{{ i18n "pages.xray.warpRouting" }}
-
-
+
[[ p.label ]]
- WARP
+ WARP
-
+
{{ i18n "pages.settings.resetDefaultConfig" }}
diff --git a/web/html/settings/xray/outbounds.html b/web/html/settings/xray/outbounds.html
index 1c099308..3995760f 100644
--- a/web/html/settings/xray/outbounds.html
+++ b/web/html/settings/xray/outbounds.html
@@ -4,17 +4,22 @@
- {{ i18n "pages.xray.outbound.addOutbound" }}
+ {{ i18n
+ "pages.xray.outbound.addOutbound" }}
- WARP
+ WARP
-
-
+
@@ -23,8 +28,10 @@
-
[[ index+1 ]]
@@ -32,7 +39,8 @@
e.preventDefault()" type="more"
:style="{ fontSize: '16px', textDecoration: 'bold' }">
-
+
{{ i18n "pages.xray.rules.first"}}
@@ -56,21 +64,64 @@
- [[ addr ]]
+ [[ addr ]]
- [[ outbound.protocol ]]
+ [[ outbound.protocol
+ ]]
- [[ outbound.streamSettings.network ]]
- tls
- [[
+ outbound.streamSettings.network ]]
+ tls
+ reality
[[ findOutboundTraffic(outbound) ]]
+
+
+ {{ i18n "pages.xray.outbound.test"
+ }}
+
+
+
+
+
+
+
+ [[ outboundTestStates[index].result.delay ]]ms
+
+ ([[ outboundTestStates[index].result.statusCode
+ ]])
+
+
+
+ Failed
+
+
+
+
+
+
+ -
+
{{end}}
\ No newline at end of file
--
cgit v1.2.3