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 { 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),

View File

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

View File

@ -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'
}