cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.18.42.98:80 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 301 Moved Permanently
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Length: 0
Connection: close
Location: https://objshadow.tun.webredirect.org/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=OVx5cKIjXfmXJVkUMIAk%2FeIkq8aDkoNF1a6VD6J9P4zeFG4%2FQNmFMwwnD7PzF6bhR4ZKYrM2sRlMXnDVNcddg27%2FepZD3yJl%2FGRRflYpgXOUcfnrPNOHqlLGGig7"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034da27c710-SJC
alt-svc: h3=":443"; ma=86400
Open service 104.18.42.98:8443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=OB3NjK8nRbMhhsW%2FFEBcVNSCXqJBdo6KdpYEYlQTbmnQoU4sP64qnsylTZt08JrUnSLe67DimFghdpwlMrbSvfHvvq8kZctb1D8PrVERGn9vYuUZwLljg2b8RCrU"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034cdb70b36-AMS
alt-svc: h3=":8443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 172.64.145.158:443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NS5NVrvQtkV%2Fy1jXq25w6BxfT%2FwdkgLd2DvkF0a9vSj4zDeOfPNLA3QOxoJJlnxgFCPiIX93eZJUMJ0KGEP0oVrfjE0yMqieq8X%2Bhq28vfPp7hAA2N934CKKKLph"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034b968666e-AMS
alt-svc: h3=":443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 172.64.145.158:80 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 301 Moved Permanently
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Length: 0
Connection: close
Location: https://objshadow.tun.webredirect.org/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=F60jxpIQVHpEO6JcVn%2F%2BBOATEOCrPZVYoZoWXo9nQWzHtyqxpgh4bErlvZn3TkIjvz6HNTf136gZg9Kj3so0Hc2jQEoOTAsvrFQ8AvXSQKkbfgAFxh3nEfiys1uT"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce50347e7f3ee4-AMS
alt-svc: h3=":443"; ma=86400
Open service 104.18.42.98:443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=kaxH%2BQox0EQltWEzSmKntqdwQAEfUXupZxoVXQzu4x%2Fu9p9IU6ClmDpUktEFTMx%2FI%2B8M851D8wbAnswTjChIQwSMTRFsYjKWeKspKvROmK00bFLm3Fsuaw0vo44V"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce50350f91e149-AMS
alt-svc: h3=":443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 2a06:98c1:3101::ac40:919e:443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=sT9x5sYArwiczqWrL%2F9UU8xJRyGMJhnFKyjZzyOZitOx5FAoSmDW%2BXLQ2UrbbwbUIhtjzawLaSQoQ7BcMvgRHPlST%2BJtSSjDeG35FP87KATFq9UTl9dG%2FlfptKSUJj7sCm%2BYgYd%2F0NHO"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034ceb21913-FRA
alt-svc: h3=":443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 2a06:98c1:3101::ac40:919e:8443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=jc9XrGgB%2FV2jopt0MHWwDnojRHGeCGC0gBvNnHuH%2F6zPz6CodvYpi6vQJCC9S4lJPcSNM24UbgHw3Ebgd3TUsgmOZHklOlCnYpD7zEJwI1wGMITq5b%2BzKuhVTYeKJlzX0doAfwTuP3lb"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034bb2116f0-FRA
alt-svc: h3=":8443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 2a06:98c1:3108::6812:2a62:8443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Q1KSDAxBQ0mtdRADYoJMvRM5mKv9TSuVj7msQbNsGjnYbI2zkB59tdhmwQFzDcszzC4o8h1n4OwUBkv%2FfIr%2B9KQJfcSExsVRtVwtyaA7lSZGtsMbOBICJV%2FE%2BD60efFcWf5Z3KP3QQkE"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034bcc8d21e-FRA
alt-svc: h3=":8443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 2a06:98c1:3101::ac40:919e:80 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 301 Moved Permanently
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Length: 0
Connection: close
Location: https://objshadow.tun.webredirect.org/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=wtzLPvQifz%2FD6YfrZXGbY8YVfQTXT3QfEWa5XpcTqhQW7qgp%2F8s9IcWkYfeQuw1L6o4Xh3yTTezq0%2FhVBK2jdaNcj0Z8hqGjwx%2B4D4it1DjNR%2FmPmCrJQxywhcd8O%2BjYa6MQhS7sCNcg"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce50346dc5daff-FRA
alt-svc: h3=":443"; ma=86400
Open service 172.64.145.158:8443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=611yqQz3GmISzq%2BrseIfuLudPLcIGpSsauJB7tMA7I4np8xB4kbAle6r8di4J%2FqlOOTo74fbfHoskL9b52uHr7tFd87H%2BU0iSGPjIjwYWZnOQnSy0014a5qraO0e"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034bfaa900c-FRA
alt-svc: h3=":8443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t
Open service 2a06:98c1:3108::6812:2a62:80 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 301 Moved Permanently
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Length: 0
Connection: close
Location: https://objshadow.tun.webredirect.org/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=LrBU47SFnli8gBolCj17MuR0rdypDc022eGHOB8Kwj37LrUMWT2RID04o71q3sneLcadZ247J7avCrFZpgb49ChlE1%2FEyY66HFuBF0hyTBWBIvNtGmhDxE%2BuX621sfYS9KpWFtFN1EwL"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce50347fbc3a49-FRA
alt-svc: h3=":443"; ma=86400
Open service 2a06:98c1:3108::6812:2a62:443 · objshadow.tun.webredirect.org
2026-01-12 17:18
HTTP/1.1 200 OK
Date: Mon, 12 Jan 2026 17:18:28 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 29060
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "ec93c7375e3b2b83e04c39cad0f8c6e4"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=cQwWmzT58IyukJDZIazqu864%2BRiyTIYU%2BqjH7SvfVNHDmV1CK9prwVM2aB08vz775ae%2FYjyyYY5Uky7oXAN3tEaANsf7h%2F8vD4LHreMZ68P7pzzvPli8jAKP8v9ea3RiBNa76xYM%2F4q3"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bce5034bf38dc84-FRA
alt-svc: h3=":443"; ma=86400
Page title: ObjShadow's Blog
<!doctype html><html lang=zh-cn dir=ltr><head><meta name=generator content="Hugo 0.148.0"><meta charset=utf-8><meta name=viewport content='width=device-width,initial-scale=1'><meta name=description content="纵使千山多万壑, 犹有青鸾踏云间。"><title>ObjShadow's Blog</title><link rel=canonical href=/><link rel=stylesheet href=/scss/style.min.e3218ca5b411d3c345d0837b50654c1c9d4c4b048fd98ee68d39f4dc298338a2.css><meta property='og:title' content="ObjShadow's Blog"><meta property='og:description' content="纵使千山多万壑, 犹有青鸾踏云间。"><meta property='og:url' content='/'><meta property='og:site_name' content="ObjShadow's Blog"><meta property='og:type' content='website'><meta property='og:updated_time' content=' 2024-08-29T18:00:00+08:00 '><meta name=twitter:title content="ObjShadow's Blog"><meta name=twitter:description content="纵使千山多万壑, 犹有青鸾踏云间。"><link rel=alternate type=application/rss+xml href=/index.xml><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link href=/index.xml rel=alternate type=application/rss+xml title="ObjShadow's Blog"><script>addEventListener("DOMContentLoaded",()=>{fetch(`/views?q=${encodeURI(window.location.pathname)}`,{method:"POST"}).then(e=>e.json()).then(e=>{let t=document.querySelector("footer.site-footer > section.powerby");t.innerHTML=t.innerHTML.replace("NaN",Object.values(e).reduce((e,t)=>e+t).toString());for(let t of document.getElementsByClassName("article-details")){let s=t.querySelector("div.article-title-wrapper > h2.article-title > a").href.replace(window.location.origin,""),n=t.querySelector(".article-time > div:last-child > time");n.innerText=n.innerText.replace("NaN",e[s])}}).catch(e=>console.log(e))})</script></head><body><div id=top></div><script>(function(){const e="StackColorScheme";localStorage.getItem(e)||localStorage.setItem(e,"auto")})()</script><script>(function(){const t="StackColorScheme",e=localStorage.getItem(t),n=window.matchMedia("(prefers-color-scheme: dark)").matches===!0;e=="dark"||e==="auto"&&n?document.documentElement.dataset.scheme="dark":document.documentElement.dataset.scheme="light"})()</script><div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky"><button class="hamburger hamburger--spin" type=button id=toggle-menu aria-label=切换菜单>
<span class=hamburger-box><span class=hamburger-inner></span></span></button><header><figure class=site-avatar><a href=/><img src=/avatar_hu_5ec97c43da94774c.jpg width=320 height=320 class=site-logo loading=lazy alt=Avatar>
</a><span class=emoji>🕊️</span></figure><div class=site-meta><h1 class=site-name><a href=/>ObjShadow's Blog</a></h1><h2 class=site-description><text style="line-height: 1.4; ">纵使千山多万壑,<br>犹有青鸾踏云间。</text></h2></div></header><ol class=menu-social><li><a href=/index.xml target=_blank title=RSS rel=me><svg class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z"/><circle cx="5" cy="19" r="1"/><path d="M4 4a16 16 0 0116 16"/><path d="M4 11a9 9 0 019 9"/></svg></a></li><li><a href=https://github.com/ObjShadow/blog target=_blank title=Github rel=me><svg class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6.0 00-1.3-3.2 4.2 4.2.0 00-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3.0 00-6.2.0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2.0 00-.1 3.2A4.6 4.6.0 004 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21"/></svg></a></li><li><a href=https://twitter.com/objectshadow t