From 3acae645af66c37db9198abbca254947b7b7b915 Mon Sep 17 00:00:00 2001 From: Dreamacro <305009791@qq.com> Date: Sun, 7 Jun 2020 18:03:37 +0800 Subject: [PATCH] Improve: display rule set payload --- src/containers/Connections/index.tsx | 3 ++- src/lib/request.ts | 1 + src/models/Rule.ts | 17 ++++++++++------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/containers/Connections/index.tsx b/src/containers/Connections/index.tsx index 64e31e3..21e79f8 100644 --- a/src/containers/Connections/index.tsx +++ b/src/containers/Connections/index.tsx @@ -8,6 +8,7 @@ import { StreamReader } from '@lib/streamer' import { useObject, useVisible } from '@lib/hook' import { noop } from '@lib/helper' import { fromNow } from '@lib/date' +import { RuleType } from '@models' import { useConnections } from './store' import './style.scss' @@ -111,7 +112,7 @@ export default function Connections () { id: c.id, host: `${c.metadata.host || c.metadata.destinationIP}:${c.metadata.destinationPort}`, chains: c.chains.slice().reverse().join(' --> '), - rule: c.rule, + rule: c.rule === RuleType.RuleSet ? `${c.rule}(${c.rulePayload})` : c.rule, time: fromNow(new Date(c.start), lang), upload: formatTraffic(c.upload), download: formatTraffic(c.download), diff --git a/src/lib/request.ts b/src/lib/request.ts index f350dbf..193e757 100644 --- a/src/lib/request.ts +++ b/src/lib/request.ts @@ -94,6 +94,7 @@ export interface Connections { start: string chains: string[] rule: string + rulePayload: string } export async function getExternalControllerConfig () { diff --git a/src/models/Rule.ts b/src/models/Rule.ts index fd0352b..a396181 100644 --- a/src/models/Rule.ts +++ b/src/models/Rule.ts @@ -9,11 +9,14 @@ export interface Rule { } export enum RuleType { - 'DOMAIN' = 'DOMAIN', - 'DOMAIN-SUFFIX' = 'DOMAIN-SUFFIX', - 'DOMAIN-KEYWORD' = 'DOMAIN-KEYWORD', - 'GEOIP' = 'GEOIP', - 'FINAL' = 'FINAL', - 'IP-CIDR' = 'IP-CIDR', - 'USER-AGENT' = 'USER-AGENT' + Domain = 'Domain', + DomainSuffix = 'DomainSuffix', + DomainKeyword = 'DomainKeyword', + GeoIP = 'GeoIP', + IPCIDR = 'IPCIDR', + SrcIPCIDR = 'SrcIPCIDR', + SrcPort = 'SrcPort', + DstPort = 'DstPort', + MATCH = 'MATCH', + RuleSet = 'RuleSet' }