优化日志详情域名信息显示

This commit is contained in:
Alex Yang
2025-12-30 15:17:49 +08:00
parent 97413e88f0
commit 2524336bab
4 changed files with 632 additions and 67 deletions

83
static/css/vendor/tailwind.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -24,9 +24,8 @@
"20": "云服务",
"21": "网络存储",
"22": "网络服务",
"23": "CDN网络分发平台",
"24": "支付平台",
"25": "其他"
"23": "支付平台",
"24": "其他"
},
"domains": {
"网易": {
@@ -115,7 +114,7 @@
},
"支付宝": {
"name": "支付宝",
"categoryId": 24,
"categoryId": 23,
"url": "https://www.alipay.com/",
"icon": "https://www.alipay.com/favicon.ico"
},
@@ -139,6 +138,12 @@
},
"icon": "https://www.aliyun.com/favicon.ico"
},
"万网": {
"name": "万网",
"categoryId": 0,
"url": "https://www.hichina.com/",
"icon": "https://www.aliyun.com/favicon.ico"
},
"company": "阿里云计算有限公司/阿里巴巴集团"
},
"UC":{
@@ -179,13 +184,13 @@
},
"微信开放平台": {
"name": "微信开放平台",
"categoryId": 24,
"categoryId": 22,
"url": "https://open.weixin.qq.com/",
"icon": "https://open.weixin.qq.com/favicon.ico"
},
"微信支付": {
"name": "微信支付商户平台",
"categoryId": 24,
"categoryId": 23,
"url": {"1": "pay.weixin.qq.com",
"2": "pay.wechatpay.cn",
"3": "act.weixin.qq.com",
@@ -207,7 +212,7 @@
},
"微信支付海外版": {
"name": "微信支付海外版",
"categoryId": 24,
"categoryId": 23,
"url": {"1": "https://pay.wechatpay.global/",
"2": "apihk.mch.weixin.qq.com",
"3": "apius.mch.weixin.qq.com"
@@ -307,13 +312,13 @@
"微信青少年相关":{
"微信守护平台":{
"name": "微信守护平台",
"categoryId": 24,
"categoryId": 22,
"url": "wxguard.weixin.qq.com",
"icon": "https://open.weixin.qq.com/favicon.ico"
},
"微信未成年人服务短链接":{
"name": "微信未成年人服务短链接",
"categoryId": 24,
"categoryId": 22,
"url": {"1": "minorshort.weixin.qq.com",
"2": "szminorshort.weixin.qq.com"
},
@@ -321,7 +326,7 @@
},
"深圳地区扩展短链接":{
"name": "深圳地区扩展短链接",
"categoryId": 24,
"categoryId": 22,
"url": "szextshort.weixin.qq.com",
"icon": "https://open.weixin.qq.com/favicon.ico"
},
@@ -330,20 +335,37 @@
"高德地图相关": {
"高德地图": {
"name": "高德地图",
"categoryId": 7,
"url": "https://map.amap.com/",
"categoryId": 12,
"url": {"1": "https://map.amap.com/",
"2": "https://ditu.amap.com/",
"3": "https://www.amap.com/"
},
"icon": "https://a.amap.com/pc/static/favicon.ico"
},
"高德开放平台": {
"name": "高德开放平台",
"categoryId": 7,
"categoryId": 22,
"url": "lbs.amap.com",
"icon": "https://a.amap.com/pc/static/favicon.ico"
},
"高德地图API": {
"name": "高德地图API",
"categoryId": 7,
"url": "https://restapi.amap.com/",
"categoryId": 22,
"url": {"1":"https://restapi.amap.com/",
"2": "https://webapi.amap.com/"
},
"icon": "https://a.amap.com/pc/static/favicon.ico"
},
"猎鹰轨迹服务": {
"name": "猎鹰轨迹服务",
"categoryId": 22,
"url": "https://tsapi.amap.com/",
"icon": "https://a.amap.com/pc/static/favicon.ico"
},
"静态资源缓存": {
"name": "高德静态资源缓存",
"categoryId": 2,
"url": "cache.amap.com",
"icon": "https://a.amap.com/pc/static/favicon.ico"
},
"company": "北京高德图强科技有限公司"
@@ -379,7 +401,13 @@
"url": "msftncsi.com",
"icon": "https://www.microsoft.com/favicon.ico"
},
"company": "微软公司"
"微软MSN": {
"name": "微软MSN",
"categoryId": 0,
"url": "https://www.msn.cn/",
"icon": "https://www.msn.cn/favicon.ico"
},
"company": "微软 Microsoft"
},
"字节跳动": {
"抖音": {
@@ -402,13 +430,13 @@
},
"字节跳动API服务": {
"name": "字节API服务",
"categoryId": 0,
"categoryId": 22,
"url": "zijieapi.com",
"icon": "data:image/vnd.microsoft.icon;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAACFlBMVEUAAACp3f8yW7U8jf8zW7U/3vJA5P8AydMzW7VPlP955908jP8AydM8jf8yWrV5590yWrV45908jf8yW7UyW7UyW7V55909jf88jf8yW7UzW7V56N49jf80XLY+j/80XbY/lf8zZr5Ilf9GXbkA2+RCY70zZsx459x5590AydI8jP8AydN4590AydM8jf8AydM8jf88jf94590AyNM8jf8AydN5590AydM8jf8AyNIAytR5594zW7V56N09jf955948jf8AydMAytN65948jf956N56594AytMAy9Q9jv976d8AytYAy9Z66N566uE/jv8AztUAy9cAytV56OSD798A0NYAydM8jP95590yW7R45twAydN45909jP8yWrU8jf945t0AydIyWrV5590AydIyW7UzWrU8jf8AydIzW7UzWrV459145908jf8yW7UAydM8jP8AydM8jf9459155909jf8zW7UAydQAytMAydN56N0AydMzXLYAydM0W7UAydQ8jv8+jv8Ay9QzW7Y9jf965t176N80W7YAydN56N156d4yW7U0XLc+jv8+kP8Ay9VAj/81XbgAzNQ1XbY5XbZAkf9+7eQ7Yrp96+FDlv+F6emI/+4AydN55t15594AydM+jf8+jf8+jv8AydQ1W7QzW7UAydR75942XbUyWrR86OCA8uYAztqA8eN45twyWrQAyNI8jP8bed+KAAAArnRSTlMAAfb9+wUD8HMJ/fr59+jb1dTLt6eamY+Jg3xXTkhHOhIRDQsJBwX59vbr4+Dc1tXRxcC7ubSqoJuak5CKiIN+enlyb21lXVFEQj09NzAnJiQdGBUPDvzx8O/s6Obl397OzsvIyMXEwcG/vbiysbGuqqeknZSTkI2Gf3ZraGViX15YWFVTUk9OS0pEQUA8MzAtLSomHx4bGhkXCwfApKCAdGdjXlxaWTY0MyEUFBKNTPVmAAAFHElEQVR42uzX105UYRSG4YUyiCgqKvbeK3ZFsaCCXUHE3kvU2FvU2EussfcSY2KiiSUDc4fuTcl/xr8/ZuZk7/e9g/UcfcuIiIiIiIiIiIiIiMhf7wFDPxlFKx1UdunBX6NoWGEHqp40GnmwXCWHlzz9YuTBck2cvWzdVyMPlmtSAJYy8mE5sJPXNhYYebBcO06tBMyP5do1v3aTkcPytedb7R8jh+Vr2sVVHyzxpaMXfEZbLNGltcqqHjba8LGWzNJyJdZUeHTws/GWvNJ61hTW5cSQkRMsWXUWqxWsX/HvJC2xTmK5dp4pfp0UsCywXL3633hrCShrLAd2653FvBxgufaV//xoMS5HWK4+5fdHW0zLJZYDu/wolmC5xXIVHlocv6GfcyxX/IZ+HrHiN/TziuWGvsWiLLCULBaBBVZLYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYOW1erCitfn2gqnNYPlruLdwenMQWJ7+rV40I3QCy9PWx1cOhkZgeRq35uqRbYEPWD6o9d+P9wxxwOq41IblcyaHMGB1XNHLFfO6hShgeXpz/WwLFFie6m+e3x1igBVlmgeB5anhV+s0B8tX2zQHK0rB8WCBZQYWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIGVZKyKgcNGmYEVCSuTyXTtO2jEGLCiYYX1mLV0bXewfFiu0mPVz1NgebEc2NzqF0Vg+bBc20/XvCoAy4flmnKupg4sL5Zr74UfdWB5sVz7K++8B8theauovPsZLIflbWYw9MGKiNU+9MGKlBv6YEWvFCwhsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMD6325d7cQVhWEY/ocWn9JSoO5GhTqlSo2Wurt72qbu3lRwgruEQCCBE+6RHQ7YR7DWP8OeWSHvewnPwZcPLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLCmGtbhHclg+Vimkk4f2r4OLLEu8dS3Z2Gw7Ft1/OvjMFj2Xan48uAqWAqwY3s2g6Xo4r/dG8FSdKF/5wawFJ3/9e4WWIoaf7xJBsu+UJ139MHyszr6YKmOfncYLM3RB0sRWGDZBBZYYIEFFlhggQUWWGBFgpWQBZYd1PMFS9cIWMamP5lfvVq8wDJAPdy3eKV4gWVo1ufy5eIFlhigcv6PQoFlwLqbM9AmXmAZsDKyfzeLX6BY6U/FJjexMrJ/NolfoFjTZs9bkipWuYd143VKQ0iiyh5qy9xFK8Q6t7ASslKGfKiAsTZ9KlkmqtzB8q95DLDu7frbIXEvIiz/mscC6877Py3iRJFg+dc8cKz1b/vOiTPprdJk0hsH6tWRenEqpVTmx9JhkeCxruX31obEtRRQM+csvCTq9Fgz8g/WJImLWULl9RS3ijo9VvrW/SdSxdUsoG4XHD0rgRb3az45WDcLitRQ+uJ+zaPHuv6y6ExsRjbu1zw6rLUvvg+6ObKqgsfK3XbgZKKQESv3UWFVl5ARK+1+YWWnkBkrc2/ZZaGJG7vmZC7vQ3G7EBERERERERERERER0dRtBK5Q857p1uutAAAAAElFTkSuQmCC"
},
"今日头条API服务":{
"name": "今日头条API 服务",
"categoryId": 0,
"categoryId": 22,
"url": "toutiaoapi.com",
"icon": "https://www.toutiao.com/favicon.ico"
},
@@ -418,6 +446,42 @@
"url": "doubao.com",
"icon": "https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png"
},
"飞书": {
"name": "飞书",
"categoryId": 0,
"url": "https://www.feishu.cn/",
"icon": "https://www.feishu.cn/favicon.ico"
},
"CDN": {
"字节静态资源":{
"name": "字节系产品的官方文档、帮助中心、API 参考、静态资源",
"categoryId": 2,
"url": {
"1": "bytednsdoc.com",
"2": "bytecdntp.com",
"3": "bytescm.com",
"4": "byteimg.com"
},
"icon": "data:image/vnd.microsoft.icon;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAACFlBMVEUAAACp3f8yW7U8jf8zW7U/3vJA5P8AydMzW7VPlP955908jP8AydM8jf8yWrV5590yWrV45908jf8yW7UyW7UyW7V55909jf88jf8yW7UzW7V56N49jf80XLY+j/80XbY/lf8zZr5Ilf9GXbkA2+RCY70zZsx459x5590AydI8jP8AydN4590AydM8jf8AydM8jf88jf94590AyNM8jf8AydN5590AydM8jf8AyNIAytR5594zW7V56N09jf955948jf8AydMAytN65948jf956N56594AytMAy9Q9jv976d8AytYAy9Z66N566uE/jv8AztUAy9cAytV56OSD798A0NYAydM8jP95590yW7R45twAydN45909jP8yWrU8jf945t0AydIyWrV5590AydIyW7UzWrU8jf8AydIzW7UzWrV459145908jf8yW7UAydM8jP8AydM8jf9459155909jf8zW7UAydQAytMAydN56N0AydMzXLYAydM0W7UAydQ8jv8+jv8Ay9QzW7Y9jf965t176N80W7YAydN56N156d4yW7U0XLc+jv8+kP8Ay9VAj/81XbgAzNQ1XbY5XbZAkf9+7eQ7Yrp96+FDlv+F6emI/+4AydN55t15594AydM+jf8+jf8+jv8AydQ1W7QzW7UAydR75942XbUyWrR86OCA8uYAztqA8eN45twyWrQAyNI8jP8bed+KAAAArnRSTlMAAfb9+wUD8HMJ/fr59+jb1dTLt6eamY+Jg3xXTkhHOhIRDQsJBwX59vbr4+Dc1tXRxcC7ubSqoJuak5CKiIN+enlyb21lXVFEQj09NzAnJiQdGBUPDvzx8O/s6Obl397OzsvIyMXEwcG/vbiysbGuqqeknZSTkI2Gf3ZraGViX15YWFVTUk9OS0pEQUA8MzAtLSomHx4bGhkXCwfApKCAdGdjXlxaWTY0MyEUFBKNTPVmAAAFHElEQVR42uzX105UYRSG4YUyiCgqKvbeK3ZFsaCCXUHE3kvU2FvU2EussfcSY2KiiSUDc4fuTcl/xr8/ZuZk7/e9g/UcfcuIiIiIiIiIiIiIiMhf7wFDPxlFKx1UdunBX6NoWGEHqp40GnmwXCWHlzz9YuTBck2cvWzdVyMPlmtSAJYy8mE5sJPXNhYYebBcO06tBMyP5do1v3aTkcPytedb7R8jh+Vr2sVVHyzxpaMXfEZbLNGltcqqHjba8LGWzNJyJdZUeHTws/GWvNJ61hTW5cSQkRMsWXUWqxWsX/HvJC2xTmK5dp4pfp0UsCywXL3633hrCShrLAd2653FvBxgufaV//xoMS5HWK4+5fdHW0zLJZYDu/wolmC5xXIVHlocv6GfcyxX/IZ+HrHiN/TziuWGvsWiLLCULBaBBVZLYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYAmBJQSWEFhCYOW1erCitfn2gqnNYPlruLdwenMQWJ7+rV40I3QCy9PWx1cOhkZgeRq35uqRbYEPWD6o9d+P9wxxwOq41IblcyaHMGB1XNHLFfO6hShgeXpz/WwLFFie6m+e3x1igBVlmgeB5anhV+s0B8tX2zQHK0rB8WCBZQYWWGCBBRZYYIEFFlhggQUWWGCBBRZYYIGVZKyKgcNGmYEVCSuTyXTtO2jEGLCiYYX1mLV0bXewfFiu0mPVz1NgebEc2NzqF0Vg+bBc20/XvCoAy4flmnKupg4sL5Zr74UfdWB5sVz7K++8B8theauovPsZLIflbWYw9MGKiNU+9MGKlBv6YEWvFCwhsMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLDAAgsssMD6325d7cQVhWEY/ocWn9JSoO5GhTqlSo2Wurt72qbu3lRwgruEQCCBE+6RHQ7YR7DWP8OeWSHvewnPwZcPLLDAAgsssMACCyywwAILLLDAAgsssMACCyywwAILLLCmGtbhHclg+Vimkk4f2r4OLLEu8dS3Z2Gw7Ft1/OvjMFj2Xan48uAqWAqwY3s2g6Xo4r/dG8FSdKF/5wawFJ3/9e4WWIoaf7xJBsu+UJ139MHyszr6YKmOfncYLM3RB0sRWGDZBBZYYIEFFlhggQUWWGBFgpWQBZYd1PMFS9cIWMamP5lfvVq8wDJAPdy3eKV4gWVo1ufy5eIFlhigcv6PQoFlwLqbM9AmXmAZsDKyfzeLX6BY6U/FJjexMrJ/NolfoFjTZs9bkipWuYd143VKQ0iiyh5qy9xFK8Q6t7ASslKGfKiAsTZ9KlkmqtzB8q95DLDu7frbIXEvIiz/mscC6877Py3iRJFg+dc8cKz1b/vOiTPprdJk0hsH6tWRenEqpVTmx9JhkeCxruX31obEtRRQM+csvCTq9Fgz8g/WJImLWULl9RS3ijo9VvrW/SdSxdUsoG4XHD0rgRb3az45WDcLitRQ+uJ+zaPHuv6y6ExsRjbu1zw6rLUvvg+6ObKqgsfK3XbgZKKQESv3UWFVl5ARK+1+YWWnkBkrc2/ZZaGJG7vmZC7vQ3G7EBERERERERERERER0dRtBK5Q857p1uutAAAAAElFTkSuQmCC"
},
"今日头条静态资源":{
"name": "今日头条静态资源",
"categoryId": 2,
"url": {
"1": "toutiaoimg.com",
"2": "toutiaostatic.com"
},
"icon": "https://www.toutiao.com/favicon.ico"
},
"飞书CDN":{
"name": "飞书CDN",
"categoryId": 2,
"url": {
"1": "feishucdn.com"
},
"icon": "https://lf-flow-web-cdn.doubao.com/obj/flow-doubao/doubao/chat/favicon.png"
}
},
"company": "字节跳动有限公司"
},
"金山办公": {
@@ -443,7 +507,7 @@
},
"WPS CDN": {
"name": "WPS CDN",
"categoryId": 23,
"categoryId": 2,
"url": {
"1":"wpsdns.com",
"2":"kdocs-om.wpscdn.cn",
@@ -507,6 +571,218 @@
},
"company": "绮梦之家"
},
"微步在线": {
"微步在线": {
"name": "微步在线",
"categoryId": 0,
"url": "https://threatbook.com/",
"icon": "https://threatbook.com/favicon.ico"
},
"微步情报社区": {
"name": "微步情报社区",
"categoryId": 0,
"url": "https://x.threatbook.com/",
"icon": "https://x.threatbook.com/public/asset/img/favicon.ico?t=1"
},
"微步OneDNS": {
"name": "OneDNS互联网安全接入服务",
"categoryId": 0,
"url": "https://onedns.net/",
"icon": "https://onedns.net/favicon.ico",
"company": "北京微步在线科技有限公司"
},
"company": "北京步刻科技有限公司/北京微步在线科技有限公司"
},
"飞致云": {
"飞致云": {
"name": "飞致云",
"categoryId": 0,
"url": {
"1":"https://fit2cloud.com/",
"2":"https://www.fit2cloud.com/"
},
"icon": "https://fit2cloud.com/images/logo/favicon.ico"
},
"1Panel":{
"name": "1Panel",
"categoryId": 0,
"url": "https://1panel.cn/",
"icon": "https://1panel.cn/favicon.png"
},
"company": "北京飞致云科技有限公司"
},
"Tailwind CSS": {
"Tailwind": {
"name": "Tailwind CSS",
"categoryId": 0,
"url": {
"1":"https://tailwindcss.com/",
"2":"https://cdn.tailwindcss.com/"
},
"icon": "https://tailwindcss.com/favicons/favicon-32x32.png?v=4"
},
"company": "Tailwind Labs"
},
"小米": {
"小米官网": {
"name": "小米官网",
"categoryId": 0,
"url": "https://www.mi.com/",
"icon": "https://www.mi.com/favicon.ico"
},
"小米应用商店": {
"name": "小米应用商店",
"categoryId": 0,
"url": "hhttps://app.mi.com/",
"icon": "https://cdn.cnbj3-fusion.fds.api.mi-img.com/mi-dev-web/production/static/_next/static/media/favicon.d179c114.ico"
},
"小米开发者服务": {
"name": "小米开发者服务",
"categoryId": 0,
"url": "https://dev.mi.com/",
"icon": "https://dev.mi.com/favicon.ico"
},
"小米主题": {
"name": "小米主题",
"categoryId": 0,
"url": "https://zhuti.designer.xiaomi.com/",
"icon": "https://www.mi.com/favicon.ico"
},
"小米社区": {
"name": "小米社区",
"categoryId": 0,
"url": "https://www.xiaomi.com/community/",
"icon": "https://www.xiaomi.com/favicon.ico"
},
"小米汽车": {
"name": "小米汽车",
"categoryId": 0,
"url": "https://www.xiaomiev.com/",
"icon": "https://www.xiaomiev.com/favicon.ico"
},
"小米澎湃OS": {
"name": "小米澎湃OS",
"categoryId": 0,
"url": "https://hyperos.mi.com/",
"icon": "https://hyperos.mi.com/favicon.ico"
},
"小米MIUI": {
"name": "小米MIUI",
"categoryId": 0,
"url": {
"1":"https://www.miui.com/",
"2":"https://home.miui.com/"
},
"icon": "https://www.miui.com/favicon.ico"
},
"小米隐私": {
"name": "小米隐私",
"categoryId": 0,
"url": "https://privacy.hyperos.mi.com/",
"icon": "https://cdn.cnbj1.fds.api.mi-img.com/privacy-station/pc/favicon.ico"
},
"小米云服务": {
"name": "小米云服务",
"categoryId": 0,
"url": "https://i.mi.com/",
"icon": "https://i.mi.com/favicon.ico"
},
"小米账号": {
"name": "小米账号",
"categoryId": 0,
"url": "https://account.xiaomi.com/",
"icon": "https://account.xiaomi.com/favicon.ico"
},
"小爱同学": {
"name": "小爱同学",
"categoryId": 0,
"url": "https://xiaoai.mi.com/",
"icon": "https://cdn.cnbj1.fds.api.mi-img.com/aife/ai-hyper-xiaoai-fe/favicon.ico"
},
"小米IoT": {
"name": "小米IoT开发者平台",
"categoryId": 0,
"url": "https://iot.mi.com/",
"icon": "https://cdn.cnbj1.fds.api.mi-img.com/iot-mi-com/prod/favicon.ico"
},
"业务平台": {
"name": "小米业务平台",
"categoryId": 0,
"url": "whippet.bsp.xiaomi.com",
"icon": "https://www.mi.com/favicon.ico"
},
"company": "小米"
},
"七牛云": {
"七牛云官网": {
"name": "七牛云",
"categoryId": 22,
"url": "https://www.qiniu.com/",
"icon": "https://www.qiniu.com/favicon.ico"
},
"Staticfile CDN": {
"name": "Staticfile CDN",
"categoryId": 2,
"url": {
"1":"cdn.staticfile.org",
"2":"cdn.staticfile.net"
},
"icon": "https://www.qiniu.com/favicon.ico"
},
"company": "上海七牛信息技术有限公司"
},
"Akamai": {
"Akamai": {
"name": "Akamai",
"categoryId": 0,
"url": "https://www.akamai.com/",
"icon": "https://www.akamai.com/site/favicon/favicon.ico"
},
"Akamai CDN": {
"name": "Akamai CDN",
"categoryId": 2,
"url": "lf-rc1.yhgfb-cn-static.com",
"icon": "https://www.akamai.com/site/favicon/favicon.ico"
},
"company": "美国阿卡迈科技公司 (Akamai Technologies, Inc.)"
},
"新浪微博": {
"新浪微博": {
"name": "新浪微博",
"categoryId": 0,
"url": "https://weibo.com/",
"icon": "https://weibo.com/favicon.ico"
},
"新浪微博登录": {
"name": "新浪微博登录",
"categoryId": 0,
"url": "https://passport.weibo.com/",
"icon": "https://passport.weibo.com/favicon.ico"
},
"新浪微博开放平台": {
"新浪微博开放平台":{
"name": "新浪微博开放平台",
"categoryId": 22,
"url": "https://open.weibo.com/",
"icon": "https://open.weibo.com/favicon.ico"
},
"新浪微博开放平台API":{
"name": "新浪微博开放平台API",
"categoryId": 22,
"url": "https://api.weibo.com/",
"icon": "https://open.weibo.com/favicon.ico"
}
},
"新浪微博CDN": {
"name": "新浪微博CDN",
"categoryId": 2,
"url": {
"1":"sinaimg.cn"
},
"icon": "https://weibo.com/favicon.ico"
},
"company": "新浪微博"
},
"南京市中医院": {
"南京市中医院": {
"name": "南京市中医院",
@@ -528,8 +804,143 @@
},
"icon": "https://www.tencent.com/favicon.ico",
"company": "腾讯计算机系统有限公司"
},
"南京大学镜像源":{
"name": "南京大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.nju.edu.cn/"
},
"icon": "https://www.nju.edu.cn/favicon.ico",
"company": "南京大学"
},
"高校镜像源联盟":{
"name": "高校镜像源联盟MirrorZ",
"categoryId": 0,
"url": {
"1": "https://mirrorz.org/",
"2":"https://help.mirrorz.org/"
},
"icon": "https://mirrorz.org/static/img/mirrorz.svg",
"company": "MirrorZ Project"
},
"清华大学镜像源":{
"name": "清华大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.tuna.tsinghua.edu.cn/"
},
"icon": "https://mirrors.tuna.tsinghua.edu.cn/static/img/favicon.png",
"company": "清华大学"
},
"中国科学技术大学镜像源":{
"name": "中国科学技术大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.ustc.edu.cn/"
},
"icon": "https://mirrors.ustc.edu.cn/static/img/favicon.png",
"company": "中国科学技术大学"
},
"中国科学院软件研究所镜像源":{
"name": "中国科学院软件研究所开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.iscas.ac.cn/"
},
"icon": "https://api.cas.cn/favicon/is.ico",
"company": "中国科学院软件研究所"
},
"北京外国语大学镜像源":{
"name": "北京外国语大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.bfsu.edu.cn/"
},
"icon": "https://mirrors.bfsu.edu.cn/static/img/favicon.png",
"company": "北京外国语大学"
},
"哈尔滨工业大学镜像源":{
"name": "哈尔滨工业大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.hit.edu.cn/"
},
"icon": "https://mirrors.hit.edu.cn/favicon.svg",
"company": "哈尔滨工业大学"
},
"北京大学镜像源":{
"name": "北京大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.pku.edu.cn/"
},
"icon": "https://mirrors.pku.edu.cn/static/favicon.ico",
"company": "北京大学"
},
"南京工业大学镜像源":{
"name": "南京工业大学开源软件镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.njtech.edu.cn/"
},
"icon": "https://www.njtech.edu.cn/favicon.ico",
"company": "南京工业大学"
},
"南阳理工学院镜像源":{
"name": "南阳理工学院开源软件镜像站",
"categoryId": 0,
"url": {
"1": "https://mirror.nyist.edu.cn/"
},
"icon": "https://cernet.mirror.nyist.edu.cn/static/img/favicon.png",
"company": "南阳理工学院"
},
"思源镜像站":{
"name": "思源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirror.sjtu.edu.cn/"
},
"icon": "https://mirror.sjtu.edu.cn/favicon.ico",
"company": "上海交通大学"
},
"南方科技大学镜像源":{
"name": "南方科技大学开源软件镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.sustech.edu.cn/"
},
"icon": "https://mirrors.sustech.edu.cn/favicon.ico",
"company": "南方科技大学"
},
"浙江大学开源软件镜像站":{
"name": "浙江大学开源软件镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.zju.edu.cn/"
},
"icon": "https://mirrors.zju.edu.cn/index/favicon.svg?v=f28569028f33e6ac676201f84c9d61bf",
"company": "浙江大学"
},
"兰州大学开源社区镜像站":{
"name": "兰州大学开源社区镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.lzu.edu.cn/"
},
"icon": "https://mirrors.lzu.edu.cn/static/img/favicon.png",
"company": "兰州大学"
},
"重庆邮电大学开源镜像站":{
"name": "重庆邮电大学开源镜像站",
"categoryId": 0,
"url": {
"1": "https://mirrors.cqupt.edu.cn/"
},
"icon": "https://mirrors.cqupt.edu.cn/favicon.ico",
"company": "重庆邮电大学"
}
}
}
}

View File

@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DNS服务器控制台</title>
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<script src="css/vendor/tailwind.css"></script>
<!-- Font Awesome -->
<link href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- Chart.js 本地备用 -->

View File

@@ -169,47 +169,95 @@ async function getDomainInfo(domain) {
const companyData = domainInfoDatabase.domains[companyKey];
const companyName = companyData.company || companyKey;
// 遍历公司下的所有网站
// 遍历公司下的所有网站和类别
for (const websiteKey in companyData) {
if (companyData.hasOwnProperty(websiteKey) && websiteKey !== 'company') {
console.log(' 检查网站:', websiteKey);
console.log(' 检查网站/类别:', websiteKey);
const website = companyData[websiteKey];
// 检查域名是否匹配网站的URL
// 如果有URL属性直接检查域名
if (website.url) {
// 处理字符串类型的URL
if (typeof website.url === 'string') {
console.log(' 检查字符串URL:', website.url);
if (isDomainMatch(website.url, normalizedDomain)) {
console.log(' 匹配成功,返回网站信息');
return {
name: website.name,
icon: website.icon,
categoryId: website.categoryId,
categoryName: domainInfoDatabase.categories[website.categoryId] || '未知',
company: companyName
};
if (typeof website.url === 'string') {
console.log(' 检查字符串URL:', website.url);
if (isDomainMatch(website.url, normalizedDomain, website.categoryId)) {
console.log(' 匹配成功,返回网站信息');
return {
name: website.name,
icon: website.icon,
categoryId: website.categoryId,
categoryName: domainInfoDatabase.categories[website.categoryId] || '未知',
company: website.company || companyName
};
}
}
}
// 处理对象类型的URL
else if (typeof website.url === 'object') {
console.log(' 检查对象类型URL包含', Object.keys(website.url).length, '个URL');
for (const urlKey in website.url) {
if (website.url.hasOwnProperty(urlKey)) {
const urlValue = website.url[urlKey];
console.log(' 检查URL', urlKey, ':', urlValue);
if (isDomainMatch(urlValue, normalizedDomain)) {
console.log(' 匹配成功,返回网站信息');
return {
name: website.name,
icon: website.icon,
categoryId: website.categoryId,
categoryName: domainInfoDatabase.categories[website.categoryId] || '未知',
company: companyName
};
// 处理对象类型的URL
else if (typeof website.url === 'object') {
console.log(' 检查对象类型URL包含', Object.keys(website.url).length, '个URL');
for (const urlKey in website.url) {
if (website.url.hasOwnProperty(urlKey)) {
const urlValue = website.url[urlKey];
console.log(' 检查URL', urlKey, ':', urlValue);
if (isDomainMatch(urlValue, normalizedDomain, website.categoryId)) {
console.log(' 匹配成功,返回网站信息');
return {
name: website.name,
icon: website.icon,
categoryId: website.categoryId,
categoryName: domainInfoDatabase.categories[website.categoryId] || '未知',
company: website.company || companyName
};
}
}
}
}
} else if (typeof website === 'object' && website !== null) {
// 没有URL属性可能是嵌套的类别
console.log(' 发现嵌套类别,进一步检查');
for (const nestedWebsiteKey in website) {
if (website.hasOwnProperty(nestedWebsiteKey) && nestedWebsiteKey !== 'company') {
console.log(' 检查嵌套网站:', nestedWebsiteKey);
const nestedWebsite = website[nestedWebsiteKey];
if (nestedWebsite.url) {
// 处理字符串类型的URL
if (typeof nestedWebsite.url === 'string') {
console.log(' 检查字符串URL:', nestedWebsite.url);
if (isDomainMatch(nestedWebsite.url, normalizedDomain, nestedWebsite.categoryId)) {
console.log(' 匹配成功,返回网站信息');
return {
name: nestedWebsite.name,
icon: nestedWebsite.icon,
categoryId: nestedWebsite.categoryId,
categoryName: domainInfoDatabase.categories[nestedWebsite.categoryId] || '未知',
company: nestedWebsite.company || companyName
};
}
}
// 处理对象类型的URL
else if (typeof nestedWebsite.url === 'object') {
console.log(' 检查对象类型URL包含', Object.keys(nestedWebsite.url).length, '个URL');
for (const urlKey in nestedWebsite.url) {
if (nestedWebsite.url.hasOwnProperty(urlKey)) {
const urlValue = nestedWebsite.url[urlKey];
console.log(' 检查URL', urlKey, ':', urlValue);
if (isDomainMatch(urlValue, normalizedDomain, nestedWebsite.categoryId)) {
console.log(' 匹配成功,返回网站信息');
return {
name: nestedWebsite.name,
icon: nestedWebsite.icon,
categoryId: nestedWebsite.categoryId,
categoryName: domainInfoDatabase.categories[nestedWebsite.categoryId] || '未知',
company: nestedWebsite.company || companyName
};
}
}
}
}
} else {
console.log(' 嵌套网站没有URL属性');
}
}
}
} else {
console.log(' 网站没有URL属性');
@@ -224,8 +272,8 @@ async function getDomainInfo(domain) {
}
// 检查域名是否匹配
function isDomainMatch(urlValue, targetDomain) {
console.log(' 开始匹配URL:', urlValue, '目标域名:', targetDomain);
function isDomainMatch(urlValue, targetDomain, categoryId) {
console.log(' 开始匹配URL:', urlValue, '目标域名:', targetDomain, '类别ID:', categoryId);
try {
// 尝试将URL值解析为完整URL
@@ -234,14 +282,25 @@ function isDomainMatch(urlValue, targetDomain) {
const hostname = url.hostname.toLowerCase();
console.log(' 解析成功,主机名:', hostname);
// 只匹配完整域名,不进行主域名匹配
// 这是为了避免同一个公司下的不同网站(如微信和腾讯视频)因为主域名相同而错误匹配
if (hostname === targetDomain) {
console.log(' 完整域名匹配成功');
return true;
// 根据类别ID选择匹配方式
if (categoryId === 2) {
// CDN类别使用域名后缀匹配
if (targetDomain.endsWith('.' + hostname) || targetDomain === hostname) {
console.log(' CDN域名后缀匹配成功');
return true;
} else {
console.log(' CDN域名后缀不匹配');
return false;
}
} else {
console.log(' 完整域名匹配');
return false;
// 其他类别,使用完整域名匹配
if (hostname === targetDomain) {
console.log(' 完整域名匹配成功');
return true;
} else {
console.log(' 完整域名不匹配');
return false;
}
}
} catch (e) {
console.log(' 解析URL失败将其视为纯域名处理错误信息:', e.message);
@@ -249,13 +308,25 @@ function isDomainMatch(urlValue, targetDomain) {
const urlDomain = urlValue.toLowerCase();
console.log(' 处理为纯域名:', urlDomain);
// 只匹配完整域名,不进行主域名匹配
if (urlDomain === targetDomain) {
console.log(' 完整域名匹配成功');
return true;
// 根据类别ID选择匹配方式
if (categoryId === 2) {
// CDN类别使用域名后缀匹配
if (targetDomain.endsWith('.' + urlDomain) || targetDomain === urlDomain) {
console.log(' CDN域名后缀匹配成功');
return true;
} else {
console.log(' CDN域名后缀不匹配');
return false;
}
} else {
console.log(' 完整域名匹配');
return false;
// 其他类别,使用完整域名匹配
if (urlDomain === targetDomain) {
console.log(' 完整域名匹配成功');
return true;
} else {
console.log(' 完整域名不匹配');
return false;
}
}
}
}