1561 lines
35 KiB
JSON
1561 lines
35 KiB
JSON
{
|
||
"checks": [
|
||
{
|
||
"check": "staging and independent DB",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no private production tables copied",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "10 tutorials migrated through API",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "editorial disabled and key removed",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "home HTTP200",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "home latest free-node article",
|
||
"passed": true,
|
||
"detail": "fn20261029"
|
||
},
|
||
{
|
||
"check": "home no free-node menu highlight",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "test robots header",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "test robots meta",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no production analytics",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no new advertising code",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "test canonical",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "robots disallow whole test site",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "HTTP redirects to HTTPS",
|
||
"passed": true,
|
||
"detail": 301
|
||
},
|
||
{
|
||
"check": "blocked legacy/private route /api/article/receive",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "blocked legacy/private route /api/v1/telegram/hook",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "blocked legacy/private route /test/hello",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "blocked legacy/private route /.env",
|
||
"passed": true,
|
||
"detail": 403
|
||
},
|
||
{
|
||
"check": "closed editorial API",
|
||
"passed": true,
|
||
"detail": 503
|
||
},
|
||
{
|
||
"check": "page /freenode",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /shadowrocketids",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /client",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /advanced",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m169.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m174.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m173.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m167.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m172.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m170.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/m171.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "page /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "noindex /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /freenode",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /shadowrocketids",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /client",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /advanced",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m169.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m174.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m173.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m167.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m172.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/mihomo-dns-leak.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m170.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/system-proxy-vs-tun.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/m171.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "no development asset /a/clash-verge-rev-windows.html",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "asset /build/assets/app-BCx10ygF.css",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/app-Ba5joxXD.css",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/app-DDSp2ths.js",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/fa-brands-400-BfBXV7Mm.woff2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/fa-regular-400-BVHPE7da.woff2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/fa-solid-900-8GirhLYJ.woff2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/fa-v4compatibility-DnhYSyY-.woff2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/iconfont-B3tZHDj4.ttf",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /build/assets/iconfont-D7mxe_Lh.woff",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /css/tutorials.css",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/clash-meta-android-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/dns-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/mac-client-guide-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/migration-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/quantumult-x-ios-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/system-proxy-tun-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/v2rayng-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/verge-import.png",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/verge-linux-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/verge-mac-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/verge-system-proxy.png",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /images/tutorials/windows-cover.svg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/136dd033-69bc-4a0f-9d5c-4e9bde1b4722",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/1cc79de9-790c-426b-92a8-61d4d348549b",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/24f44705-9b6b-4b79-bbcc-07d0a1e09993",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/3364360b-f867-428e-9284-713003d72623",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/37281c08-bc04-4bc5-a0fc-70419f8faff1",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/3b68b6cd-eb2c-4959-8b19-6f1f8bd87993",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/3f36c36d-2318-409f-9a03-c183c2e430f2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/52b01b49-274e-48c4-99f5-1391aaa75353",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/604e7b3f-a0ed-4305-b9aa-f8b862fb19c9",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/60f03c67-a343-4395-aa69-dd0c2e1885ec",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/6301fb77-cf09-4038-afbb-ebc50ad3d16e",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/6917791e-9f01-4493-b5b9-f1e55ebd859c",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/76ab0135-5c3f-4e27-8bae-87a94b3d55a2",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/7fd23c13-426c-4d6c-aa2a-c164840125d3",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/816dcf82-7ba5-438a-b478-d360c898030b",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/8c4a15a6-46e7-48f0-b1ed-f19368c47d19",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/8e117bf6-c50f-4c94-84e7-59734908dc23",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/8ed764bb-712e-4006-a154-ca44a0e20b5a",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/aa2c5fb9-adee-458f-aa05-25cb8fa04435",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/aa4edeff-646b-4239-a6d5-2d611bdb4682",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/aad602c5-df77-4e4d-b2a4-5cf2d07df7ae",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/b8ae6926-9dad-4aa6-9c3d-7380bfeb1b8f",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/c3985f2e-8b19-4473-96fc-196203673044",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/c918aae8-c874-4664-acbc-d1cf944109b1",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/d7588720-280e-4ef6-bc4b-776d0a0ba3ab",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/e4d4a911-d0f4-4e4c-901e-a905a941fd68",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/e760b6cb-cf1a-4922-8e4d-6d5104751565",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/ed6c0ff4-d4ff-4a93-8009-4865888c3e43",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /resource-v2/media/fd4563da-eeb7-4518-87ea-efb2c7bd7b25",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /sites/cfn/icon.png",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /sites/cfn/images/banner/windows.jpg",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /sites/cfn/images/logo/logo.png",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "asset /upload/images/ad_fu.png",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "37 published illustrations",
|
||
"passed": true,
|
||
"detail": 37
|
||
},
|
||
{
|
||
"check": "image integrity dog-spaniel-daisy-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS9BBZXFTM9KP5MFFGME21G-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-cat-moon-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-warm-cat-stretch-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-beagle-picnic-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-balanced-cat-walk-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYSA1ANR0FQ1CC23VT23GG10-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-dogs-dance-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-balanced-cat-rest-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-dalmatian-window-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-cat-vase-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYM9W6KF513WVC605KD2882D-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS9PBSVN4YG49YM9GFSA8QG-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS8TWGK0717VP03D6CHNFHT-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS95VTPPWF82N0N6Z4B2K4Z-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-corgi-laundry-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-poodle-cafe-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity 001-dog-terrier-slipper-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-warm-cat-sleep-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-shiba-doorstep-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cat-window-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-dog-dachshund-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-schnauzer-bicycle-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-bordercollie-kite-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cat-blue-chair-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-balanced-cat-watch-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS9GVB7VJV7NJH7DS0V5FPD-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-cat-fish-dream-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-dog-dalmatian-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity freenode-cat-collage-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-bulldog-bathmat-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYS9VV3DJ5N8PNH98W1NC0Y3-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-warm-cat-pair-20261026.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-dachshund-terrace-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity cfn-tuxedo-cat-20261023.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity dog-greyhound-cushion-20261028.webp",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "image integrity tg_image__maomi_a-01KYSA6TVHXNZ93E5YKWYD6Y9H-1-full.jpg",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "only read-only image consumer active",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "original pool and 160 fixed assignments preserved",
|
||
"passed": true,
|
||
"detail": 197
|
||
},
|
||
{
|
||
"check": "rejected yarn image absent",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "production HEAD unchanged /www/wwwroot/clashfreenode-new.com",
|
||
"passed": true,
|
||
"detail": "0792297bb8164fd2929b939d8d1206bc77b4ee81"
|
||
},
|
||
{
|
||
"check": "production HEAD unchanged /www/wwwroot/resource-v2/app",
|
||
"passed": true,
|
||
"detail": "77d4bb2b1737e668e28eb83699549b63c56b42d4"
|
||
},
|
||
{
|
||
"check": "final closed API /api/article/receive",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "final closed API /api/v1/telegram/hook",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "final closed API /api/github/getlast",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "final closed API /api/nasa/v1/category/base",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "final closed API /api/editorial/v1/catalog",
|
||
"passed": true,
|
||
"detail": 404
|
||
},
|
||
{
|
||
"check": "search real HTTP returns tutorial matches",
|
||
"passed": true,
|
||
"detail": 200
|
||
},
|
||
{
|
||
"check": "search noindex",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "final home and noindex",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "existing public GitHub link retained",
|
||
"passed": true,
|
||
"detail": null
|
||
},
|
||
{
|
||
"check": "read-only image credential denies assignment",
|
||
"passed": true,
|
||
"detail": 403
|
||
},
|
||
{
|
||
"check": "test DB account only test-schema CRUD",
|
||
"passed": true,
|
||
"detail": [
|
||
[
|
||
"fna_v3_test",
|
||
"SELECT"
|
||
],
|
||
[
|
||
"fna_v3_test",
|
||
"INSERT"
|
||
],
|
||
[
|
||
"fna_v3_test",
|
||
"UPDATE"
|
||
],
|
||
[
|
||
"fna_v3_test",
|
||
"DELETE"
|
||
]
|
||
]
|
||
}
|
||
],
|
||
"environment": {
|
||
"env": "staging",
|
||
"db": "fna_v3_test",
|
||
"article_count": 184,
|
||
"category_count": 9,
|
||
"latest": {
|
||
"sSlug": "fn20261029",
|
||
"sTitle": "「10月29日」2026年最新高速SSR/V2ray/Clash/Shadowrocket免费节点订阅链接"
|
||
},
|
||
"tutorials": [
|
||
{
|
||
"sSlug": "m169",
|
||
"sTitle": "Clash Meta for Android 使用教程:导入订阅、选择节点与连接"
|
||
},
|
||
{
|
||
"sSlug": "m174",
|
||
"sTitle": "Clash Verge Rev 使用教程:Linux 安装、订阅与代理设置"
|
||
},
|
||
{
|
||
"sSlug": "m173",
|
||
"sTitle": "Clash Verge Rev 使用教程:Mac 安装、订阅与系统代理"
|
||
},
|
||
{
|
||
"sSlug": "m167",
|
||
"sTitle": "从 Clash for Windows 迁移到 Clash Verge Rev"
|
||
},
|
||
{
|
||
"sSlug": "m172",
|
||
"sTitle": "Mac 代理客户端下载指南:ClashX 与 Clash Verge Rev 怎么选"
|
||
},
|
||
{
|
||
"sSlug": "mihomo-dns-leak",
|
||
"sTitle": "Clash 进阶:DNS 防泄漏配置与验证"
|
||
},
|
||
{
|
||
"sSlug": "m170",
|
||
"sTitle": "Quantumult X 使用教程:iOS 安装、订阅导入与连接"
|
||
},
|
||
{
|
||
"sSlug": "system-proxy-vs-tun",
|
||
"sTitle": "系统代理和 TUN 有什么区别?接管范围、使用选择与排错"
|
||
},
|
||
{
|
||
"sSlug": "m171",
|
||
"sTitle": "v2rayNG 使用教程:Android 安装、导入订阅与连接"
|
||
},
|
||
{
|
||
"sSlug": "clash-verge-rev-windows",
|
||
"sTitle": "Clash Verge Rev 使用教程:从安装到第一次连接(Windows)"
|
||
}
|
||
],
|
||
"private_table_count": 0,
|
||
"user_rows": 0,
|
||
"editorial_disabled": true
|
||
},
|
||
"resource_clients": [
|
||
{
|
||
"id": 1,
|
||
"project": "fna-v3-import",
|
||
"scopes": "[\"read\",\"write\",\"publish\",\"share\"]",
|
||
"enabled": 0
|
||
},
|
||
{
|
||
"id": 2,
|
||
"project": "fna-v3",
|
||
"scopes": "[\"read\",\"write\"]",
|
||
"enabled": 0
|
||
},
|
||
{
|
||
"id": 3,
|
||
"project": "fna-v3",
|
||
"scopes": "[\"read\"]",
|
||
"enabled": 1
|
||
}
|
||
],
|
||
"passed": true,
|
||
"check_count": 292,
|
||
"failed_count": 0,
|
||
"asset_count": 55,
|
||
"verified_at": "2026-10-29T11:15:36Z"
|
||
} |