Domain drewbell.net
United States
UpCloud Ltd
Ubuntu
Software information

nginx nginx 1.24.0

tcp/443 tcp/80

  • Open service 151.101.1.91:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-yyz4541-YYZ
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.079747,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-rtm-ehrd2290048-RTM
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.057401,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.65.91:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=ASydf8BRjeqbmtiWeq6xcAlflv5zxu_d2AbSW1TWG9zXlz85vw9ORlX27-suiKxp1fczzlQn5IK0oG93dWgz_WTf208P1-v2dn37xFC2UqRk6t2VPkkLVhRZSk-rZ-_h68d8qqYYUwo8TfkgXjl180JmVAOcIsthzth_vEo33rB6_YWarAPoAp6OfQPf0CQMYghb8lY5BcMnNxfJhFU137W5KnxXDrWNnzNTrxP_MlExt3gu4glEWD1XPAOxy9CGlvG8apZ1-q_csSAzzbySLQPqdXKv9RnIiKj_uGusd-mDGlN3-ZVIiU5bKgbSF9uvZCnIAf07SbSIQum5IouH58ysZ5OhovPV-v359dCyU0hkPv8qgpVPzV8qZGznZ3LO-0eOltBUZiH3fm3FIMY=; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams21066-AMS, cache-ams21079-AMS, cache-vie6345-VIE
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.129.91:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=ARFldaKgO4LU6fEPQ1AX_2LdCoIP4M4aq3ebL9xq_W96lCs3G8Wg8Xau0xR1FQ9V5Vp_1Ia5knk95m_Rp8m44ScksGiYw6uKsqCqv6CNSUEeUWkE5ynlmYjU5GDyfiNlFMnodXxs0qjTcmmcFJ9zQ-Z2we83_AW0B0D51W951vf80vDRCsv_jtmUHQpQf4QRKrM4WfTt0GMU7GSt6-A0zBVzeoaVluriTCOvIdTSmGZ5ljeVNKKL_sVCt3guNd_fWxZ5q509DLUjTsOHQyNNIKOG5jkzzHNrRbJDT_xM0M2ExXz9-e1tNUztZqTZxS0VMjEmFInDs6sutUvjVp-z4K9N775UQ7Uhxn5hdBtctyQPOPrhvKspgOgq_LChYJN61UljnRfbKGmQiowwLKI=; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100123-AMS, cache-ams2100122-AMS, cache-vie6352-VIE
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.1.91:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AR1uxevg-GzMs5K-rkPg7lYzCeDwUeuOdaF18LqDe81b9s3h2ankACoUsE7HCwRfPn0oWcoexOAGZIQN7kY4tS-p3IPY5scJQSAZpRENQwNugMjcUmeWmaXd5yyim3zROKNwvh7ms-kR7kH183z_OuY6J_yVF9mFycxlbwr8cB5gjbRFiLRYa8bdEKyLhMEyry99NZHyGN36VDRZUUaE0GWr3QjhcHc1GdbjAtKFINuhCiTrm5ZQKyoPBEpLYb4A95IswUgh_ywt8P2UHfRjzJF4JxQaX-nsAE6q4o7m51QX-Nv2yxrZ_t114cLdrP6JJnm_rNRNE4vYcDU5qx5JT5kyHrXL5nmew4Ek6EcxVmV-nHmOyslstcaCxHrv0SGZdVB8ppA8QYbz4PUz1SU=; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:55 GMT
    X-Served-By: cache-ams2100118-AMS, cache-ams21034-AMS, cache-sjc10063-SJC
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-pao-kpao1770072-PAO
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.089186,VS0,VE21
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.65.91:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AaknupRkwWwFc_wAk3hWIZdCq04JqGHqEfFA4wqehsHfGhPedOHEojhFjesniLNQMnf8A7U3hgshmLpG7ZYYRCNMHdD2roCwUyUWqWgh275UxAvjXINxK1gLOGklyjhTY9kOpUGS3KzLv0hpY-rvvUVLvuHGzFMYVXiF8_AmrMrqb75UWXahvVEmCDZU4r9NDmJIUu-kEePKpHyCnnGMtrxvPjH7Dw25aiL1rAqDgvxbQlyxBfXKlxiifEo5PGth5Iwu6J-_xs5AOM0THZkmtqPrqzvGTMi0Nysgkzjd5MK55XkZAER5bb3wDhVvic7i4Up3A0Y034gT6eSLxWkIGXIYAdy9yWJF6TjLxwAWEiGE8Ptt1c865AV3gyXCEM9MQBIvSwI-HmvS4Ri3N8Q=; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100118-AMS, cache-ams2100143-AMS, cache-lga21981-LGA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.129.91:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AfFFGZ70h5dy1rGkZ_5Ks-qVkfKUxAdo6oRsvEuB8MByxksWk-z7nFvX4OQgCT2GJdvrc9n4EpQ53sistsxMPa6Jet-c5QZ2voP3TytVvzcd2fFUtb0hVK4WSOZHzmTvNfBCBVwM-1QyC1zI7IWScPvzSWW1p20o7O9HKLXv5J4hOIz2rQJHbq-CEj1nyddXZGO5r8sfxhXaUt7wwrJjspzXyOElmGd0JekRjy9WcDURifWXaSYaiPwgnbu9IewNKUh2Q9Xn-6EvNAgwvOHOCxxPDT9c6QsdNPZKC3wVtAxdWJOvUh0bYRpL3esIONCuW-21w1GPeEc_RhwUVRXPWfpGYEO-jLN5jC4ROYcTVb3_PW0oS7-94IcCFMoNoWauvV_XnDH32W7TA0gmEBo=; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100118-AMS, cache-ams21043-AMS, cache-sjc1000120-SJC
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.193.91:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-sin-wsat1880078-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.999045,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.193.91:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AYnJhLCPJUTUPD0mxdiKgywWEaEiGGi7wDsTJO-dkMrcOf-9mcaO7e_44jQVNoYaP54Ke66M6CH6URgjQIt8M5H8ArUatDJ6DbdHXvgYauFOT-yVmZ339l1ls-4kkpb96c02OKqr7RsdbBWzbpKmMd0rztjQoAhgOLgmN8PlwuMj1s1IPwEGosjQYNF12_JQqpzjIbRGyW1GwYEirbkKr_a9bFhDIT-5_BaRTeUG5ioMuQRhu3T5Z8hpkCSbEc9pGOfk2HU5dGwrcjYqs0gClbGXayz4q6OVd2QnMVMr0gvqRjIXJ1sM7WMDa4vt1ORZQNH9u0ASH4LrMcxFMsaWj8JdXhWIgeltqqDOKhEqBcX8M4hT4CT-W2XK1Yenmel_vhxSL1sdQU4v1xDZQQ==; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100118-AMS, cache-ams21033-AMS, cache-fra-eddf8230081-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.129.91:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-vie6365-VIE
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.989975,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    reporting-endpoints: ep="https://csp-reports.security.fastly-edge.com/r?id=WEYn4bsKSQWL8cteUxIeAt&inv=1"
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    Age: 2
    X-Served-By: cache-ams2100118-AMS, cache-ams2100118-AMS, cache-sin-wsat1880043-SIN
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    Age: 2
    X-Served-By: cache-ams2100118-AMS, cache-ams2100118-AMS, cache-lcy-egml8630050-LCY
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-vie6370-VIE
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.993740,VS0,VE75
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100103-AMS, cache-ams21072-AMS, cache-lga21930-LGA
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.1.91:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-rtm-ehrd2290035-RTM
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.921807,VS0,VE0
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.65.91:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-fra-eddf8230190-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.065647,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    Age: 14
    X-Served-By: cache-ams21066-AMS, cache-ams2100101-AMS, cache-fra-eddf8230145-FRA
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-fra-eddf8230110-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.922641,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.193.91:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    Age: 14
    X-Served-By: cache-ams21066-AMS, cache-ams2100101-AMS, cache-fra-eddf8230133-FRA
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams21056-AMS, cache-ams2100120-AMS, cache-lga21955-LGA
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.1.91:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AXMelxk4pDfIsOhACK4sdUjPX8L0dUyrIX76uGfAZBfLcuVFy5K2UM1lfeQIRgwkFnogOgV5e2TZxUFmNgsyTx0GTiEu1IsvNBAnCr7gI3MN3v4qZE3-Aq4GaQO68PKYnJn3yW1FPXl8eXEVLRe6DzThq5rdKmBHudRC33r61GBbrcRUMB1hJw7c1js_kwKk5O6qja9WLrNlRwYHB3yCCjAPcs4Ilh51HYzC0q1vi8t_X3flDonOemHlN6ZXUPLqp-39TTNvr4whLivBlGTxfSVwINAunndKd_6uAnmPtmT1EcgOUIj_pAd1OqE5hYLlNy4o32oXNOq9pdsAXS5hBlRJxIL2-9jP0mH5WqXvO3AwB_WtcsUvFfng4R9m3NX7_NO9adX5l5ny9GGKgnhm; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    X-Served-By: cache-ams2100088-AMS, cache-ams2100105-AMS, cache-lga21952-LGA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.193.91:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-lga21964-LGA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.907201,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    Age: 2
    X-Served-By: cache-ams2100118-AMS, cache-ams2100118-AMS, cache-rtm-ehrd2290053-RTM
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-sin-wsss1830031-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.926437,VS0,VE2
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-sin-wsat1880076-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.896592,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.65.91:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-sin-wsat1880095-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.893594,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:443 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:54 GMT
    Age: 2
    X-Served-By: cache-ams2100118-AMS, cache-ams2100118-AMS, cache-lcy-egml8630061-LCY
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-fra-eddf8230129-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.857785,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:443 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 22092
    content-type: text/html; charset=utf-8
    etag: W/"564c-RDjYTFVDLez6YGiTAH9p5VkXzGI"
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    Age: 14
    X-Served-By: cache-ams21066-AMS, cache-ams2100101-AMS, cache-fra-eddf8230121-FRA
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=4718f07bb9">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=4718f07bb9">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=4718f07bb9">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publi
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:80 · www.drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-rtm-ehrd2290022-RTM
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.898796,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 151.101.129.91:80 · drewbell.net

    2026-01-08 13:11

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Thu, 08 Jan 2026 13:11:53 GMT
    X-Served-By: cache-fra-eddf8230149-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1767877914.916572,VS0,VE1
    Content-Security-Policy-Report-Only: default-src 'self' www.drewbell.net; script-src-elem cdn.jsdelivr.net 'self' cdnjs.cloudflare.com 'unsafe-inline'; style-src-elem 'unsafe-inline' 'self' fonts.bunny.net; connect-src 'self'; font-src fonts.bunny.net; img-src images.unsplash.com 'self'; style-src-attr 'unsafe-inline'; report-uri https://drewbell2.report-uri.com/r/d/csp/wizard
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2026-01-08 by HttpPlugin
    Create report
  • Open service 94.237.47.8:443 · www.drewbell.net

    2025-12-23 16:03

    HTTP/1.1 200 OK
    Server: nginx/1.24.0 (Ubuntu)
    Date: Tue, 23 Dec 2025 16:03:20 GMT
    Content-Type: text/html; charset=utf-8
    Content-Length: 17359
    Connection: close
    X-Powered-By: Express
    Cache-Control: public, max-age=0
    ETag: W/"43cf-A7lG18uWroE/pje7nHt7oPiwxsQ"
    Vary: Accept-Encoding
    X-Content-Type-Options: nosniff
    
    Page title: Ghost
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <title>Ghost</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        <link rel="preload" as="style" href="/assets/built/screen.css?v=199475bd39">
        <link rel="preload" as="script" href="/assets/built/source.js?v=199475bd39">
        
        <link rel="preload" as="font" type="font/woff2" href="/assets/fonts/inter-roman.woff2?v=199475bd39" crossorigin="anonymous">
    <style>
        @font-face {
            font-family: "Inter";
            font-style: normal;
            font-weight: 100 900;
            font-display: optional;
            src: url(/assets/fonts/inter-roman.woff2?v=199475bd39) format("woff2");
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
        }
    </style>
    
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=199475bd39">
    
        <style>
            :root {
                --background-color: #ffffff
            }
        </style>
    
        <script>
            /* The script for calculating the color contrast has been taken from
            https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */
            var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color');
            accentColor = accentColor.trim().slice(1);
    
            if (accentColor.length === 3) {
                accentColor = accentColor[0] + accentColor[0] + accentColor[1] + accentColor[1] + accentColor[2] + accentColor[2];
            }
    
            var r = parseInt(accentColor.substr(0, 2), 16);
            var g = parseInt(accentColor.substr(2, 2), 16);
            var b = parseInt(accentColor.substr(4, 2), 16);
            var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
            var textColor = (yiq >= 128) ? 'dark' : 'light';
    
            document.documentElement.className = `has-${textColor}-text`;
        </script>
    
        <meta name="description" content="Thoughts, stories and ideas">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Ghost">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Ghost">
        <meta property="og:description" content="Thoughts, stories and ideas">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Ghost">
        <meta name="twitter:description" content="Thoughts, stories and ideas">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" content="840">
        
        <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "WebSite",
        "publisher": {
            "@type": "Organization",
            "name": "Ghost",
            "url": "https://www.drewbell.net/",
            "logo": {
                "@type": "ImageObject",
                "url": "https://www.drewbell.net/favicon.ico",
                "width": 48,
                "height": 48
            }
        },
        "url": "https://www.drewbell.net/",
        "name": "Ghost",
        "image": {
            "@type": "ImageObject",
            "url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
            "width": 1200,
            "height": 840
        },
        "mainEntityOfPage": "https://www.drewbell.net/",
        "description": "Thoughts, stories and ideas"
    }
        </script>
    
        <meta name="generator" content="Ghost 6.10">
        <link rel="alternate" type="application/rss+xml" title="Ghost" href="https://www.d
    Found 2025-12-23 by HttpPlugin
    Create report
  • Open service 94.237.47.8:80 · www.drewbell.net

    2025-12-23 16:03

    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.24.0 (Ubuntu)
    Date: Tue, 23 Dec 2025 16:03:20 GMT
    Content-Type: text/plain; charset=utf-8
    Content-Length: 59
    Connection: close
    X-Powered-By: Express
    Cache-Control: public, max-age=31536000
    Location: https://www.drewbell.net/
    Vary: Accept, Accept-Encoding
    X-Content-Type-Options: nosniff
    
    
    Moved Permanently. Redirecting to https://www.drewbell.net/
    Found 2025-12-23 by HttpPlugin
    Create report
  • Open service 151.101.193.91:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-sin-wsat1880034-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.319606,VS0,VE0
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.1.91:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-pao-kpao1770022-PAO
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.426813,VS0,VE55
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.193.91:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AYF0_dukrDKkMHNe2PGfeMzkjHh8v3EQftryG1U2YJMDbcD5VBoCpqJOPI8aeYTtR6Ye7GvhIaumXiVgL4cdelLS8bVizc2fP-V41vuIWxqU_qaQ8b39ES6EbsESMWjUh4nLojRbzuyjigk8COqnlmlh4UfMBXa7zzcpuQqeUUIp4uIRq5qYsAPNEkVAxWqn-hCmsDqaeEzmOC0ENQ4_KSs9_apLka5P1rtzcG-UoF-L8kfb86BWq_z8yjatiWT0MS8brILAMG76DWVfK7WEMHT5e2RdgPOAePSzQb01y5NcMKSfLuIKk0ZJhIqnNNlevWeo94jwuCNtaveZ4kA1OcbU1ersALL085CJ1Xmo5AeYj5HApmfaXynJppvJp_i4SZ43yZR77u77NEu__3I1; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams21068-AMS, cache-ams2100096-AMS, cache-sin-wsat1880055-SIN
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    x-content-type-options: nosniff
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:26 GMT
    Age: 0
    X-Served-By: cache-ams2100122-AMS, cache-ams2100124-AMS, cache-lga21948-LGA
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.129.91:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-fra-eddf8230155-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.274958,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.65.91:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-fra-eddf8230097-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.313276,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    x-content-type-options: nosniff
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    Age: 0
    X-Served-By: cache-ams2100088-AMS, cache-ams21023-AMS, cache-yyz4568-YYZ
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-lga21974-LGA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.196368,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    content-type: text/html; charset=utf-8
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    cache-control: public, max-age=0
    x-content-type-options: nosniff
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100137-AMS, cache-ams21080-AMS, cache-fra-eddf8230133-FRA
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    content-type: text/html; charset=utf-8
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    cache-control: public, max-age=0
    x-content-type-options: nosniff
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams21059-AMS, cache-ams2100086-AMS, cache-vie6381-VIE
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-lga21963-LGA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.397718,VS0,VE192
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    x-content-type-options: nosniff
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    Age: 0
    X-Served-By: cache-ams2100122-AMS, cache-ams2100124-AMS, cache-lcy-egml8630028-LCY
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    x-content-type-options: nosniff
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    Age: 0
    X-Served-By: cache-ams2100128-AMS, cache-ams21023-AMS, cache-sin-wsat1880098-SIN
    X-Cache: MISS, MISS, HIT
    X-Cache-Hits: 0, 0, 1
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-lga21979-LGA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.146239,VS0,VE294
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42::347:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-lga21920-LGA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.210580,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.65.91:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-sin-wsat1880043-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.118180,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.129.91:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-sin-wsss1830042-SIN
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.180597,VS0,VE7
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-vie6327-VIE
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.136537,VS0,VE59
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:200::347:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-fra-eddf8230162-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.096551,VS0,VE3
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-yyz4557-YYZ
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.080781,VS0,VE2
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.65.91:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AeCmdvUSAgAMkEw_EySNbDTuMZZG2CYAkmVtxASGsNEjc-6ksINg9ScK8euiAizwgUFLlPXjCPQsQGCgY6cMRLZ6zBkGqFn8TwL1coPKdGr47SIGcTkKTeWypANdY6wb92bIuI0hX5OxJPo7xYiRxIf_SuCSZlTv8FZBiqaDODR_tYases2hs-4p4iIkEs0shqbaEtRBdE3GU87G9GzDZ6ulik8KyzZw4FC0cha675RGfSxIdMneEJq6pnVGyAJqvcq97_AY0FW0Zkpwbc_PRdfb682KQ67bdZcvWLCR5WkeLkvGLTq6AvVijh2Ousv_B4izFYOFl2N__a7lm2w4j9Zx3H6CWvalHNcE0ZudZguyqynbYDdpC35Qpu8SlZ5ls7wg5h67lE8gIzj_ZWaU; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100147-AMS, cache-ams21035-AMS, cache-fra-eddf8230176-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:400::347:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    x-content-type-options: nosniff
    content-type: text/html; charset=utf-8
    cache-control: public, max-age=0
    Accept-Ranges: bytes
    Age: 0
    Date: Fri, 19 Dec 2025 14:05:26 GMT
    X-Served-By: cache-ams2100122-AMS, cache-ams21023-AMS, cache-sjc1000128-SJC
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-fra-eddf8230030-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.133613,VS0,VE92
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.1.91:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AcR-c7a5iDcy5rJ1BBLSIOKdVGm3mpZKFTUDhYn9dsGqU4LMNJ-4pXQ3eRSfR3lhvflBj9l5vN6UYbCOMxokIndgQwIP7EssXDrlzo8FJYiCwjXTTQN5jeRoW3C-NPAMR4vTma4bo90sIibb3NnQwJfRbD5qQptgFaecOOF2GHDxZVAZ1eBAuLYURWiiVaqCpaFrUFstuPZr3w28w6m3fxbHGbXbvBKgotRfSl31MiuO_jR7e_IzQZMdresJrUSZEyS1lHBLX9svbpPmtLOt3X_GYbwMpjiSpkW2KV30m4LsPcV1OfFfyRpKN_NVruv-o7vvahjk9twQ6woTwPQ4Nnpzq8txikhpVLsuAf_RAZe8wDcU1ErBO2TRd65jPLjAm7iJFgEEkbIcQ3-KSw==; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100128-AMS, cache-ams2100102-AMS, cache-fra-eddf8230161-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.129.91:443 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=Ae2TJji3abdXFfQcCfXpUA9QHzDUNhFD74DT3xa6q72E6FrdaaGdV41rD1mmrq1hszsl0xeom61eCTGyMiWizsTEH9oKQ9n_htx-4IcdKjpaDTineRSv-Cg77j-f6Cn9Rkuzhrzq-9mzBkW9DuUkeRqGxNNzF8GYS5_JyDb6arp_aHzOPn0Ldq-uCoxGDU2a_jjLVsjml8f7rN73bov1ZY-Xfpv9n_3OG_urE5XF8cjobRNdtHUfZ5WlIgk6zIzWW3nWvKkDCu2_qtB8S_kQbIVeqmdS0zRCym6QzOy_6_dd60jOEai-lYhdK_Qz5M-SA7G046tj3rqEGimBI5SWknpv_WH6pAgyvuuYkb3TN8zVmkG1M--qx8XGlKdBPi0ZtjyrbDmpPgPL6NWn; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100104-AMS, cache-ams21062-AMS, cache-fra-eddf8230130-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.1.91:80 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-fra-eddf8230100-FRA
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.016502,VS0,VE70
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 2a04:4e42:600::347:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    Content-Length: 17846
    content-type: text/html; charset=utf-8
    etag: W/"45b6-gT9L4anLSYxV5H7Eiptqb6Ru7gw"
    cache-control: public, max-age=0
    x-content-type-options: nosniff
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100106-AMS, cache-ams2100100-AMS, cache-vie6358-VIE
    X-Cache: MISS, MISS, MISS
    X-Cache-Hits: 0, 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Page title: Drew Bell
    
    <!DOCTYPE html>
    <html lang="en" class="is-color-default">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Drew Bell</title>
    
        <link rel="preload" as="style" href="/assets/built/screen.css?v=21178adbca">
        <link rel="preload" as="script" href="/assets/built/main.min.js?v=21178adbca">
        <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=21178adbca">
    
        <script>
            // Function to set the theme
            function setTheme(theme) {
                document.documentElement.setAttribute('data-theme', theme);
                localStorage.setItem('theme', theme);
                updateThemeToggleIcon(theme);
            }
    
            // Function to get the user's color scheme preference
            function getColorScheme() {
                return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
            }
    
            // Function to update theme toggle icon
            function updateThemeToggleIcon(theme) {
                const toggle = document.querySelector('.gh-theme-toggle');
                if (toggle) {
                    toggle.setAttribute('data-theme', theme);
                }
            }
    
            // Function to toggle theme
            function toggleTheme() {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                setTheme(newTheme);
            }
    
            // Get the theme setting from Ghost
            var themeSetting = 'system';
            var savedTheme = localStorage.getItem('theme');
    
            // Initialize theme based on settings
            if (themeSetting === 'user') {
                // Use saved preference if available, otherwise system preference
                if (savedTheme) {
                    setTheme(savedTheme);
                } else {
                    setTheme(getColorScheme());
                }
            } else if (themeSetting === 'light') {
                setTheme('light');
            } else if (themeSetting === 'dark') {
                setTheme('dark');
            } else if (themeSetting === 'system') {
                setTheme(getColorScheme());
            }
    
            // Add click handler to theme toggles
            document.addEventListener('DOMContentLoaded', function() {
                const themeToggles = document.querySelectorAll('.gh-theme-toggle');
                themeToggles.forEach(toggle => {
                    toggle.addEventListener('click', function() {
                        if (themeSetting === 'user') {
                            toggleTheme();
                        }
                    });
                });
            });
    
            // Listen for changes in system color scheme
            if (themeSetting === 'system') {
                window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
                    setTheme(e.matches ? 'dark' : 'light');
                });
            }
        </script>
        <meta name="description" content="Thoughts, stories and ideas.">
        <link rel="canonical" href="https://www.drewbell.net/">
        <meta name="referrer" content="no-referrer-when-downgrade">
        
        <meta property="og:site_name" content="Drew Bell">
        <meta property="og:type" content="website">
        <meta property="og:title" content="Drew Bell">
        <meta property="og:description" content="Thoughts, stories and ideas.">
        <meta property="og:url" content="https://www.drewbell.net/">
        <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta property="article:publisher" content="https://www.facebook.com/ghost">
        <meta name="twitter:card" content="summary_large_image">
        <meta name="twitter:title" content="Drew Bell">
        <meta name="twitter:description" content="Thoughts, stories and ideas.">
        <meta name="twitter:url" content="https://www.drewbell.net/">
        <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
        <meta name="twitter:site" content="@ghost">
        <meta property="og:image:width" content="1200">
        <meta property="og:image:height" conte
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.193.91:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AQIp01HFzwb573kuNIHK8gje6IQMPzEB32jlPBNv4iYLAwChJ_Rrp2UylTt30n2F0jk1za1GIof34EPzPGPaaaobo23zfsW3ivrdo4W_qHZvQvhIKW2FOrBzbC1yn1vVE1Zc_-V7gfDy_9hFi1tn429SLPcePkbAByRAr_HvNqVljyrwGqRWrRcNXMmz3UGSSvzjsftFIDYvFQ9TBNAJsDNTBmDBegvH45iSoYxAP6iwpoTa3GCH2Or0pvfjnHCEYiDfTyCrMPWIyd9LsEzLsSPJ_kEV0JCbzzHykG1MUQ6jB6zV4bNr4DhhR_RNrx_we6kAhioc9Kjh_q4lAZFefEpvH_nxvVLK1yDmHoVK3ZOnHGd0ZnOdHH97PGM3PHBdUaZM-rM3shBuVscHbsAM; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams21027-AMS, cache-ams2100089-AMS, cache-fra-eddf8230120-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.129.91:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AXlsdtyCeLV_uIehAM2vgBQ2sZHfG6ziRjmohE7aNBxmFS2N2TVWtYY-o23a67aRCnlrcfq5A10NrTcQdsT2YcgPuU9AkswHEfvEBLb9P0jVRys-voLkLqmsHzoaPz2buHwZugUStpiyItnc9FxzdxV7IPJjYSyFP5wvuhGM-3TUphHjqSrUuxcEGlE2HOjh1NR_fmaRW3qBiVe9G4kxyA12UtMopAgHm96sh2ve3gxVzm4Pix-S0o6iZuV317KacJMMlK0TNziPZxLAuL9X6Yz19dkKmFXKdbB4g-yNrXaSD1jd92lakvwu0uYIfAUKcIQ0FMin2_zpc41YS7Dv1cAvNB89PFDbb_TEhRyx896qOP9YY2UKfEng1p6vNt5ByBRkVhlmXNk22JXTcp2s; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams21062-AMS, cache-ams21051-AMS, cache-fra-eddf8230166-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.65.91:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AUbaEe23NjjsYsp_2vup5jL3dbd7S0HocSqJtNSx5Y3yb5FddkWQCCm1VB8OFDYxDjdLdV6JrGBO7z4favZCVq12e6pbwm9lDifHEny4TN9VpESaddnb18amMcPIWWAWP6aR4Kkv-K43GD3Sdj5O2lIdYDKFogstsWnefOYYzBV53e7m7kf46ChjLBU-VxLWu-c2SEhQY5neEgzOOWMt4Zu403xHrBUbApWVw6jSiNkzmCuiD-c_HXy2cfgROq95xqyjQs2593_v2b51zmFqlgo0lq1iNcux4099deBEJ6YLi-YCJmBZ9qiJTYGRIGeH9R3zGtyFmbWqOPZ1TvabMT4GG15sFoG4W4BNfb-mxWtVbRrpako-fvY_qGjVcyHh5VT4ucmfYFAub-dQCmTX; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams21034-AMS, cache-ams21074-AMS, cache-vie6360-VIE
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.193.91:80 · www.drewbell.net

    2025-12-19 14:05

    HTTP/1.1 301 Moved Permanently
    Connection: close
    Content-Length: 0
    Retry-After: 0
    Location: https://www.drewbell.net/
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-rtm-ehrd2290029-RTM
    X-Cache: HIT
    X-Cache-Hits: 0
    X-Timer: S1766153125.005369,VS0,VE1
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    
    Found 2025-12-19 by HttpPlugin
    Create report
  • Open service 151.101.1.91:443 · drewbell.net

    2025-12-19 14:05

    HTTP/1.1 200 OK
    Connection: close
    set-cookie: _fs_ch_st_FSBmUei20MqUiJb9=AaKiZOlx8TGiP-t-ITlokihhyOgogYGaB38xhiKEsFHuuTIbVweT9_wYI0RotuFjHa_J1EJwM_hMWzETF5pLHMVOWZXbUDbYm4onTMUbY48bg3qJaGXKSsqiWPlzpD0oHT0xx6Zg34A06gzEKezBq52YlhginC799xQozmhKQhEnVIWieAl_PLKHSaMtZSVZT8dsErgpJr3A7oN6NYuYgq-AqS-ar-uDAsjC63t3Bb-Z4IjT_PQukvG-O1jOM2Wxlmpjui6tmXU0fIlhYRCke96Xi4k2cfBY-s01qz1sDInvpiZdQk1p8h0881pOnFFWJTvsBk_qt1O3U4KuYM8XJok6kBO2YtSmyj3l6BiQ830hQyh1XGz9S2surYHHfgL8Q1rHw6gW_DlyNyrhXw==; Max-Age=10; HttpOnly; Path=/
    content-type: text/html; charset=utf-8
    cache-control: private, no-store
    Accept-Ranges: bytes
    Date: Fri, 19 Dec 2025 14:05:25 GMT
    X-Served-By: cache-ams2100120-AMS, cache-ams21073-AMS, cache-fra-eddf8230034-FRA
    X-Cache: MISS, MISS
    X-Cache-Hits: 0, 0
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1
    Referrer-Policy: no-referrer-when-downgrade
    Expect-CT: enforce,max-age=30
    Permissions-Policy: geolocation=(), camera=(), microphone=()
    Strict-Transport-Security: max-age=31557600
    alt-svc: h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
    transfer-encoding: chunked
    
    Page title: Client Challenge
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta
          http-equiv="Content-Security-Policy"
          content="default-src 'self'; img-src 'self' data:; media-src 'self' data:; object-src 'none'; style-src 'self' 'sha256-o4vzfmmUENEg4chMjjRP9EuW9ucGnGIGVdbl8d0SHQQ='; script-src 'self' 'sha256-KXex2o39zxtnzVWK4H5rW07g2+BlwSPtn+aguzsWkNg=';"
        />
        <link
          href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/inter-var.woff2"
          rel="preload"
          as="font"
          type="font/woff2"
          crossorigin
        />
        <link href="/_fs-ch-1T1wmsGaOgGaSxcX/assets/styles.css" rel="stylesheet" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>Client Challenge</title>
        <style>
          #loading-error {
            font-size: 16px;
            font-family: 'Inter', sans-serif;
            margin-top: 10px;
            margin-left: 10px;
            display: none;
          }
        </style>
      </head>
      <body>
        <noscript>
          <div class="noscript-container">
            <div class="noscript-content">
              <img
                src="/_fs-ch-1T1wmsGaOgGaSxcX/assets/errorIcon.svg"
                alt=""
                role="presentation"
                class="error-icon"
              />
              <span class="noscript-span"
                >JavaScript is disabled in your browser.</span
              >
              <p>Please enable JavaScript to proceed.</p>
            </div>
          </div>
        </noscript>
        <div id="loading-error" role="alert" aria-live="polite">
          A required part of this site couldn’t load. This may be due to a browser
          extension, network issues, or browser settings. Please check your
          connection, disable any ad blockers, or try using a different browser.
        </div>
        <script>
          function loadScript(src) {
            return new Promise((resolve, reject) => {
              const script = document.createElement('script');
              script.onload = resolve;
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                document.getElementById('loading-error').style.display = 'block';
                loadingError.setAttribute('aria-hidden', 'false');
                reject(
                  new Error(
                    `Failed to load script: ${src}, Please contact the service administrator.`
                  )
                );
              };
              script.src = src;
              document.body.appendChild(script);
            });
          }
    
          loadScript('/_fs-ch-1T1wmsGaOgGaSxcX/errors.js')
            .then(() => {
              const script = document.createElement('script');
              script.src = '/_fs-ch-1T1wmsGaOgGaSxcX/script.js?reload=true';
              script.onerror = (event) => {
                console.error('Script load error event:', event);
                const errorMsg = new Error(
                  `Failed to load script: ${script.src}. Please contact the service administrator.`
                );
                console.error(errorMsg);
                handleScriptError();
              };
              document.body.appendChild(script);
            })
            .catch((error) => {
              console.error(error);
            });
        </script>
      </body>
    </html>
    
    Found 2025-12-19 by HttpPlugin
    Create report
drewbell.netwww.drewbell.net
CN:
www.drewbell.net
Key:
RSA-2048
Issuer:
Not before:
2025-12-19 13:06
Not after:
2026-01-18 13:06
www.drewbell.net
CN:
www.drewbell.net
Key:
RSA-2048
Issuer:
R12
Not before:
2025-12-23 15:03
Not after:
2026-03-23 15:03
drewbell.netwww.drewbell.net
CN:
www.drewbell.net
Key:
RSA-2048
Issuer:
Not before:
2025-11-29 14:03
Not after:
2025-12-29 14:03