diff --git a/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts b/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts index 9a2edf4..bd8e2bc 100644 --- a/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts +++ b/fe-app-podkop/src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts @@ -40,21 +40,43 @@ export async function runSectionsCheck() { section.code, ); + const selectedOutbound = section.outbounds.find( + (item) => item.selected, + ); + const isUrlTest = selectedOutbound?.type === 'URLTest'; + const success = latencyGroup.success && !latencyGroup.data.message; if (success) { - const latency = Object.values(latencyGroup.data) - .map((item) => (item ? `${item}ms` : 'n/a')) - .join(' / '); + if (isUrlTest) { + const latency = Object.values(latencyGroup.data) + .map((item) => (item ? `${item}ms` : 'n/a')) + .join(' / '); + + return { + success: true, + latency: `[${_('Fastest')}] ${latency}`, + }; + } + + const selectedProxyDelay = + latencyGroup.data?.[selectedOutbound?.code ?? '']; + + if (selectedProxyDelay) { + return { + success: true, + latency: `[${selectedOutbound?.code ?? ''}] ${selectedProxyDelay}ms`, + }; + } return { - success: true, - latency, + success: false, + latency: `[${selectedOutbound?.code ?? ''}] ${_('Not responding')}`, }; } return { - success: true, + success: false, latency: _('Not responding'), }; } diff --git a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js index 7147f63..37ccc9a 100644 --- a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js +++ b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js @@ -3736,16 +3736,33 @@ async function runSectionsCheck() { const latencyGroup = await PodkopShellMethods.getClashApiGroupLatency( section.code ); + const selectedOutbound = section.outbounds.find( + (item) => item.selected + ); + const isUrlTest = selectedOutbound?.type === "URLTest"; const success3 = latencyGroup.success && !latencyGroup.data.message; if (success3) { - const latency2 = Object.values(latencyGroup.data).map((item) => item ? `${item}ms` : "n/a").join(" / "); + if (isUrlTest) { + const latency2 = Object.values(latencyGroup.data).map((item) => item ? `${item}ms` : "n/a").join(" / "); + return { + success: true, + latency: `[${_("Fastest")}] ${latency2}` + }; + } + const selectedProxyDelay = latencyGroup.data?.[selectedOutbound?.code ?? ""]; + if (selectedProxyDelay) { + return { + success: true, + latency: `[${selectedOutbound?.code ?? ""}] ${selectedProxyDelay}ms` + }; + } return { - success: true, - latency: latency2 + success: false, + latency: `[${selectedOutbound?.code ?? ""}] ${_("Not responding")}` }; } return { - success: true, + success: false, latency: _("Not responding") }; }