cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.24.112:80 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 301 Moved Permanently Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html Content-Length: 167 Connection: close Cache-Control: max-age=3600 Expires: Sat, 28 Sep 2024 16:06:22 GMT Location: https://willuhmjs.com/ Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=eDc2grmhpN0AiOhs7lN%2Fwhbxz8l26hcEYO6hx81Qa%2B%2BYXaVkkE%2FrNKaxyeFxe4C2IKaZwBmFmWA40ZyhiI60h1ZdiJXi3iG0EYQ46RmbN%2Beb23YeGg7fZFU7eM%2BdRNyC"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Speculation-Rules: "/cdn-cgi/speculation" Server: cloudflare CF-RAY: 8ca4a313690672b7-EWR Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>cloudflare</center> </body> </html>
Open service 2606:4700:3030::6815:1870:443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:24 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=MojT7N0koFSKxt5wDTAbxnJ7hs6Tn6VT06rbKUusANUtE5Y2brl54zKmZ%2Bfgb0RK916ItLlpUNGos1RNnFO6Vg7zbIfQtLiK1J4naPR1LdW%2FRrpVtVk53qpb65lDKuwoi2qNz31L%2BG3H5iOx"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a3203c69e83f-DFW Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 172.67.218.90:8443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:23 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=c3w3ehs43rXKCSa8LXM%2B3LGl8zcR3AwJ3GcsGhUj4JGNtEXZtz54GGQNndWHJQ7zOXn5uUqbwpdXPnHsyNsIamJD6Ec8VGilNnzFwQIgBe9pQvJveCOT%2BcfVP1513eJN"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a314fb61940c-LHR Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 2606:4700:3030::6815:1870:8443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=R%2Fu7dtQ0coqQ8h9xwtapO62Z8m40KjjSvjR6MfiD25UqSptHM1CgKDiS7wxzjyfbOa%2BmMv2S9lOi%2B0bxzdYSojZ6oDljm2z1LKifAs7L38anynKPxJQFxG3%2BFKzc5j3Qx4nQbhac8UAZ7Wmj"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a313ad110e90-AMS Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 2606:4700:3034::ac43:da5a:8443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:23 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=zqHC%2FOUhpF%2BD5yDQhtVh77lJpvYVOqm3BvlKK1nkBBSezMcqwDG%2F5SP4e9WtAcu0kokSoquUoRSji4UoSQrE0kGsPa569OIUaY3fTJQo9i%2ByxlpB3XS%2BoSldvtfIJzfz0RvdYq%2BosBEJZHkh"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a31b1fcd4606-DFW Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 104.21.24.112:8443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=L053b4hVOeABTZARx%2BxpRvyaX%2Fv891CCIEUpGgsYwo7xhOo2vjixf04Tdx3zi3K1kZRUbR5OElDy0LOSGUplFue2RKZ%2FcsPna7oJsZ8dbWlbQTSR9V9hg1CpJgxOsf2C"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a3134f2f96f4-AMS Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 2606:4700:3030::6815:1870:80 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 301 Moved Permanently Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html Content-Length: 167 Connection: close Cache-Control: max-age=3600 Expires: Sat, 28 Sep 2024 16:06:22 GMT Location: https://willuhmjs.com/ Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ILqi4PtAb5tEdiA3Dw%2FHxkYc6sdHUN1kkbTELoW9lzRjyaKq9zgPMCLpSwKNXrVjvsn5t4MuaDrOb92x4ijwC2EadRm%2F9IyyEKhihvIkZHpTF8I7clKk13bk%2Buzkv9iQg82UxrTOw60mUC8F"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Speculation-Rules: "/cdn-cgi/speculation" Server: cloudflare CF-RAY: 8ca4a31378a3697d-CDG alt-svc: h3=":443"; ma=86400 Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>cloudflare</center> </body> </html>
Open service 2606:4700:3034::ac43:da5a:80 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 301 Moved Permanently Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html Content-Length: 167 Connection: close Cache-Control: max-age=3600 Expires: Sat, 28 Sep 2024 16:06:22 GMT Location: https://willuhmjs.com/ Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=cXfVtI%2F6u0aNa1Gxqw0%2FtYS0hClvm4rVhzrUzcJAad5hlBWllWwCskXVYrmQL%2Fs1ZjJhWWjvIpHrHPaBEH0DzZHYxTCdv8SJHvPw5xOymRmMbbhmjNyScU0mfMPs6Zmxq4AIOtPo9JpOkXkk"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Speculation-Rules: "/cdn-cgi/speculation" Server: cloudflare CF-RAY: 8ca4a3122df352c9-LHR Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>cloudflare</center> </body> </html>
Open service 104.21.24.112:443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:23 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=vyMQ4NNl8ktMMaIdzc5XHs68f%2FPbrDXS0K7yth0AMhnrcjLHPBkG3l%2BbeJ%2FA6zU5X0DKCz4e5BOgWGS54BODmzBKfi1nyWB6WX4aKClGDoJn51pl5q%2FJW8tts25kmwIC"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a3176e5b5afb-VIE Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 2606:4700:3034::ac43:da5a:443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:23 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=svzuUQA8az68%2FWF7A2vD%2FNttb9YscHaFCaKXJn7Xp9IuPJtaLm%2FTAKs8DzWe9oXp7H%2F9egDC5qAno%2B1LxkR3h0xiDfpcTxc9yhvydYBi41OMpPgrBXsvnKRQKZiqr7%2BGJ3eGv0BefWrtOZvR"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a3177f33363b-FRA Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan
Open service 172.67.218.90:80 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 301 Moved Permanently Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html Content-Length: 167 Connection: close Cache-Control: max-age=3600 Expires: Sat, 28 Sep 2024 16:06:22 GMT Location: https://willuhmjs.com/ Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=zQ093w9TBZWHhWvoTeBPKE%2B7DPURHcJsZFSwp%2Bmyx2SBKL%2F30Vl4OmtD0Hv3zn%2FCOOTvVyCRINYS3WOvB%2FvWdGpZJys2kbyE9ffYxhCswOb7f5uX4Fgg8NOcmnr3gJYA"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Speculation-Rules: "/cdn-cgi/speculation" Server: cloudflare CF-RAY: 8ca4a30ffbdc9577-LHR Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>cloudflare</center> </body> </html>
Open service 172.67.218.90:443 · willuhmjs.com
2024-09-28 15:06
HTTP/1.1 200 OK Date: Sat, 28 Sep 2024 15:06:22 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: close Access-Control-Allow-Origin: * Cache-Control: public, max-age=0, must-revalidate referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=FcINaF9Rrvbu3QaocM7YTzOxcx4r7mWcup6ekGHRkrzWGlbmmNOp9e30tHsooizXQEPdQ3IR174MpYHWSjsACDnPp%2Fu%2Bf1N7s6AmpnGmjOjffKHcWEFuHHB%2BAz0GYDLY"}],"group":"cf-nel","max_age":604800} NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800} Vary: Accept-Encoding Speculation-Rules: "/cdn-cgi/speculation" CF-Cache-Status: DYNAMIC Server: cloudflare CF-RAY: 8ca4a3111a059fb8-AMS Page title: Home | willuhmjs <!DOCTYPE html><html lang="en"> <head><!-- Global Metadata --><link rel="sitemap" href="/sitemap-index.xml"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/svg+xml" href="/favicon-dark.svg" media="(prefers-color-scheme: dark)"><link rel="icon" type="image/svg+xml" href="/favicon-light.svg" media="(prefers-color-scheme: light)"><link rel="icon" type="image/x-icon" href="/favicon-light.svg"><meta name="generator" content="Astro v4.15.9"><!-- Font preloads --><link rel="preload" href="/_astro/lora-latin-400-normal.CvHVDnm4.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/_astro/lora-latin-600-normal.DUWh3m6k.woff2" as="font" type="font/woff2" crossorigin><!-- Canonical URL --><link rel="canonical" href="https://willuhmjs.com/"><!-- Primary Meta Tags --><title>Home | willuhmjs</title><meta name="title" content="Home | willuhmjs"><meta name="description" content="William is a software developer and computer science student.."><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://willuhmjs.com/"><meta property="og:title" content="Home | willuhmjs"><meta property="og:description" content="William is a software developer and computer science student.."><meta property="og:image" content="https://willuhmjs.com/nano.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://willuhmjs.com/"><meta property="twitter:title" content="Home | willuhmjs"><meta property="twitter:description" content="William is a software developer and computer science student.."><meta property="twitter:image" content="https://willuhmjs.com/nano.png"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script> function init() { preloadTheme(); onScroll(); animate(); const backToTop = document.getElementById("back-to-top"); backToTop?.addEventListener("click", (event) => scrollToTop(event)); const backToPrev = document.getElementById("back-to-prev"); backToPrev?.addEventListener("click", () => window.history.back()); const lightThemeButton = document.getElementById("light-theme-button"); lightThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "light"); toggleTheme(false); }); const darkThemeButton = document.getElementById("dark-theme-button"); darkThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "dark"); toggleTheme(true); }); const systemThemeButton = document.getElementById("system-theme-button"); systemThemeButton?.addEventListener("click", () => { localStorage.setItem("theme", "system"); toggleTheme(window.matchMedia("(prefers-color-scheme: dark)").matches); }); window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", event => { if (localStorage.theme === "system") { toggleTheme(event.matches); } } ); document.addEventListener("scroll", onScroll); } function animate() { const animateElements = document.querySelectorAll(".animate"); animateElements.forEach((element, index) => { setTimeout(() => { element.classList.add("show"); }, index * 150); }); } function onScroll() { if (window.scrollY > 0) { document.documentElement.classList.add("scrolled"); } else { document.documentElement.classList.remove("scrolled"); } } function scrollToTop(event) { event.preventDefault(); window.scrollTo({ top: 0, behavior: "smooth" }); } function toggleTheme(dark) { const css = document.createElement("style"); css.appendChild( document.createTextNode( `* { -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; -ms-transition: none !importan