Domain willuhmjs.com
CLOUDFLARENET
Software information

cloudflare 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>
    
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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>
    
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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>
    
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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>
    
    Found 2024-09-28 by HttpPlugin
    Create report
  • 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
    Found 2024-09-28 by HttpPlugin
    Create report
willuhmjs.com
CN:
willuhmjs.com
Key:
ECDSA-256
Issuer:
WE1
Not before:
2024-07-31 13:40
Not after:
2024-10-29 13:40