From 2d61f45372ac65a01aa9f51fe010cfdee53d9d46 Mon Sep 17 00:00:00 2001 From: kunish Date: Wed, 6 Sep 2023 11:55:12 +0800 Subject: [PATCH] feat(connections): split source info into sourceIP and sourcePort --- src/constants/index.ts | 3 ++- src/i18n/en.ts | 5 +++-- src/i18n/zh.ts | 5 +++-- src/pages/Config.tsx | 10 ++++++---- src/pages/Connections.tsx | 16 +++++++++------- src/signals/config.ts | 4 ++-- src/signals/proxies.ts | 4 ++-- 7 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/constants/index.ts b/src/constants/index.ts index 869c1d8..f9712bb 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -122,7 +122,8 @@ export enum CONNECTIONS_TABLE_ACCESSOR_KEY { Download = 'dl', Upload = 'ul', ConnectTime = 'connectTime', - Source = 'source', + SourceIP = 'sourceIP', + SourcePort = 'sourcePort', Destination = 'destination', } diff --git a/src/i18n/en.ts b/src/i18n/en.ts index fe38ca8..cba333a 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -30,7 +30,8 @@ export default { ulSpeed: 'UL Speed', dl: 'DL', ul: 'UL', - source: 'Source', + sourceIP: 'Source IP', + sourcePort: 'Source Port', destination: 'Destination', close: 'Close', reset: 'Reset', @@ -66,6 +67,6 @@ export default { lg: 'Large size', switchEndpoint: 'Switch Endpoint', switchLanguage: 'Switch Language', - speedtestTimeoutDuration: 'Speedtest Timeout Duration', + latencyTestTimeoutDuration: 'Latency Test Timeout Duration', closedConnections: 'Closed Connections', } diff --git a/src/i18n/zh.ts b/src/i18n/zh.ts index dc22a93..e1f24e2 100644 --- a/src/i18n/zh.ts +++ b/src/i18n/zh.ts @@ -30,7 +30,8 @@ export default { ulSpeed: '上传速度', dl: '下载量', ul: '上传量', - source: '源地址', + sourceIP: '源地址', + sourcePort: '源端口', destination: '目标地址', close: '关闭', reset: '重置', @@ -66,6 +67,6 @@ export default { lg: '超大尺寸', switchEndpoint: '切换后端', switchLanguage: '切换语言', - speedtestTimeoutDuration: '测速超时时间', + latencyTestTimeoutDuration: '测速超时时间', closedConnections: '已关闭连接', } diff --git a/src/pages/Config.tsx b/src/pages/Config.tsx index 0aa6d28..3c22093 100644 --- a/src/pages/Config.tsx +++ b/src/pages/Config.tsx @@ -26,6 +26,7 @@ import { autoSwitchTheme, favDayTheme, favNightTheme, + latencyTestTimeoutDuration, proxiesOrderingType, proxiesPreviewType, renderInTwoColumn, @@ -34,16 +35,15 @@ import { setAutoSwitchTheme, setFavDayTheme, setFavNightTheme, + setLatencyTestTimeoutDuration, setProxiesOrderingType, setProxiesPreviewType, setRenderInTwoColumn, setRenderProxiesInSamePage, setSelectedEndpoint, - setSpeedtestTimeoutDuration, setTableSize, setTwemoji, setUrlForLatencyTest, - speedtestTimeoutDuration, tableSize, urlForLatencyTest, useRequest, @@ -240,8 +240,10 @@ const ConfigForm = () => { setSpeedtestTimeoutDuration(Number(e.target.value))} + value={latencyTestTimeoutDuration()} + onChange={(e) => + setLatencyTestTimeoutDuration(Number(e.target.value)) + } /> diff --git a/src/pages/Connections.tsx b/src/pages/Connections.tsx index f80c65a..997b243 100644 --- a/src/pages/Connections.tsx +++ b/src/pages/Connections.tsx @@ -27,7 +27,6 @@ import { } from '@tanstack/solid-table' import byteSize from 'byte-size' import dayjs from 'dayjs' -import { isIPv6 } from 'is-ip' import { differenceWith, isEqualWith } from 'lodash' import { For, createEffect, createMemo, createSignal, untrack } from 'solid-js' import { twMerge } from 'tailwind-merge' @@ -260,12 +259,14 @@ export default () => { sortingFn: (prev, next) => prev.original.upload - next.original.upload, }, { - header: () => t('source'), - accessorKey: CONNECTIONS_TABLE_ACCESSOR_KEY.Source, - accessorFn: (row) => - isIPv6(row.metadata.sourceIP) - ? `[${row.metadata.sourceIP}]:${row.metadata.sourcePort}` - : `${row.metadata.sourceIP}:${row.metadata.sourcePort}`, + header: () => t('sourceIP'), + accessorKey: CONNECTIONS_TABLE_ACCESSOR_KEY.SourceIP, + accessorFn: (row) => row.metadata.sourceIP, + }, + { + header: () => t('sourcePort'), + accessorKey: CONNECTIONS_TABLE_ACCESSOR_KEY.SourcePort, + accessorFn: (row) => row.metadata.sourcePort, }, { header: () => t('destination'), @@ -468,6 +469,7 @@ export default () => { )} +
{flexRender( cell.column.columnDef.cell, diff --git a/src/signals/config.ts b/src/signals/config.ts index 42e3554..9240380 100644 --- a/src/signals/config.ts +++ b/src/signals/config.ts @@ -76,9 +76,9 @@ export const tableSizeClassName = (size: TAILWINDCSS_SIZE) => { return className } -export const [speedtestTimeoutDuration, setSpeedtestTimeoutDuration] = +export const [latencyTestTimeoutDuration, setLatencyTestTimeoutDuration] = makePersisted(createSignal(2000), { - name: 'speedtestTimeoutDuration', + name: 'latencyTestTimeoutDuration', storage: localStorage, }) diff --git a/src/signals/proxies.ts b/src/signals/proxies.ts index 858e86d..157d595 100644 --- a/src/signals/proxies.ts +++ b/src/signals/proxies.ts @@ -1,7 +1,7 @@ import { createSignal } from 'solid-js' import { autoCloseConns, - speedtestTimeoutDuration, + latencyTestTimeoutDuration, urlForLatencyTest, useRequest, } from '~/signals' @@ -98,7 +98,7 @@ export const useProxies = () => { .get(`group/${proxyGroupName}/delay`, { searchParams: { url: urlForLatencyTest(), - timeout: speedtestTimeoutDuration(), + timeout: latencyTestTimeoutDuration(), }, }) .json()