diff --git a/packages/gui/src/view/pages/server.vue b/packages/gui/src/view/pages/server.vue
index cc68cae..db49d97 100644
--- a/packages/gui/src/view/pages/server.vue
+++ b/packages/gui/src/view/pages/server.vue
@@ -200,8 +200,8 @@
{{ element.host }}
- {{ element.time }}{{ element.time ? 'ms' : '' }}
+ :color="element.time?'green':'red'" :key='index'>
+ {{ element.host }} {{ element.time }}{{ element.time ? 'ms' : '' }} {{ element.dns }}
diff --git a/packages/mitmproxy/src/lib/speed/SpeedTester.js b/packages/mitmproxy/src/lib/speed/SpeedTester.js
index a93ca58..8fcc1e7 100644
--- a/packages/mitmproxy/src/lib/speed/SpeedTester.js
+++ b/packages/mitmproxy/src/lib/speed/SpeedTester.js
@@ -111,7 +111,18 @@ class SpeedTester {
_.merge(item, ret)
aliveList.push({ ...ret, ...item })
aliveList.sort((a, b) => a.time - b.time)
- this.backupList.sort((a, b) => a.time - b.time)
+ this.backupList.sort((a, b) => {
+ if (a.time === b.time) {
+ return 0
+ }
+ if (a.time == null) {
+ return 1
+ }
+ if (b.time == null) {
+ return -1
+ }
+ return a.time - b.time
+ })
} catch (e) {
if (e.message !== 'timeout') {
log.warn('[speed] test error: ', this.hostname, `➜ ${item.host}:${item.port} from DNS '${item.dns}'`, ', errorMsg:', e.message)