Improve: display rule set payload

This commit is contained in:
Dreamacro 2020-06-07 18:03:37 +08:00
parent ab602f794e
commit 3acae645af
3 changed files with 13 additions and 8 deletions

View File

@ -8,6 +8,7 @@ import { StreamReader } from '@lib/streamer'
import { useObject, useVisible } from '@lib/hook' import { useObject, useVisible } from '@lib/hook'
import { noop } from '@lib/helper' import { noop } from '@lib/helper'
import { fromNow } from '@lib/date' import { fromNow } from '@lib/date'
import { RuleType } from '@models'
import { useConnections } from './store' import { useConnections } from './store'
import './style.scss' import './style.scss'
@ -111,7 +112,7 @@ export default function Connections () {
id: c.id, id: c.id,
host: `${c.metadata.host || c.metadata.destinationIP}:${c.metadata.destinationPort}`, host: `${c.metadata.host || c.metadata.destinationIP}:${c.metadata.destinationPort}`,
chains: c.chains.slice().reverse().join(' --> '), 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), time: fromNow(new Date(c.start), lang),
upload: formatTraffic(c.upload), upload: formatTraffic(c.upload),
download: formatTraffic(c.download), download: formatTraffic(c.download),

View File

@ -94,6 +94,7 @@ export interface Connections {
start: string start: string
chains: string[] chains: string[]
rule: string rule: string
rulePayload: string
} }
export async function getExternalControllerConfig () { export async function getExternalControllerConfig () {

View File

@ -9,11 +9,14 @@ export interface Rule {
} }
export enum RuleType { export enum RuleType {
'DOMAIN' = 'DOMAIN', Domain = 'Domain',
'DOMAIN-SUFFIX' = 'DOMAIN-SUFFIX', DomainSuffix = 'DomainSuffix',
'DOMAIN-KEYWORD' = 'DOMAIN-KEYWORD', DomainKeyword = 'DomainKeyword',
'GEOIP' = 'GEOIP', GeoIP = 'GeoIP',
'FINAL' = 'FINAL', IPCIDR = 'IPCIDR',
'IP-CIDR' = 'IP-CIDR', SrcIPCIDR = 'SrcIPCIDR',
'USER-AGENT' = 'USER-AGENT' SrcPort = 'SrcPort',
DstPort = 'DstPort',
MATCH = 'MATCH',
RuleSet = 'RuleSet'
} }