This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cyber-narrator-cn-ui/src/utils/constants.js

2434 lines
203 KiB
JavaScript
Raw Normal View History

2021-06-11 10:00:22 +08:00
export const defaultPageSize = 20
2023-08-09 18:32:52 +08:00
export const defaultLang = 'en'
2023-01-17 17:56:44 +08:00
// indexedDB库名
2022-08-19 10:06:27 +08:00
export const dbName = 'cn-db'
2023-01-17 17:56:44 +08:00
// indexedDB表名
2022-08-19 10:06:27 +08:00
export const dbGeoDataTableName = 'geodata'
export const dbDrilldownTableConfig = 'cn-drilldown-table-config'
export const dbTableColumnCustomizeConfigPre = 'cn-table-column-customize-config'
export const dbUserTableColumnCustomizeConfig = 'cn-table-column-customize-config-userTable'
export const dbRoleTableColumnCustomizeConfig = 'cn-table-column-customize-config-rolesTable'
export const dbOperationLogTableColumnCustomizeConfig = 'cn-table-column-customize-config-operationLogTable'
export const dbChartTableColumnCustomizeConfig = 'cn-table-column-customize-config-chartTable'
export const dbI18nTableColumnCustomizeConfig = 'cn-table-column-customize-config-i18nTable'
export const dbReportTableColumnCustomizeConfig = 'cn-table-column-customize-config-reportTable'
export const dbGalaxySettingTableColumnCustomizeConfig = 'cn-table-column-customize-config-galaxySettingTable'
export const storageKey = {
2021-07-05 17:40:43 +08:00
iso36112Capital: 'cn-iso3611-2-capital',
iso36112WorldLow: 'cn-iso3611-2-world-low',
s3Enable: 'cn-s3-enable',
languages: 'cn-languages',
language: 'cn-language',
theme: 'cn-theme',
dateFormat: 'cn-date-format',
timezoneOffset: 'cn-timezone-offset',
timezoneLocalOffset: 'cn-timezone-local-offset',
token: 'cn-token',
username: 'cn-username',
2022-08-04 12:03:15 +08:00
userId: 'cn-userId',
sysName: 'cn-sys-name',
sysLogo: 'cn-sys-logo',
pageSize: 'cn-pageSize',
sysTimezone: 'cn-sys-timezone',
tableTitle: 'cn-tableTitle',
dataRangeHistory: 'date-range-history',
tableTitlePrefix: 'cn-table-title',
tablePageSizePrefix: 'cn-page-size',
leftMenuShrink: 'cn-left-menu-shrink',
2022-01-26 17:44:24 +08:00
unsavedChange: 'cn-unsaved-change',
entitySearchHistory: 'cn-entity-search-history',
echartLegendFontSize: 'echartLegendFontSize',
echartLabelFontSize: 'echartLabelFontSize',
tokenExpireCurrentPath: 'token-expire-current-path',
drillDownTableConfig: 'drilldownTableConfig',
2022-09-26 10:07:21 +08:00
userCustomizationConfig: 'userCustomizationConfig',
linkInfo: 'cn-link-info',
2022-12-08 10:13:45 +08:00
history: 'cn-history'
}
2022-08-19 10:06:27 +08:00
export const largeCountryList = ['CN', 'US', 'RU', 'AU', 'CA', 'KZ', 'IN', 'BR']
2021-06-11 10:00:22 +08:00
// 统一定义跳转来源
export const fromRoute = {
trafficSummary: 'trafficSummary',
2021-06-11 23:00:33 +08:00
networkAppPerformance: 'networkAppPerformance',
dnsServiceInsights: 'dnsServiceInsights',
2021-09-02 17:12:27 +08:00
user: 'user',
galaxyProxy: 'galaxyProxy',
2021-12-03 09:47:37 +08:00
chart: 'chart',
cryptocurrency: 'cryptocurrency',
builtinReport: 'builtinReport'
2021-06-11 10:00:22 +08:00
}
/* panel类别和名称之间的映射 */
2021-06-11 23:00:33 +08:00
export const panelTypeAndRouteMapping = {
2022-07-06 21:08:12 +08:00
networkOverview: 1,
networkOverviewDrillDown: 13,
2021-06-11 23:00:33 +08:00
networkAppPerformance: 2,
2021-08-02 13:22:15 +08:00
dnsServiceInsights: 3,
/* ipEntityDetail: 4,
2021-08-02 13:22:15 +08:00
domainEntityDetail: 5,
appEntityDetail: 6, */
2023-04-25 16:04:20 +08:00
ipEntityDetail: 21,
domainEntityDetail: 22,
appEntityDetail: 23,
2022-08-11 15:49:41 +08:00
cryptocurrency: 7,
2022-09-10 23:13:42 +08:00
ipDrillDownTest: 8,
2022-09-13 14:51:44 +08:00
linkMonitor: 14,
linkMonitorDrillDown: 15
2021-06-11 23:00:33 +08:00
}
2021-10-24 20:23:24 +08:00
/* operationLog state 执行状态属性 值与名称之间的映射 */
export const operationLogStateMapping = {
success: 1,
fail: 0
}
2021-06-11 10:00:22 +08:00
export const position = {
tableHeight: {
normal: 'calc(100% - 48px)' // 常规高度,特例在下方定义
}
}
2021-06-21 20:33:39 +08:00
2021-07-07 22:58:52 +08:00
export const entityType = {
2021-11-09 14:03:40 +08:00
app: 'APP',
2021-07-07 22:58:52 +08:00
domain: 'Domain',
2021-11-09 14:03:40 +08:00
ip: 'IP'
2021-07-07 22:58:52 +08:00
}
export const entityDetailTabsName = {
informationAggregation: 'informationAggregation',
2023-06-16 17:18:58 +08:00
relatedEntity: 'relatedEntity',
openPort: 'openPort',
digitalCertificate: 'digitalCertificate',
securityEvent: 'securityEvent',
performanceEvent: 'performanceEvent'
}
export const entityDetailRelatedEntitiesShowSize = 100
export const echartsFontSize = {
legendFirstFontSize: 12, // <1920
legendSecondFontSize: 14, // >=1920 && <2560
legendThirdFontSize: 16, // >=2560
labelFirstFontSize: 12, // <1920
labelSecondFontSize: 12, // >=1920 && <2560
labelThirdFontSize: 14// >=2560
}
export const unitTypes = {
time: 'time',
number: 'number',
byte: 'byte',
2022-04-06 14:48:46 +08:00
bps: 'bps',
string: 'string',
percent: 'percent',
qps: 'qps'
}
2021-06-21 20:33:39 +08:00
export const chartTableDefaultPageSize = 10 // table类型图表默认每页数据量
export const chartTableTopOptions = [10, 100] // table类型图表的TOP-N选项
export const chartActiveIpTableOrderOptions = ['machine'] // active ip table类型图表的order 选项
// table类型图表column映射
export const chartTableColumnMapping = {
sessions: 'overall.sessions',
packets: 'overall.packets',
bytes: 'overall.bytes',
clientIp: 'overall.clientIp',
serverIp: 'overall.serverIp',
domain: 'overall.domain',
appName: 'overall.appName',
2022-03-31 16:44:16 +08:00
dnsQname: 'QName',
queryRate: 'dns.queryRate',
2022-03-07 16:15:55 +08:00
queryCount: 'dns.queryCount',
dnsLatency: 'dns.averageResolveLatency',
2022-04-06 22:31:06 +08:00
responseFailRate: 'dns.responseFailureRate',
ip: 'IP'
}
2023-03-16 19:07:37 +08:00
export const commonErrorTip = 'Something went wrong...'
export const chartTableOrderOptionsMapping = {
lastTime: 'last_time',
tagName: 'tag_name'
}
2022-01-16 23:16:00 +08:00
export const chartPieTableTopOptions = [
{ name: 'Sessions', value: 'sessions' },
{ name: 'Packets', value: 'packets' },
{ name: 'Bytes', value: 'bytes' }
]
export const riskLevelMapping = [
{ name: 'Trustworthy', value: 1 },
{ name: 'Low Risk', value: 2 },
{ name: 'Moderate Risk', value: 3 },
{ name: 'Suspicious', value: 4 },
{ name: 'High Risk', value: 5 }
]
2022-02-22 22:22:15 +08:00
export const eventSeverity = {
critical: 'critical',
high: 'high',
medium: 'medium',
low: 'low',
info: 'info'
}
export const eventSeverityColor = {
critical: '#D84C4C',
high: '#FE845D',
medium: '#FFB65A',
low: '#FFD82D',
info: '#D1BD50'
}
export const eventSeverityColor1 = {
Critical: '#D84C4C',
High: '#FE845D',
Medium: '#FFB65A',
Low: '#FFD82D',
Info: '#D1BD50'
}
2022-02-22 22:22:15 +08:00
export const securityType = {
commandAndControl: 'common and control',
payloadDelivery: 'payload delivery',
cryptomining: 'cryptomining',
phishing: 'phishing',
dga: 'dga',
ddos: 'ddos'
}
export const detectionPageType = {
securityEvent: 'securityEvent',
performanceEvent: 'performanceEvent'
}
export const listScrollPath = [
'/entityExplorer',
'/detection/performanceEvent',
'/detection/securityEvent'
]
/*
export const networkOverviewTabs = [
'network.ips',
'network.countries',
'network.asns',
'network.applications',
'network.providers',
'network.domains',
'network.protocols',
'network.idcTenants',
'network.provinces',
'network.cities',
'network.isps',
'network.applicationCategories',
'network.domainCategories',
'network.hosts',
'network.snis',
'network.protocolPorts'
] */
export const metricOptions = [
{
value: 'Bits/s',
label: 'Bits/s'
},
{
value: 'Packets/s',
label: 'Packets/s'
},
{
value: 'Sessions/s',
label: 'Sessions/s'
}
]
export const operationType = {
mainMenu: 0, // 菜单
secondMenu: 2, // 二级菜单
thirdMenu: 3, // 三级菜单
fourthMenu: 4, // 四级菜单:点击顶部第四级菜单 OR 点击表格的第一列的值
changeTab: 5, // 切换tab
changeMetric: 6, // 切换metric
customize: 7// 操作Customize
}
/*
export const networkOverviewTableUrlName = {
ips: 'ips',
countries: 'countries',
asns: 'asns',
applications: 'applications',
providers: 'providers',
domains: 'domains',
protocols: 'protocols',
idcTenants: 'idcTenants',
provinces: 'provinces',
cities: 'cities',
isps: 'isps',
applicationCategories: 'applicationCategories',
domainCategories: 'domainCategories',
hosts: 'hosts',
snis: 'snis',
protocolPorts: 'protocolPorts'
} */
// 列的类型:下钻列,环比列,普通列
export const tableColumnType = {
dillDown: 'dillDown',
chainRatio: 'chainRatio',
2022-10-09 08:24:07 +08:00
percent: 'percent', // percent类型的列需要2个属性计算百分比
normal: 'normal'
}
// networkOverview:接口url主URL
export const networkOverviewSearchUrl = {
curUrl: '/interface/overview/dimensionTrafficAnalysis',
cycleUrl: '/interface/overview/dimensionCycleTrafficAnalysis',
drilldownCurUrl: '/interface/overview/drilldown/dimensionTrafficAnalysis',
drilldownCycleUrl: '/interface/overview/drilldown/dimensionCycleTrafficAnalysis',
drilldownList: '/interface/overview/drilldown/list'
}
// npm:接口url主URL
export const npmSearchUrl = {
curUrl: '/interface/application/performance/overview/dimensionTrafficAnalysis',
cycleUrl: '/interface/application/performance/overview/dimensionCycleTrafficAnalysis',
drilldownCurUrl: '/interface/application/performance/overview/drilldown/dimensionTrafficAnalysis',
drilldownCycleUrl: '/interface/application/performance/overview/drilldown/dimensionCycleTrafficAnalysis',
drilldownList: '/interface/overview/drilldown/list'
}
export const linkMonitorUrl = {
curUrl: '/interface/link/overview/drilldown/dimension/analysis',
cycleUrl: '/interface/link/overview/drilldown/dimension/cycleAnalysis',
drilldownCurUrl: '/interface/link/overview/drilldown/dimension/analysis',
drilldownCycleUrl: '/interface/link/overview/drilldown/dimension/cycleAnalysis',
drilldownList: ''
}
// dns:接口url主URL
export const dnsSearchUrl = {
curUrl: '/interface/dns/overview/dimensionAnalysis',
cycleUrl: '/interface/dns/overview/dimensionCycleAnalysis',
drilldownCurUrl: '/interface/dns/overview/drilldown/dimensionAnalysis',
drilldownCycleUrl: '/interface/dns/overview/drilldown/dimensionCycleAnalysis',
drilldownList: '/interface/dns/overview/drilldown/list'
}
export const cycle = {
current: 0,
pre: 1
}
export const itemListHeight = {
hasData: 478,
noData: 250
}
export const knowledgeBaseType = [
{
label: 'IP',
value: 'cn_ip_tag_user_defined',
name: 'ip'
},
{
label: 'Domain',
value: 'cn_domain_tag_user_defined',
name: 'domain'
},
{
label: 'APP',
value: 'cn_app_tag_user_defined',
name: 'app'
}
]
export const knowledgeBaseCategory = [
{
name: 'WebSketch',
value: 'websketch'
},
{
name: 'AI Tagging',
value: 'ai_tagging'
},
{
name: 'User-defined',
value: 'user_defined'
}
]
export const knowledgeCategoryValue = {
webSketch: 'websketch',
aiTagging: 'ai_tagging',
userDefined: 'user_defined'
}
export const knowledgeSourceValue = {
fqdnCategory: 'cn_fqdn_category_built_in',
iocMalware: 'cn_ioc_malware',
iocDarkweb: 'cn_ioc_darkweb',
ipLocation: 'cn_ip_location_built_in',
asn: 'cn_ip_asn_built_in',
psiphon3: 'cn_psiphon3_ip',
ipTag: 'cn_ip_tag_user_defined',
domainTag: 'cn_domain_tag_user_defined',
appTag: 'cn_app_tag_user_defined'
}
export const knowledgeBaseSource = [
{
name: 'FQDN Category',
value: 'cn_fqdn_category_built_in'
},
{
name: 'Ioc Malware',
value: 'cn_ioc_malware'
},
{
name: 'Ioc Darkweb',
value: 'cn_ioc_darkweb'
},
{
name: 'IP Location',
value: 'cn_ip_location_built_in'
},
{
name: 'ASN',
value: 'cn_ip_asn_built_in'
},
{
name: 'FQDN Whois',
value: 'cn_fqdn_who_is_built_in'
},
{
name: 'FQDN ICP',
value: 'cn_fqdn_icp_built_in'
},
{
name: 'APP Category',
value: 'cn_app_category_built_in'
},
{
name: 'DNS Server Info',
value: 'cn_dns_server_info_built_in'
},
{
name: 'Link Direction',
value: 'cn_link_direction_built_in'
},
{
name: 'Internal IP',
value: 'cn_internal_ip_built_in'
},
{
name: 'IDC Renter',
value: 'cn_idc_renter_built_in'
},
{
name: 'Psiphon3',
value: 'cn_psiphon3_ip'
},
{
name: 'IP Tag',
value: 'cn_ip_tag_user_defined'
},
{
name: 'Domain Tag',
value: 'cn_domain_tag_user_defined'
},
{
name: 'APP Tag',
value: 'cn_app_tag_user_defined'
}
]
export const curTabState = {
curTab: 'curTab',
tableMetric: 'tableMetric',
tableShowMore: 'tableShowMore',
tableSortColumn: 'tableSortColumn',
tableSortType: 'tableSortType',
tableSortTab: 'tableSortTab',
queryCondition: 'queryCondition',
dimensionType: 'dimensionType', // 纬度
panelName: 'panelName',
thirdMenu: 'thirdMenu',
fourthMenu: 'fourthMenu',
2022-09-23 19:01:30 +08:00
thirdPanel: 'thirdPanel',
fourthPanel: 'fourthPanel',
networkOverviewBeforeTab: 'networkOverviewBeforeTab',
2022-09-23 19:01:30 +08:00
tabOperationType: 'tabOperationType',
tabOperationBeforeType: 'tabOperationBeforeType',
tabIndex: 'tabIndex'
}
export const scoreUrl = [
'/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
'/interface/application/performance/overview/drilldown/dimensionSslConDelay',
'/interface/application/performance/overview/drilldown/dimensionHttpResponseDelay'
]
// AppPerformance类型表格的列有属性cycleDataUrl的代表此数据的来源为对应接口返回的数据无cycleDataUrl的属性代表数据来源于主urlnpmSearchUrl.curUrl、npmSearchUrl.cycleUrl、npmSearchUrl.drilldownCurUrl、npmSearchUrl.drilldownCycleUrl
export const customTableTitlesForAppPerformance = [
2022-10-20 14:53:50 +08:00
{ label: 'IP', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
{ label: 'network.score', prop: 'score', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{
label: 'networkAppPerformance.throughput',
prop: 'totalBytes',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: npmSearchUrl.cycleUrl,
isInMainUrl: true
}, // 此字段当前周期的数据是否在主URL中npmSearchUrl中的URL为主URL
{
label: 'networkAppPerformance.tcpConnectionEstablishLatency',
prop: 'tcpConEstLatency',
dillDownProp: 'establishLatencyMs',
dillDownCycleProp: 'establishLatencyMs',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionTcpSessionDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 0,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetLoss',
prop: 'packetLoss',
dillDownProp: 'tcpLostlenPercent',
dillDownCycleProp: 'tcpLostlenPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionTcpLostlenPercent',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 3,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetRetrans',
prop: 'packetRetrans',
dillDownProp: 'pktRetransPercent',
dillDownCycleProp: 'pktRetransPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionPacketRetransPercent',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 4,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.sslResponseLatency',
prop: 'sslResponseLatency',
dillDownProp: 'sslConLatency',
dillDownCycleProp: 'sslConLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionSslConDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionSslConDelay',
cycle: cycle.pre,
scoreType: 2,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.httpResponseLatency',
prop: 'httpResponseLatency',
dillDownProp: 'httpResponseLatency',
dillDownCycleProp: 'httpResponseLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionHttpResponseDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionHttpResponseDelay',
cycle: cycle.pre,
scoreType: 1,
isScoreColumn: true,
isInMainUrl: false
}
]
export const customTableTitlesForLinkMonitor = [
2022-10-20 14:53:50 +08:00
{ label: 'IP', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
{ label: 'network.score', prop: 'score', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{
label: 'networkAppPerformance.throughput',
prop: 'totalBytes',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: linkMonitorUrl.cycleUrl,
isInMainUrl: true
}, // 此字段当前周期的数据是否在主URL中npmSearchUrl中的URL为主URL
{
label: 'networkAppPerformance.tcpConnectionEstablishLatency',
prop: 'tcpConEstLatency',
dillDownProp: 'establishLatencyMs',
dillDownCycleProp: 'establishLatencyMs',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
dillDownCycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
cycle: cycle.pre,
scoreType: 0,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetLoss',
prop: 'packetLoss',
dillDownProp: 'tcpLostlenPercent',
dillDownCycleProp: 'tcpLostlenPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
dillDownCycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
cycle: cycle.pre,
scoreType: 3,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetRetrans',
prop: 'packetRetrans',
dillDownProp: 'pktRetransPercent',
dillDownCycleProp: 'pktRetransPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
dillDownCycleDataUrl: '/interface/link/overview/drilldown/dimension/networkAnalysis',
cycle: cycle.pre,
scoreType: 4,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.sslResponseLatency',
prop: 'sslResponseLatency',
dillDownProp: 'sslConLatency',
dillDownCycleProp: 'sslConLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/link/overview/drilldown/dimension/sslConDelay',
dillDownCycleDataUrl: '/interface/link/overview/drilldown/dimension/sslConDelay',
cycle: cycle.pre,
scoreType: 2,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.httpResponseLatency',
prop: 'httpResponseLatency',
dillDownProp: 'httpResponseLatency',
dillDownCycleProp: 'httpResponseLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/link/overview/drilldown/dimension/httpResponseDelay',
dillDownCycleDataUrl: '/interface/link/overview/drilldown/dimension/httpResponseDelay',
cycle: cycle.pre,
scoreType: 1,
isScoreColumn: true,
isInMainUrl: false
}
]
export const customTableTitlesForDns = [
{ label: 'dns.dnsServer', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
2022-10-09 08:24:07 +08:00
{
label: 'dns.queries',
prop: 'queryRate',
checked: true,
tabColumn: true,
columnType: tableColumnType.chainRatio,
isInMainUrl: true,
cycleDataUrl: dnsSearchUrl.cycleUrl
},
{ label: 'dns.queriesFromIE', prop: 'totalInExNum', checked: true, tabColumn: true, columnType: tableColumnType.percent },
{ label: 'dns.dnsResponseTime', prop: 'dnsResponseLatencyAvg', checked: true, tabColumn: true, columnType: tableColumnType.normal },
{ label: 'overall.throughput', prop: 'totalBytes', checked: true, tabColumn: true, columnType: tableColumnType.normal }
]
// NetworkOverview类型表格的列:prop 为接口响应数据中的属性名
export const customTableTitlesForNetworkOverview = [
2022-10-20 14:53:50 +08:00
{ label: 'IP', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
{
label: 'network.total',
prop: 'total',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: networkOverviewSearchUrl.cycleUrl,
isInMainUrl: true
},
{ label: 'network.inbound', prop: 'inbound', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.outbound', prop: 'outbound', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.internal', prop: 'internal', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.through', prop: 'through', checked: true, tabColumn: false, columnType: tableColumnType.normal }
]
/* panel类别和名称之间的映射 */
export const drillDownPanelTypeMapping = {
npmOverviewIp: 8,
npmOverviewDomain: 9,
npmOverviewApp: 10,
npmOverviewCommon: 11,
npmThirdMenu: 12,
networkOverview: 13,
linkMonitor: 15,
dnsFourthMenu: 16,
dnsThirdMenu: 17
}
export const networkOverviewTabList = [
{
label: 'network.ips',
prop: 'ip',
queryCycleTotalProp: 'ips',
dillDownProp: ['common_client_ip', 'common_server_ip'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['client_country', 'server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.asns',
prop: 'asn',
queryCycleTotalProp: 'asns',
dillDownProp: ['client_asn', 'server_asn'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.applications',
prop: 'appLabel',
queryCycleTotalProp: 'applications',
dillDownProp: ['common_app_label'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.providers',
prop: 'appCompany',
queryCycleTotalProp: 'providers',
dillDownProp: ['app_company'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.domains',
prop: 'domain',
queryCycleTotalProp: 'domains',
dillDownProp: ['domain'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.protocols',
prop: 'l7Protocol',
queryCycleTotalProp: 'protocols',
dillDownProp: ['common_l7_protocol'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.idcTenants',
prop: 'idcRenter',
queryCycleTotalProp: 'idcTenants',
dillDownProp: ['client_idc_renter', 'server_idc_renter'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.provinces',
prop: 'province',
queryCycleTotalProp: 'provinces',
dillDownProp: ['client_province', 'server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
dillDownProp: ['client_region', 'server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.isps',
prop: 'isp',
queryCycleTotalProp: 'isps',
dillDownProp: ['client_isp', 'server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.applicationCategories',
prop: 'appSubcategory',
queryCycleTotalProp: 'applicationCategories',
dillDownProp: ['app_subcategory'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.domainCategories',
prop: 'domainCategoryName',
queryCycleTotalProp: 'domainCategories',
dillDownProp: ['domain_category_name'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.hosts',
prop: 'httpHost',
queryCycleTotalProp: 'hosts',
dillDownProp: ['http_host'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.snis',
prop: 'sslSni',
queryCycleTotalProp: 'snis',
dillDownProp: ['ssl_sni'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.protocolPorts',
prop: 'protocolPort',
queryCycleTotalProp: 'protocolports',
dillDownProp: ['common_l7_protocol', 'common_server_port '],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientIps',
prop: 'clientIp',
queryCycleTotalProp: 'clientIps',
dillDownProp: ['common_client_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverIps',
prop: 'serverIp',
queryCycleTotalProp: 'serverIps',
dillDownProp: ['common_server_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientCountries',
prop: 'clientCountry',
queryCycleTotalProp: 'clientCountries',
dillDownProp: ['client_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverCountries',
prop: 'serverCountry',
queryCycleTotalProp: 'serverCountries',
dillDownProp: ['server_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientProvinces',
prop: 'clientProvince',
queryCycleTotalProp: 'clientProvinces',
dillDownProp: ['client_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverProvinces',
prop: 'serverProvince',
queryCycleTotalProp: 'serverProvinces',
dillDownProp: ['server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientCities',
prop: 'clientCity',
queryCycleTotalProp: 'clientCities',
dillDownProp: ['client_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverCities',
prop: 'serverCity',
queryCycleTotalProp: 'serverCities',
dillDownProp: ['server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientIsps',
prop: 'clientIsp',
queryCycleTotalProp: 'clientIsps',
dillDownProp: ['client_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverIsps',
prop: 'serverIsp',
queryCycleTotalProp: 'serverIsps',
dillDownProp: ['server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientIdcRenters',
prop: 'clientIdcRenter',
queryCycleTotalProp: 'clientIdcRenters',
dillDownProp: ['client_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverIdcRenters',
prop: 'serverIdcRenter',
queryCycleTotalProp: 'serverIdcRenters',
dillDownProp: ['server_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.clientAsns',
prop: 'clientAsn',
queryCycleTotalProp: 'clientAsns',
dillDownProp: ['client_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.serverAsns',
prop: 'serverAsn',
queryCycleTotalProp: 'serverAsns',
dillDownProp: ['server_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}
]
export const networkAppPerformanceTabList = [
{
label: 'network.ips', // tab名称对应的il8n
prop: 'ip', // 接口返回数据中tab第一列对应的属性名
queryCycleTotalProp: 'ips', // SQL中查询不同纬度的列名称
dillDownProp: ['common_client_ip', 'common_server_ip'], // 下钻时传递的查询条件即接口的q参数
checked: true, // 自定义设置中,是否默认选中
disabled: false, // 自定义设置中,是否可操作(选中或取消选中)
panelId: drillDownPanelTypeMapping.npmOverviewIp// 下钻后展示的panelId
}, {
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['client_country', 'server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.asns',
prop: 'asn',
queryCycleTotalProp: 'asns',
dillDownProp: ['client_asn', 'server_asn'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.applications',
prop: 'appLabel',
queryCycleTotalProp: 'applications',
dillDownProp: ['common_app_label'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewApp
}, {
label: 'network.providers',
prop: 'appCompany',
queryCycleTotalProp: 'providers',
dillDownProp: ['app_company'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.domains',
prop: 'domain',
queryCycleTotalProp: 'domains',
dillDownProp: ['domain'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewDomain
}, {
label: 'network.protocols',
prop: 'l7Protocol',
queryCycleTotalProp: 'protocols',
dillDownProp: ['common_l7_protocol'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.idcTenants',
prop: 'idcRenter',
queryCycleTotalProp: 'idcTenants',
dillDownProp: ['client_idc_renter', 'server_idc_renter'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.provinces',
prop: 'province',
queryCycleTotalProp: 'provinces',
dillDownProp: ['client_province', 'server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
dillDownProp: ['client_region', 'server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.isps',
prop: 'isp',
queryCycleTotalProp: 'isps',
dillDownProp: ['client_isp', 'server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.applicationCategories',
prop: 'appSubcategory',
queryCycleTotalProp: 'applicationCategories',
dillDownProp: ['app_subcategory'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.domainCategories',
prop: 'domainCategoryName',
queryCycleTotalProp: 'domainCategories',
dillDownProp: ['domain_category_name'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.hosts',
prop: 'httpHost',
queryCycleTotalProp: 'hosts',
dillDownProp: ['http_host'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.snis',
prop: 'sslSni',
queryCycleTotalProp: 'snis',
dillDownProp: ['ssl_sni'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.protocolPorts',
prop: 'protocolPort',
queryCycleTotalProp: 'protocolports',
dillDownProp: ['common_l7_protocol', 'common_server_port '],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientIps',
prop: 'clientIp',
queryCycleTotalProp: 'clientIps',
dillDownProp: ['common_client_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverIps',
prop: 'serverIp',
queryCycleTotalProp: 'serverIps',
dillDownProp: ['common_server_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientCountries',
prop: 'clientCountry',
queryCycleTotalProp: 'clientCountries',
dillDownProp: ['client_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverCountries',
prop: 'serverCountry',
queryCycleTotalProp: 'serverCountries',
dillDownProp: ['server_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientProvinces',
prop: 'clientProvince',
queryCycleTotalProp: 'clientProvinces',
dillDownProp: ['client_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverProvinces',
prop: 'serverProvince',
queryCycleTotalProp: 'serverProvinces',
dillDownProp: ['server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientCities',
prop: 'clientCity',
queryCycleTotalProp: 'clientCities',
dillDownProp: ['client_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverCities',
prop: 'serverCity',
queryCycleTotalProp: 'serverCities',
dillDownProp: ['server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientIsps',
prop: 'clientIsp',
queryCycleTotalProp: 'clientIsps',
dillDownProp: ['client_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverIsps',
prop: 'serverIsp',
queryCycleTotalProp: 'serverIsps',
dillDownProp: ['server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientIdcRenters',
prop: 'clientIdcRenter',
queryCycleTotalProp: 'clientIdcRenters',
dillDownProp: ['client_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverIdcRenters',
prop: 'serverIdcRenter',
queryCycleTotalProp: 'serverIdcRenters',
dillDownProp: ['server_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.clientAsns',
prop: 'clientAsn',
queryCycleTotalProp: 'clientAsns',
dillDownProp: ['client_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.serverAsns',
prop: 'serverAsn',
queryCycleTotalProp: 'serverAsns',
dillDownProp: ['server_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}
]
export const linkMonitorTabList = [
{
label: 'network.ips', // tab名称对应的il8n
prop: 'ip', // 接口返回数据中tab第一列对应的属性名
queryCycleTotalProp: 'ips', // SQL中查询不同纬度的列名称
dillDownProp: ['common_client_ip', 'common_server_ip'], // 下钻时传递的查询条件即接口的q参数
checked: true, // 自定义设置中,是否默认选中
disabled: false, // 自定义设置中,是否可操作(选中或取消选中)
panelId: drillDownPanelTypeMapping.linkMonitor// 下钻后展示的panelId
}, {
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['client_country', 'server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.asns',
prop: 'asn',
queryCycleTotalProp: 'asns',
dillDownProp: ['client_asn', 'server_asn'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.applications',
prop: 'appLabel',
queryCycleTotalProp: 'applications',
dillDownProp: ['common_app_label'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.providers',
prop: 'appCompany',
queryCycleTotalProp: 'providers',
dillDownProp: ['app_company'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.domains',
prop: 'domain',
queryCycleTotalProp: 'domains',
dillDownProp: ['domain'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.protocols',
prop: 'l7Protocol',
queryCycleTotalProp: 'protocols',
dillDownProp: ['common_l7_protocol'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.idcTenants',
prop: 'idcRenter',
queryCycleTotalProp: 'idcTenants',
dillDownProp: ['client_idc_renter', 'server_idc_renter'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.provinces',
prop: 'province',
queryCycleTotalProp: 'provinces',
dillDownProp: ['client_province', 'server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
dillDownProp: ['client_region', 'server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.isps',
prop: 'isp',
queryCycleTotalProp: 'isps',
dillDownProp: ['client_isp', 'server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.applicationCategories',
prop: 'appSubcategory',
queryCycleTotalProp: 'applicationCategories',
dillDownProp: ['app_subcategory'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.domainCategories',
prop: 'domainCategoryName',
queryCycleTotalProp: 'domainCategories',
dillDownProp: ['domain_category_name'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.hosts',
prop: 'httpHost',
queryCycleTotalProp: 'hosts',
dillDownProp: ['http_host'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.snis',
prop: 'sslSni',
queryCycleTotalProp: 'snis',
dillDownProp: ['ssl_sni'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.protocolPorts',
prop: 'protocolPort',
queryCycleTotalProp: 'protocolports',
dillDownProp: ['common_l7_protocol', 'common_server_port '],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientIps',
prop: 'clientIp',
queryCycleTotalProp: 'clientIps',
dillDownProp: ['common_client_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverIps',
prop: 'serverIp',
queryCycleTotalProp: 'serverIps',
dillDownProp: ['common_server_ip'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientCountries',
prop: 'clientCountry',
queryCycleTotalProp: 'clientCountries',
dillDownProp: ['client_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverCountries',
prop: 'serverCountry',
queryCycleTotalProp: 'serverCountries',
dillDownProp: ['server_country'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientProvinces',
prop: 'clientProvince',
queryCycleTotalProp: 'clientProvinces',
dillDownProp: ['client_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverProvinces',
prop: 'serverProvince',
queryCycleTotalProp: 'serverProvinces',
dillDownProp: ['server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientCities',
prop: 'clientCity',
queryCycleTotalProp: 'clientCities',
dillDownProp: ['client_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverCities',
prop: 'serverCity',
queryCycleTotalProp: 'serverCities',
dillDownProp: ['server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientIsps',
prop: 'clientIsp',
queryCycleTotalProp: 'clientIsps',
dillDownProp: ['client_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverIsps',
prop: 'serverIsp',
queryCycleTotalProp: 'serverIsps',
dillDownProp: ['server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientIdcRenters',
prop: 'clientIdcRenter',
queryCycleTotalProp: 'clientIdcRenters',
dillDownProp: ['client_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverIdcRenters',
prop: 'serverIdcRenter',
queryCycleTotalProp: 'serverIdcRenters',
dillDownProp: ['server_idc_renter'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.clientAsns',
prop: 'clientAsn',
queryCycleTotalProp: 'clientAsns',
dillDownProp: ['client_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}, {
label: 'network.serverAsns',
prop: 'serverAsn',
queryCycleTotalProp: 'serverAsns',
dillDownProp: ['server_asn'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.linkMonitor
}
]
export const dnsServiceInsightsTabList = [
{
label: 'dns.dnsServer', // tab名称对应的il8n
prop: 'dnsServer', // 接口返回数据中tab第一列对应的属性名
queryCycleTotalProp: 'dnsServer', // SQL中查询不同纬度的列名称
2022-10-09 08:24:07 +08:00
dillDownProp: ['common_server_ip'], // 下钻时传递的查询条件即接口的q参数
checked: true, // 自定义设置中,是否默认选中
disabled: false, // 自定义设置中,是否可操作(选中或取消选中)
panelId: drillDownPanelTypeMapping.dnsFourthMenu// 下钻后展示的panelId
},
{
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
2022-10-09 08:24:07 +08:00
dillDownProp: ['server_region'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerIsps',
prop: 'dnsServerIsp',
queryCycleTotalProp: 'isps',
dillDownProp: ['server_isp'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerOrganizations',
prop: 'dnsServerOrganization',
queryCycleTotalProp: 'orgs',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_server_org'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerRoles',
prop: 'dnsServerRole',
queryCycleTotalProp: 'roles',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_server_role'],
2022-10-21 10:08:49 +08:00
queryCondition: ['has(dns_server_role,\'$param\')'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'QNames',
prop: 'qname',
queryCycleTotalProp: 'qnames',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'SLDs',
prop: 'sld',
queryCycleTotalProp: 'slds',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
queryCondition: ['cutToFirstSignificantSubdomain(dns_qname) = \'$param\''],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'TLDs',
prop: 'tld',
queryCycleTotalProp: 'tlds',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
queryCondition: [' topLevelDomain(dns_qname) = \'$param\''],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'QTypes',
prop: 'qtype',
queryCycleTotalProp: 'qtypes',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qtype'],
queryCondition: ['dns_qtype = $param'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'RCodes',
prop: 'rcode',
queryCycleTotalProp: 'rcodes',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_rcode'],
queryCondition: ['dns_rcode = $param'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'A',
prop: 'a',
queryCycleTotalProp: 'a',
dillDownProp: ['rr_a'],
queryCondition: ['notEmpty(dns_rr) AND has(JSONExtractArrayRaw(JSON_QUERY(\'$.rr[*].type\', dns_rr) ), \'1\') AND arrayJoin(tupleElement(tupleElement(JSONExtract(dns_rr,\'Tuple(rr Nested(name String, type UInt32, a String))\'), \'rr\'), \'a\')) = \'$param\''],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'AAAA',
prop: 'aaaa',
queryCycleTotalProp: 'aaaa',
dillDownProp: ['rr_aaaa'],
queryCondition: ['notEmpty(dns_rr) and has(JSONExtractArrayRaw(JSON_QUERY(\'$.rr[*].type\', dns_rr) ), \'28\') AND arrayJoin(tupleElement(tupleElement(JSONExtract(dns_rr,\'Tuple(rr Nested(name String, type UInt32, aaaa String))\'), \'rr\'), \'aaaa\')) = \'$param\''],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'CNames',
prop: 'cname',
queryCycleTotalProp: 'cnames',
dillDownProp: ['rr_cname'],
queryCondition: ['notEmpty(dns_rr) and has(JSONExtractArrayRaw(JSON_QUERY(\'$.rr[*].type\', dns_rr) ), \'5\') AND arrayJoin(tupleElement(tupleElement(JSONExtract(dns_rr,\'Tuple(rr Nested(name String, type UInt32, cname String))\'), \'rr\'), \'cname\')) = \'$param\''],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
}
]
// 用于组织数据时的名称,对应的属性名称
export const bytesColumnNameGroupForNpm = {
totalBytes: 'totalBytes',
tcpConEstLatency: 'establishLatencyMs',
packetLoss: 'tcpLostlenPercent',
packetRetrans: 'pktRetransPercent',
sslResponseLatency: 'sslConLatency',
httpResponseLatency: 'httpResponseLatency'
}
2022-10-09 08:24:07 +08:00
export const bytesCycleColumnNameGroupForNpm = {
totalBytes: 'totalBytes'
2022-10-09 08:24:07 +08:00
}
// 用于组织数据时的名称,对应的属性名称
export const bytesColumnNameGroupForDns = {
queryRate: 'queryRate',
totalInExNum: 'totalInternalQueryNum,totalExternalQueryNum',
dnsResponseLatencyAvg: 'dnsResponseLatencyAvg',
totalBytes: 'totalBytes'
2022-10-09 08:24:07 +08:00
}
export const bytesCycleColumnNameGroupForDns = {
queryRate: 'queryRate'
}
// networkOverview 当前周期返回数据对应的属性名称(与上一周期中的属性名称不一致,total,之所以写在这里是因为有bytepacketssessions3种如果只有一种可以直接写在customTableTitlesForAppPerformance
export const bytesColumnNameGroup = {
total: 'totalBitsRate',
inbound: 'inboundBitsRate',
outbound: 'outboundBitsRate',
internal: 'internalBitsRate',
through: 'throughBitsRate'
}
export const packetsColumnNameGroup = {
total: 'totalPacketsRate',
inbound: 'inboundPacketsRate',
outbound: 'outboundPacketsRate',
internal: 'internalPacketsRate',
through: 'throughPacketsRate'
}
export const sessionsColumnNameGroup = {
total: 'sessionsRate'
}
export const bytesCycleColumnNameGroup = {
total: 'bitsRate'
}
export const packetsCycleColumnNameGroup = {
total: 'packetsRate'
}
export const sessionsCycleColumnNameGroup = {
total: 'sessionsRate'
}
// 不同表格类型对应的相关数据
export const networkTable = {
networkOverview: {
tabList: networkOverviewTabList, // tab列表
column: customTableTitlesForNetworkOverview, // 列
url: networkOverviewSearchUrl, // 接口url
hasMetricSearch: true, // 顶部是否有metric下拉列表
panelIdOfThirdMenu: drillDownPanelTypeMapping.networkOverview,
bytesColumnNameGroup: bytesColumnNameGroup,
packetsColumnNameGroup: packetsColumnNameGroup,
sessionsColumnNameGroup: sessionsColumnNameGroup,
bytesCycleColumnNameGroup: bytesCycleColumnNameGroup,
packetsCycleColumnNameGroup: packetsCycleColumnNameGroup,
sessionsCycleColumnNameGroup: sessionsCycleColumnNameGroup
},
networkAppPerformance: {
tabList: networkAppPerformanceTabList,
column: customTableTitlesForAppPerformance,
url: npmSearchUrl,
hasMetricSearch: false, // 是否有metric下拉列表
panelIdOfThirdMenu: drillDownPanelTypeMapping.npmThirdMenu,
bytesColumnNameGroup: bytesColumnNameGroupForNpm,
packetsColumnNameGroup: {}, // 无metric下拉列表条件用不到此属性
sessionsColumnNameGroup: {}, // 无metric下拉列表条件用不到此属性
bytesCycleColumnNameGroup: bytesCycleColumnNameGroupForNpm,
packetsCycleColumnNameGroup: {},
sessionsCycleColumnNameGroup: {}
},
dnsServiceInsights: {
tabList: dnsServiceInsightsTabList,
column: customTableTitlesForDns,
url: dnsSearchUrl,
hasMetricSearch: false, // 是否有metric下拉列表
2022-10-09 08:24:07 +08:00
panelIdOfThirdMenu: drillDownPanelTypeMapping.dnsThirdMenu,
bytesColumnNameGroup: bytesColumnNameGroupForDns,
bytesCycleColumnNameGroup: bytesCycleColumnNameGroupForDns,
defaultOrderBy: 'totalBytes'
},
linkMonitor: {
tabList: linkMonitorTabList,
column: customTableTitlesForLinkMonitor,
url: linkMonitorUrl,
hasMetricSearch: false, // 是否有metric下拉列表
panelIdOfThirdMenu: drillDownPanelTypeMapping.linkMonitor,
bytesColumnNameGroup: bytesColumnNameGroupForNpm,
bytesCycleColumnNameGroup: bytesCycleColumnNameGroupForNpm
}
}
export const networkDefaultLimit = 50
2022-03-03 23:21:33 +08:00
export const dnsServerRole = {
RTDNS: 'RTDNS',
TLDNS: 'TLDNS',
OPRDNS: 'OPRDNS',
ADNS: 'ADNS',
SBDNS: 'SBDNS',
RTDNSM: 'RTDNSM',
FWDNS: 'FWDNS'
2022-03-03 23:21:33 +08:00
}
export const npmCategoryToAppCategoryMap = {
'network.video': 'multimedia-streaming',
'network.fileSharing': 'file-sharing',
'network.voip': 'voip-video',
'network.gaming': 'gaming',
'network.email': 'email',
'network.socialNetwork': 'social-networking'
}
2022-08-09 21:19:21 +08:00
// npm页-应用评分-类别名称、icon、i18n映射
export const npmCategoryInfoMapping = [
{
appSubcategory: 'multimedia-streaming',
icon: 'cn-icon cn-icon-video',
i18n: 'network.video'
},
{
appSubcategory: 'social-networking',
icon: 'cn-icon cn-icon-social-network',
i18n: 'network.socialNetwork'
},
{
appSubcategory: 'file-sharing',
icon: 'cn-icon cn-icon-file-sharing',
i18n: 'network.fileSharing'
},
{
appSubcategory: 'voip-video',
icon: 'cn-icon cn-icon-voip',
i18n: 'network.voip'
},
{
appSubcategory: 'gaming',
icon: 'cn-icon cn-icon-gaming',
i18n: 'network.gaming'
},
{
appSubcategory: 'email',
icon: 'cn-icon cn-icon-email',
i18n: 'network.email'
}
]
2022-04-11 15:58:24 +08:00
// 整屏滚动的路径映射
export const wholeScreenRouterMapping = {
dns: '/panel/dnsServiceInsights'
}
export const themeData = [
{ value: 'light', label: 'light' },
{ value: 'dark', label: 'dark' }
]
export const langData = [
{ value: 'zh', label: 'zh' },
{ value: 'en', label: 'en' }
]
2022-03-27 20:52:07 +08:00
export const performanceMetricMapping = {
'dns error': 'DNS Error Rate',
'http error': 'HTTP Error Rate',
'high dns response time': 'DNS Response Latency'
}
2023-08-11 18:35:05 +08:00
export const builtInKnowledgeBaseBasicInfo = [
{
knowledgeId: 10,
label: 'Psiphon3 VPN',
iconUrl: 'images/knowledge-base-logo/psiphon3-vpn.png',
desc: 'Psiphon3 is a circumvention software for Windows and other platforms that provides uncensored access to Internet content.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 5,
label: 'Domain Category',
iconUrl: 'images/knowledge-base-logo/fqdn.png',
desc: 'Domain category provides basic information including categories, providers, reputation score.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 6,
label: 'Domain Whois',
iconUrl: 'images/knowledge-base-logo/fqdn-whois.png',
desc: 'Domain whois contains registration and ownership information for domain names. It includes details like domain registrar, registrant, creation/expiry dates, and contact information.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 2,
label: 'IP ASN',
iconUrl: 'images/knowledge-base-logo/ip-asn.png',
desc: 'ASN Database associates IP addresses with their corresponding Autonomous System Numbers, which are unique identifiers assigned to internet networks. This database helps identify the network and its owner, facilitating network analysis and monitoring tasks.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 3,
label: 'DNS Server Info',
iconUrl: 'images/knowledge-base-logo/dns-server-info.png',
desc: 'A DNS Server Info stores information about Domain Name System (DNS) servers. It includes details such as IP addresses, host names, locations, software name, operation system, and roles of the servers.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 9,
label: 'APP Category',
iconUrl: 'images/knowledge-base-logo/app-category.png',
desc: 'APP category provides basic information for over 3000 popular applications, including their categories and service providers.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 7,
label: 'Indicators of Compromise',
iconUrl: 'images/knowledge-base-logo/indicators-of-compromise.png',
desc: 'Indicator of Compromise (IoC) refers to forensic artifacts, such as unusual network traffic or malicious files, indicating a security breach or cyberattack.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 4,
label: 'ICP',
iconUrl: 'images/knowledge-base-logo/icp.png',
desc: 'ICP (Internet Content Provider) license is a permit issued by Chinese authorities, mandatory for websites to legally operate and publish content within mainland China.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 1,
label: 'IP Location',
iconUrl: 'images/knowledge-base-logo/ip-location.png',
desc: 'IP location Database is a repository containing geographical data associated with IP addresses, such as country, city, ISP, organization, latitude, longitude, and other relevant details.'
2023-08-11 18:35:05 +08:00
},
{
knowledgeId: 8,
label: 'Anonymity',
iconUrl: 'images/knowledge-base-logo/anonymity.png',
desc: 'Communication system that conceals users\' identities and activities to protect privacy and prevent tracking or surveillance. This database provides lists of Tor nodes, I2P nodes, obfs4, etc.'
2023-08-11 18:35:05 +08:00
}
]
export const chartColor = ['#5370C6', '#90CC74', '#FAC858', '#EE6666',
'#73BFDE', '#3BA172', '#FC8452', '#9960B4',
'#E97CCC', '#FEA69E', '#0F8AB2', '#57CBAC',
'#5888BC', '#63B6AC', '#EDC6B2', '#D5746B']
2022-07-08 09:34:09 +08:00
export const chartColor1 = ['#E26154', '#E48E4D', '#E7B34E', '#DAC74B', '#88AF65']
export const chartColor2 = ['#86B565', '#A37FA7', '#EFAFC7', '#EFC48F', '#B4B1A8']
2022-07-20 16:00:05 +08:00
export const chartColor3 = ['#00A7AB', '#7FA054', '#35ADDA', '#E48F3E', '#9FBC1D', '#98709B']
2022-07-20 16:00:05 +08:00
export const chartColor4 = ['#E5F6F6', '#F2F6EE', '#EBF7FC', '#FCF4EB', '#9FBC1D', '#F5F1F5']
export const chartColor5 = ['#E26154', '#E7B34E', '#88AF65']
2022-09-21 10:42:19 +08:00
export const chartColor6 = ['#E99F67', '#D9C74B']
2021-10-16 15:50:12 +08:00
export const iso36112 = {
[storageKey.iso36112Capital]: 'data/countriesWithCapital',
[storageKey.iso36112WorldLow]: 'worldChinaLow',
IE: 'irelandLow',
MM: 'myanmarLow',
TZ: 'tanzaniaLow',
BS: 'bahamasLow',
DM: 'dominicaLow',
VC: 'saintVincentLow',
BG: 'bulgariaLow',
SK: 'slovakiaLow',
UZ: 'uzbekistanLow',
IS: 'icelandLow',
CA: 'canadaLow',
AT: 'austriaLow',
DO: 'dominicanRepublicLow',
MY: 'malaysiaLow',
BW: 'botswanaLow',
SH: 'saintHelenaLow',
NO: 'norway2020Low',
CF: 'centralAfricanRepublicLow',
GA: 'gabonLow',
GD: 'grenadaLow',
RU: 'russiaLow',
FR: 'franceLow',
TJ: 'tajikistanLow',
CU: 'cubaLow',
NP: 'nepalLow',
ZW: 'zimbabweLow',
CW: 'curacaoLow',
GW: 'guineaBissauLow',
EE: 'estoniaLow',
AG: 'antiguaBarbudaLow',
TT: 'trinidadTobagoLow',
BF: 'burkinaFasoLow',
LI: 'liechtensteinLow',
OM: 'omanLow',
GY: 'guyanaLow',
GR: 'greeceLow',
KG: 'kyrgyzstanLow',
SD: 'sudanLow',
AE: 'uaeLow',
KY: 'caymanIslandsLow',
LA: 'laosLow',
LT: 'lithuaniaLow',
UG: 'ugandaLow',
MR: 'mauritaniaLow',
SS: 'southSudan2015Low',
SI: 'sloveniaLow',
MX: 'mexicoLow',
GH: 'ghanaLow',
GN: 'guineaLow',
BB: 'barbadosLow',
HN: 'hondurasLow',
SN: 'senegalLow',
BD: 'bangladeshLow',
BQ: 'bonaireSintEustatiusSabaLow',
CC: 'cocosKeelingLow',
HR: 'croatiaLow',
PL: 'polandLow',
ST: 'saoTomePrincipeLow',
TC: 'turksCaicosLow',
GT: 'guatemalaLow',
IT: 'italyLow',
RW: 'rwandaLow',
LC: 'saintLuciaLow',
TL: 'timorLesteLow',
CZ: 'czechiaLow',
GQ: 'equatorialGuineaLow',
FJ: 'fijiEastLow',
MA: 'moroccoLow',
DJ: 'djiboutiLow',
NE: 'nigerLow',
LV: 'latviaLow',
RS: 'serbiaLow',
PE: 'peruLow',
SE: 'swedenLow',
GE: 'georgiaLow',
DE: 'bosniaHerzegovinaLow',
AF: 'afghanistanLow',
AR: 'argentinaLow',
KE: 'kenyaLow',
AS: 'americanSamoaLow',
FI: 'finlandLow',
IR: 'iranLow',
UY: 'uruguayLow',
SA: 'saudiArabiaLow',
EC: 'ecuadorLow',
AW: 'arubaLow',
ZA: 'southAfricaLow',
PM: 'stPierreMiquelonLow',
SC: 'seychellesLow',
MG: 'madagascarProvinceLow',
YE: 'yemenLow',
BR: 'brazilLow',
ML: 'maliLow',
CL: 'chileLow',
LB: 'lebanonLow',
DZ: 'algeriaLow',
FO: 'faroeIslandsLow',
VE: 'venezuelaLow',
CR: 'costaRicaLow',
GP: 'guadeloupeLow',
SV: 'elSalvadorLow',
LK: 'sriLankaLow',
KZ: 'kazakhstanLow',
NL: 'netherlandsLow',
GM: 'gambiaLow',
TR: 'turkeyLow',
be: 'belgiumLow',
PA: 'panamaLow',
AZ: 'azerbaijanLow',
PT: 'portugalLow',
VA: 'vaticanLow',
MW: 'malawiLow',
KN: 'stKittsNevisLow',
NI: 'nicaraguaLow',
MD: 'moldovaLow',
IN: 'indiaLow',
MZ: 'mozambiqueLow',
WS: 'samoaLow',
ET: 'ethiopiaLow',
MV: 'maldivesLow',
TH: 'thailandLow',
PH: 'philippinesLow',
MQ: 'martiniqueLow',
KP: 'northKoreaLow',
PR: 'puertoRicoLow',
CV: 'capeVerdeLow',
TG: 'togoLow',
AL: 'albaniaLow',
SJ: 'svalbardLow',
BH: 'bahrainLow',
AU: 'australiaLow',
BI: 'burundiLow',
QA: 'qatarLow',
TD: 'chadLow',
BZ: 'belizeLow',
GS: 'georgiaSouthOssetiaLow',
MS: 'montserratLow',
BM: 'bermudaLow',
ZM: 'zambiaLow',
JP: 'japanLow',
JO: 'jordanLow',
BT: 'bhutanLow',
NZ: 'newZealandLow',
MK: 'northMacedoniaLow',
TN: 'tunisiaLow',
bl: 'stBarthelemyLow',
PY: 'paraguayLow',
ID: 'indonesiaLow',
HT: 'haitiLow',
FK: 'falklandIslandsLow',
MP: 'northernMarianaLow',
PS: 'palestineLow',
CD: 'congoDRLow',
AM: 'armeniaLow',
DK: 'denmarkLow',
NG: 'nigeriaLow',
RO: 'romaniaLow',
ER: 'eritreaLow',
BN: 'bruneiDarussalamLow',
AO: 'angolaLow',
BA: 'bosniaHerzegovinaCantonsLow',
PK: 'pakistanLow',
GL: 'greenlandLow',
TM: 'turkmenistanLow',
BJ: 'beninLow',
CI: 'cotedIvoireLow',
CN: 'chinaLow',
CH: 'switzerlandLow',
VG: 'britishVirginIslandsLow',
VI: 'usVirginIslandsLow',
IL: 'israelLow',
SR: 'surinameLow',
CO: 'colombiaLow',
MT: 'maltaLow',
CM: 'cameroonLow',
LY: 'libyaLow',
IQ: 'iraqLow',
UA: 'ukraineLow',
VN: 'vietnamLow',
KH: 'cambodiaLow',
AI: 'anguillaLow',
ME: 'montenegroLow',
SB: 'solomonIslandsLow',
KR: 'southKoreaLow',
GB: 'ukLow',
SG: 'singaporeLow',
EG: 'egyptLow',
CY: 'cyprusLow',
KM: 'comorosLow',
GU: 'guamLow',
HK: 'hongKongLow',
SO: 'somaliaLow',
NA: 'namibiaLow',
HU: 'hungaryLow',
BY: 'belarusLow',
BO: 'boliviaLow',
GF: 'frenchGuianaLow',
US: 'usaLow',
SL: 'sierraLeoneLow',
SM: 'sanMarinoLow',
AD: 'andorraLow',
ES: 'spainLow',
KW: 'kuwaitLow',
CG: 'congoLow',
LU: 'luxembourgLow',
JM: 'jamaicaLow',
SY: 'syriaLow',
SZ: 'eswatiniLow',
MN: 'mongoliaLow'
}
export const countryNameIdMapping = {
"Private IP": "CN",
"Andorra": "AD",
"United Arab Emirates": "AE",
"Afghanistan": "AF",
"Antigua and Barbuda": "AG",
"Anguilla": "AI",
"Albania": "AL",
"Armenia": "AM",
"Angola": "AO",
"Antarctica": "AQ",
"Argentina": "AR",
"American Samoa": "AS",
"Austria": "AT",
"Australia": "AU",
"Aruba": "AW",
"Ahvenanmaa": "AX",
"Åland Islands": "AX",
"Azerbaijan": "AZ",
"Bosnia and Herzegovina": "BA",
"Barbados": "BB",
"Bangladesh": "BD",
"Belgium": "BE",
"Burkina Faso": "BF",
"Bulgaria": "BG",
"Bahrain": "BH",
"Burundi": "BI",
"Benin": "BJ",
"Saint Barthelemy": "BL",
"Bermuda": "BM",
"Brunei": "BN",
"Brunei Darussalam": "BN",
"Bolivia": "BO",
"Bonaire, Sint Eustatius, and Saba": "BQ",
"Caribbean Netherlands": "BQ",
"Brazil": "BR",
"Bahamas": "BS",
"Bhutan": "BT",
"Bouvet Island": "BV",
"Botswana": "BW",
"Belarus": "BY",
"Belize": "BZ",
"Canada": "CA",
"Cocos (Keeling) Islands": "CC",
"Democratic Republic of the Congo": "CD",
"DR Congo": "CD",
"Central African Republic": "CF",
"Congo Republic": "CG",
"Republic of the Congo": "CG",
"Switzerland": "CH",
"Cote D'Ivoire": "CI",
"Ivory Coast": "CI",
"Cook Islands": "CK",
"Chile": "CL",
"Cameroon": "CM",
"China": "CN",
"Colombia": "CO",
"Costa Rica": "CR",
"Cuba": "CU",
"Cabo Verde": "CV",
"Cape Verde": "CV",
"Curaao": "CW",
"Curaçao": "CW",
"Christmas Island": "CX",
"Cyprus": "CY",
"Czech Republic": "CZ",
"Czechia": "CZ",
"Germany": "DE",
"Djibouti": "DJ",
"Denmark": "DK",
"Dominica": "DM",
"Dominican Republic": "DO",
"Algeria": "DZ",
"Ecuador": "EC",
"Estonia": "EE",
"Egypt": "EG",
"Western Sahara": "EH",
"Eritrea": "ER",
"Spain": "ES",
"Ethiopia": "ET",
"Finland": "FI",
"Fiji": "FJ",
"Falkland Islands": "FK",
"Federated States of Micronesia": "FM",
"Micronesia": "FM",
"Faroe Islands": "FO",
"France": "FR",
"Gabon": "GA",
"United Kingdom": "GB",
"Grenada": "GD",
"Georgia": "GE",
"French Guiana": "GF",
"Guernsey": "GG",
"Ghana": "GH",
"Gibraltar": "GI",
"Greenland": "GL",
"Gambia": "GM",
"Guinea": "GN",
"Guadeloupe": "GP",
"Equatorial Guinea": "GQ",
"Greece": "GR",
"South Georgia and The South Sandwich Islands": "GS",
"Guatemala": "GT",
"Guam": "GU",
"Guinea-Bissau": "GW",
"Guyana": "GY",
"Hong Kong": "HK",
"Heard and McDonald Islands": "HM",
"Heard Island and McDonald Islands": "HM",
"Honduras": "HN",
"Croatia": "HR",
"Haiti": "HT",
"Hungary": "HU",
"Indonesia": "ID",
"Ireland": "IE",
"Israel": "IL",
"Isle of Man": "IM",
"India": "IN",
"British Indian Ocean Territory": "IO",
"Iraq": "IQ",
"Iran": "IR",
"Iceland": "IS",
"Italy": "IT",
"Jersey": "JE",
"Jamaica": "JM",
"Jordan": "JO",
"Japan": "JP",
"Kenya": "KE",
"Kyrgyzstan": "KG",
"Cambodia": "KH",
"Kiribati": "KI",
"Comoros": "KM",
"Saint Kitts and Nevis": "KN",
"St Kitts and Nevis": "KN",
"North Korea": "KP",
"South Korea": "KR",
"Kuwait": "KW",
"Cayman Islands": "KY",
"Kazakhstan": "KZ",
"Laos": "LA",
"Lebanon": "LB",
"Saint Lucia": "LC",
"Liechtenstein": "LI",
"Sri Lanka": "LK",
"Liberia": "LR",
"Lesotho": "LS",
"Lithuania": "LT",
"Luxembourg": "LU",
"Latvia": "LV",
"Libya": "LY",
"Morocco": "MA",
"Monaco": "MC",
"Moldova": "MD",
"Montenegro": "ME",
"Saint Martin": "MF",
"Madagascar": "MG",
"Marshall Islands": "MH",
"North Macedonia": "MK",
"The Republic of North Macedonia": "MK",
"Mali": "ML",
"Myanmar": "MM",
"Mongolia": "MN",
"Macao": "MO",
"Northern Mariana Islands": "MP",
"Martinique": "MQ",
"Mauritania": "MR",
"Montserrat": "MS",
"Malta": "MT",
"Mauritius": "MU",
"Maldives": "MV",
"Malawi": "MW",
"Mexico": "MX",
"Malaysia": "MY",
"Mozambique": "MZ",
"Namibia": "NA",
"New Caledonia": "NC",
"Niger": "NE",
"Norfolk Island": "NF",
"Nigeria": "NG",
"Nicaragua": "NI",
"Netherlands": "NL",
"The Netherlands": "NL",
"Norway": "NO",
"Nepal": "NP",
"Nauru": "NR",
"Niue": "NU",
"New Zealand": "NZ",
"Oman": "OM",
"Panama": "PA",
"Peru": "PE",
"French Polynesia": "PF",
"Papua New Guinea": "PG",
"Philippines": "PH",
"Pakistan": "PK",
"Poland": "PL",
"Saint Pierre and Miquelon": "PM",
"Saint-Pierre and Miquelon": "PM",
"Pitcairn": "PN",
"Pitcairn Islands": "PN",
"Puerto Rico": "PR",
"Palestine": "PS",
"Portugal": "PT",
"Palau": "PW",
"Paraguay": "PY",
"Qatar": "QA",
"Reunion": "RE",
"Romania": "RO",
"Serbia": "RS",
"Russia": "RU",
"Rwanda": "RW",
"Saudi Arabia": "SA",
"Solomon Islands": "SB",
"Seychelles": "SC",
"Sudan": "SD",
"Sweden": "SE",
"Singapore": "SG",
"Saint Helena": "SH",
"Slovenia": "SI",
"Svalbard and Jan Mayen": "SJ",
"Slovakia": "SK",
"Sierra Leone": "SL",
"San Marino": "SM",
"Senegal": "SN",
"Somalia": "SO",
"Suriname": "SR",
"South Sudan": "SS",
"Sao Tome and Principe": "ST",
"El Salvador": "SV",
"Sint Maarten": "SX",
"Syria": "SY",
"Eswatini": "SZ",
"Swaziland": "SZ",
"Turks and Caicos Islands": "TC",
"Chad": "TD",
"French Southern and Antarctic Lands": "TF",
"French Southern Territories": "TF",
"Togo": "TG",
"Thailand": "TH",
"Tajikistan": "TJ",
"Tokelau": "TK",
"East Timor": "TL",
"Timor-Leste": "TL",
"Turkmenistan": "TM",
"Tunisia": "TN",
"Tonga": "TO",
"Turkey": "TR",
"Trinidad and Tobago": "TT",
"Tuvalu": "TV",
"Taiwan": "TW",
"Tanzania": "TZ",
"Ukraine": "UA",
"Uganda": "UG",
"US Minor Outlying Islands": "UM",
"US-Outlying Islands": "UM",
"Unknown": "Unknown",
"United States": "US",
"Uruguay": "UY",
"Uzbekistan": "UZ",
"Vatican City": "VA",
"Saint Vincent and the Grenadines": "VC",
"St Vincent and Grenadines": "VC",
"Venezuela": "VE",
"British Virgin Islands": "VG",
"United States Virgin Islands": "VI",
"US-Virgin Islands": "VI",
"Viet Nam": "VN",
"Vietnam": "VN",
"Vanuatu": "VU",
"Wallis and Futuna": "WF",
"Samoa": "WS",
"Kosovo": "XK",
"The Republic of Kosovo": "XK",
"Yemen": "YE",
"Mayotte": "YT",
"South Africa": "ZA",
"Zambia": "ZM",
"Zimbabwe": "ZW"
}
export const reg = {
// 不严格ipv4
notStrictIpv4: /(?:[0-9]{1,}\.){0,}[0-9]{1,}(\.)?/g,
// 不严格Ipv4带单引号
notStrictWithQuotIpv4: /'(?:[0-9]{1,}\.){0,}[0-9]{1,}(\.)?'/g,
// 不严格ipv6
notStrictIpv6: /(:{0,}[a-fA-F\d]{0,}){0,}:+([a-fA-F\d]{0,}:{0,}){0,}/g,
// 不严格Ipv6带单引号
2022-04-13 10:14:36 +08:00
notStrictWithQuotIpv6: /'(:{0,}[a-fA-F\d]{0,}){0,}:+([a-fA-F\d]{0,}:{0,}){0,}'/g,
// sql字段名
sqlColumn: /(^_([a-zA-Z0-9]_?)*$)|(^[a-zA-Z](_?[a-zA-Z0-9])*_?$)/g,
// 含有中文
containChinese: /[\u4E00-\u9FA5\uF900-\uFA2D]+/
}
2022-06-08 15:31:41 +08:00
export const report = {
timeRuleList: [
{ name: 'today', value: 'today' },
{ name: 'yesterday', value: 'yesterday' },
{ name: 'this', value: 'this' },
{ name: 'last', value: 'last' },
{ name: 'previous', value: 'previous' },
{ name: 'customize', value: 'customize' }
],
timeUnitList: [
{ name: 'minute', value: 'minute' },
{ name: 'hour', value: 'hour' },
{ name: 'day', value: 'day' },
{ name: 'week', value: 'week' },
{ name: 'month', value: 'month' },
{ name: 'year', value: 'year' }
],
scheduleTypeList: [
{ name: 'report.daily', value: 'day' },
{ name: 'report.weekly', value: 'week' },
{ name: 'report.monthly', value: 'month' },
{ name: 'report.oneTime', value: '' }
],
weekdayList: [
{ name: 'report.sunday', value: 1 },
{ name: 'report.monday', value: 2 },
{ name: 'report.tuesday', value: 3 },
{ name: 'report.wednesday', value: 4 },
{ name: 'report.thursday', value: 5 },
{ name: 'report.friday', value: 6 },
{ name: 'report.saturday', value: 7 }
],
monthList: [
{ name: 'report.january', value: 1 },
{ name: 'report.february', value: 2 },
{ name: 'report.march', value: 3 },
{ name: 'report.april', value: 4 },
{ name: 'report.may', value: 5 },
{ name: 'report.june', value: 6 },
{ name: 'report.july', value: 7 },
{ name: 'report.august', value: 8 },
{ name: 'report.september', value: 9 },
{ name: 'report.october', value: 10 },
{ name: 'report.november', value: 11 },
{ name: 'report.december', value: 12 }
],
weekOptions: [
2022-06-08 18:32:52 +08:00
{ name: 'report.1stWeek', value: 1 },
{ name: 'report.2ndWeek', value: 2 },
{ name: 'report.3rdWeek', value: 3 },
{ name: 'report.4thWeek', value: 4 },
2022-06-08 15:31:41 +08:00
{ name: 'report.lastWeek', value: 5 }
]
}
2023-06-02 14:30:57 +08:00
// 实体详情标签 type: positive绿 | normal灰 | negative红
export const entityDetailTags = {
domain: [
{
name: 'category',
type: 'normal'
},
{
name: 'malwareName',
type: 'negative'
},
{
name: 'nodeType',
type: 'negative'
}
],
ip: [
{
name: 'isp',
type: 'normal'
},
{
name: 'malwareName',
type: 'negative'
},
{
name: 'nodeType',
type: 'negative'
2023-06-08 17:10:58 +08:00
},
{
name: 'type',
type: 'negative'
2023-06-02 14:30:57 +08:00
}
],
app: [
{
name: 'subcategory',
type: 'normal'
},
{
name: 'company',
type: 'normal'
}
]
}
2023-06-08 17:10:58 +08:00
// 赛风3IP的type字段字典
export const psiphon3IpType = [
{
name: 'Psiphon3 server',
value: 0
},
{
name: 'Psiphon3 cdn',
value: 1
}
]
2023-08-03 18:47:18 +08:00
// detection新增页的第一步选择mode
export const detectionRuleType = {
indicator: 'Indicator Match',
threshold: 'Threshold'
}
// 顶级域名列表
export const topDomain = ['ac', 'com.ac', 'edu.ac', 'gov.ac', 'net.ac', 'mil.ac', 'org.ac', 'ad', 'nom.ad', 'ae', 'co.ae', 'net.ae', 'org.ae', 'sch.ae', 'ac.ae', 'gov.ae', 'mil.ae', 'aero', 'accident-investigation.aero', 'accident-prevention.aero', 'aerobatic.aero', 'aeroclub.aero', 'aerodrome.aero', 'agents.aero', 'aircraft.aero', 'airline.aero', 'airport.aero', 'air-surveillance.aero', 'airtraffic.aero', 'air-traffic-control.aero', 'ambulance.aero', 'amusement.aero', 'association.aero', 'author.aero', 'ballooning.aero', 'broker.aero', 'caa.aero', 'cargo.aero', 'catering.aero', 'certification.aero', 'championship.aero', 'charter.aero', 'civilaviation.aero', 'club.aero', 'conference.aero', 'consultant.aero', 'consulting.aero', 'control.aero', 'council.aero', 'crew.aero', 'design.aero', 'dgca.aero', 'educator.aero', 'emergency.aero', 'engine.aero', 'engineer.aero', 'entertainment.aero', 'equipment.aero', 'exchange.aero', 'express.aero', 'federation.aero', 'flight.aero', 'fuel.aero', 'gliding.aero', 'government.aero', 'groundhandling.aero', 'group.aero', 'hanggliding.aero', 'homebuilt.aero', 'insurance.aero', 'journal.aero', 'journalist.aero', 'leasing.aero', 'logistics.aero', 'magazine.aero', 'maintenance.aero', 'media.aero', 'microlight.aero', 'modelling.aero', 'navigation.aero', 'parachuting.aero', 'paragliding.aero', 'passenger-association.aero', 'pilot.aero', 'press.aero', 'production.aero', 'recreation.aero', 'repbody.aero', 'res.aero', 'research.aero', 'rotorcraft.aero', 'safety.aero', 'scientist.aero', 'services.aero', 'show.aero', 'skydiving.aero', 'software.aero', 'student.aero', 'trader.aero', 'trading.aero', 'trainer.aero', 'union.aero', 'workinggroup.aero', 'works.aero', 'af', 'gov.af', 'com.af', 'org.af', 'net.af', 'edu.af', 'ag', 'com.ag', 'org.ag', 'net.ag', 'co.ag', 'nom.ag', 'ai', 'off.ai', 'com.ai', 'net.ai', 'org.ai', 'al', 'com.al', 'edu.al', 'gov.al', 'mil.al', 'net.al', 'org.al', 'am', 'co.am', 'com.am', 'commune.am', 'net.am', 'org.am', 'ao', 'ed.ao', 'gv.ao', 'og.ao', 'co.ao', 'pb.ao', 'it.ao', 'aq', 'ar', 'com.ar', 'edu.ar', 'gob.ar', 'gov.ar', 'int.ar', 'mil.ar', 'musica.ar', 'net.ar', 'org.ar', 'tur.ar', 'arpa', 'e164.arpa', 'in-addr.arpa', 'ip6.arpa', 'iris.arpa', 'uri.arpa', 'urn.arpa', 'as', 'gov.as', 'asia', 'at', 'ac.at', 'co.at', 'gv.at', 'or.at', 'sth.ac.at', 'au', 'com.au', 'net.au', 'org.au', 'edu.au', 'gov.au', 'asn.au', 'id.au', 'info.au', 'conf.au', 'oz.au', 'act.au', 'nsw.au', 'nt.au', 'qld.au', 'sa.au', 'tas.au', 'vic.au', 'wa.au', 'act.edu.au', 'catholic.edu.au', 'nsw.edu.au', 'nt.edu.au', 'qld.edu.au', 'sa.edu.au', 'tas.edu.au', 'vic.edu.au', 'wa.edu.au', 'qld.gov.au', 'sa.gov.au', 'tas.gov.au', 'vic.gov.au', 'wa.gov.au', 'schools.nsw.edu.au', 'aw', 'com.aw', 'ax', 'az', 'com.az', 'net.az', 'int.az', 'gov.az', 'org.az', 'edu.az', 'info.az', 'pp.az', 'mil.az', 'name.az', 'pro.az', 'biz.az', 'ba', 'com.ba', 'edu.ba', 'gov.ba', 'mil.ba', 'net.ba', 'org.ba', 'bb', 'biz.bb', 'co.bb', 'com.bb', 'edu.bb', 'gov.bb', 'info.bb', 'net.bb', 'org.bb', 'store.bb', 'tv.bb', '*.bd', 'be', 'ac.be', 'bf', 'gov.bf', 'bg', 'a.bg', 'b.bg', 'c.bg', 'd.bg', 'e.bg', 'f.bg', 'g.bg', 'h.bg', 'i.bg', 'j.bg', 'k.bg', 'l.bg', 'm.bg', 'n.bg', 'o.bg', 'p.bg', 'q.bg', 'r.bg', 's.bg', 't.bg', 'u.bg', 'v.bg', 'w.bg', 'x.bg', 'y.bg', 'z.bg', '0.bg', '1.bg', '2.bg', '3.bg', '4.bg', '5.bg', '6.bg', '7.bg', '8.bg', '9.bg', 'bh', 'com.bh', 'edu.bh', 'net.bh', 'org.bh', 'gov.bh', 'bi', 'co.bi', 'com.bi', 'edu.bi', 'or.bi', 'org.bi', 'biz', 'bj', 'asso.bj', 'barreau.bj', 'gouv.bj', 'bm', 'com.bm', 'edu.bm', 'gov.bm', 'net.bm', 'org.bm', 'bn', 'com.bn', 'edu.bn', 'gov.bn', 'net.bn', 'org.bn', 'bo', 'com.bo', 'edu.bo', 'gob.bo', 'int.bo', 'org.bo', 'net.bo', 'mil.bo', 'tv.bo', 'web.bo', 'academia.bo', 'agro.bo', 'arte.bo', 'blog.bo', 'bolivia.bo', 'ciencia.bo', 'cooperativa.bo', 'democracia.bo', 'deporte.bo', 'ecologia.bo', 'economia.bo', 'empresa.bo', 'indigena.bo', 'industria.bo', 'info.bo', 'medicina.bo', 'movimiento.bo', 'musica.bo', 'natural.bo', 'nombre.bo', 'noticias.bo', 'patria.bo', 'politica.bo', 'profesional.b