Domain matthewlang.dev
The Netherlands
High5! B.V.
Software information

nginx nginx

tcp/80

  • Open service 46.23.81.157:80 · matthewlang.dev

    2026-01-11 21:27

    HTTP/1.1 302 Moved Temporarily
    Server: nginx
    Date: Sun, 11 Jan 2026 21:27:12 GMT
    Content-Type: text/html
    Content-Length: 138
    Connection: close
    Location: https://matthewlang.dev/
    
    Page title: 302 Found
    
    <html>
    <head><title>302 Found</title></head>
    <body>
    <center><h1>302 Found</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
    
    Found 2026-01-11 by HttpPlugin
    Create report
  • Open service 46.23.81.157:443 · matthewlang.dev

    2026-01-11 21:27

    HTTP/1.1 200 OK
    Access-Control-Allow-Origin: *
    Access-Control-Request-Methods: GET, HEAD, OPTIONS
    Content-Length: 7621
    Content-Security-Policy: default-src 'self' data: blob:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; worker-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob:; frame-src https:; img-src data: https:; media-src https:; object-src 'none'; sandbox allow-downloads allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts;
    Content-Type: text/html; charset=utf-8
    Last-Modified: Sun, 11 Jan 2026 21:24:47 GMT
    Vary: Accept-Encoding
    Date: Sun, 11 Jan 2026 21:27:12 GMT
    Connection: close
    
    Page title: Matthew Lang - Web Developer: Building modern web experiences
    
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Matthew Lang - Web Developer: Building modern web experiences</title>
    
    <meta name="description" content="Portfolio of Matthew Lang, a web developer specializing in modern web technologies and clean design." />
    
    <link rel="stylesheet" href="/_bridgetown/static/index.JYDZLHLG.css" />
    <script src="/_bridgetown/static/index.P6KJZRZR.js" defer></script>
    <script type="module">let lastmod = 0
    let reconnectAttempts = 0
    function startLiveReload() {
      const connection = new EventSource("/_bridgetown/live_reload")
    
      connection.addEventListener("message", event => {
        reconnectAttempts = 0
        if (document.querySelector("#bridgetown-build-error")) document.querySelector("#bridgetown-build-error").close()
        if (event.data == "reloaded!") {
          location.reload()
        } else {
          const newmod = Number(event.data)
          if (lastmod > 0 && newmod > 0 && lastmod < newmod) {
            location.reload()
          } else {
            lastmod = newmod
          }
        }
      })
    
      connection.addEventListener("builderror", event => {
        let dialog = document.querySelector("#bridgetown-build-error")
        if (!dialog) {
          dialog = document.createElement("dialog")
          dialog.id = "bridgetown-build-error"
          dialog.style.borderColor = "red"
          dialog.style.fontSize = "110%"
          dialog.innerHTML = `
            <p style="color:red">There was an error when building the site:</p>
            <output><pre></pre></output>
            <p><small>Check your Bridgetown logs for further details.</small></p>
          `
          document.body.appendChild(dialog)
          dialog.showModal()
        }
        dialog.querySelector("pre").textContent = JSON.parse(event.data)
      })
    
      connection.addEventListener("error", () => {
        if (connection.readyState === 2) {
          // reconnect with new object
          connection.close()
          reconnectAttempts++
          if (reconnectAttempts < 25) {
            console.warn("Live reload: attempting to reconnect in 3 seconds...")
            setTimeout(() => startLiveReload(), 3000)
          } else {
            console.error("Too many live reload connections failed. Refresh the page to try again.")
          }
        }
      })
    }
    
    startLiveReload()
    </script>
    
      </head>
      <body class="default ">
        <main>
          <section class="hero">
      <div class="hero-content">
        <h1 class="hero-title">
          <span class="syntax-bracket">&lt;</span><span class="name-text">Matthew Lang</span><span class="syntax-bracket">/&gt;</span>
        </h1>
        <p class="hero-subtitle">Building modern web experiences</p>
        <div class="hero-social">
            <a href="https://sr.ht/~matthewlang/" target="_blank" rel="noopener noreferrer" aria-label="SourceHut">
              <svg width="24" height="24" viewBox="0 0 512 512" fill="currentColor">
                <path d="M256 56c-110.3 0-200 89.7-200 200s89.7 200 200 200 200-89.7 200-200S366.3 56 256 56zm0 368c-92.6 0-168-75.4-168-168S163.4 88 256 88s168 75.4 168 168-75.4 168-168 168zm0-304c-75.1 0-136 60.9-136 136s60.9 136 136 136 136-60.9 136-136-60.9-136-136-136zm0 240c-57.3 0-104-46.7-104-104s46.7-104 104-104 104 46.7 104 104-46.7 104-104 104z"/>
              </svg>
            </a>
            <a href="https://micro.blog/matthewlang" target="_blank" rel="noopener noreferrer" aria-label="Micro.blog">
              <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
                <path d="M12 2C6.48 2 2 6.48 2 12c0 4.41 2.87 8.15 6.84 9.49.5.09.68-.22.68-.48 0-.24-.01-.87-.01-1.71-2.78.6-3.37-1.34-3.37-1.34-.45-1.15-1.11-1.46-1.11-1.46-.91-.62.07-.61.07-.61 1 .07 1.53 1.03 1.53 1.03.89 1.53 2.34 1.09 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.94 0-1.09.39-1.98 1.03-2.68-.1-.25-.45-1.27.1-2.64 0 0 .84-.27 2.75 1.02.8-.22 1.65-.33 2.5-.33.85 0 1.7.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.37.2 2.39.1 2.64.64.7 1.03 1.59 1.03 2.68 0 3.84-2.34 4.68-4.57 4.93.36.31.68.92.68 1.85 0 1.34-.01 2.42-.01 2.75 0 .27.18.58.69.48C19.14 20.15 22 16.41 22 12c0-5.52-4.48-10-10-10z"/>
              </svg>
            </a>
     
    Found 2026-01-11 by HttpPlugin
    Create report
  • Open service 2a03:6000:1813:1337::157:80 · matthewlang.dev

    2026-01-11 21:27

    HTTP/1.1 302 Moved Temporarily
    Server: nginx
    Date: Sun, 11 Jan 2026 21:27:12 GMT
    Content-Type: text/html
    Content-Length: 138
    Connection: close
    Location: https://matthewlang.dev/
    
    Page title: 302 Found
    
    <html>
    <head><title>302 Found</title></head>
    <body>
    <center><h1>302 Found</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
    
    Found 2026-01-11 by HttpPlugin
    Create report
  • Open service 2a03:6000:1813:1337::157:443 · matthewlang.dev

    2026-01-11 21:27

    HTTP/1.1 200 OK
    Access-Control-Allow-Origin: *
    Access-Control-Request-Methods: GET, HEAD, OPTIONS
    Content-Length: 7621
    Content-Security-Policy: default-src 'self' data: blob:; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; worker-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob:; frame-src https:; img-src data: https:; media-src https:; object-src 'none'; sandbox allow-downloads allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts;
    Content-Type: text/html; charset=utf-8
    Last-Modified: Sun, 11 Jan 2026 21:24:47 GMT
    Vary: Accept-Encoding
    Date: Sun, 11 Jan 2026 21:27:12 GMT
    Connection: close
    
    Page title: Matthew Lang - Web Developer: Building modern web experiences
    
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Matthew Lang - Web Developer: Building modern web experiences</title>
    
    <meta name="description" content="Portfolio of Matthew Lang, a web developer specializing in modern web technologies and clean design." />
    
    <link rel="stylesheet" href="/_bridgetown/static/index.JYDZLHLG.css" />
    <script src="/_bridgetown/static/index.P6KJZRZR.js" defer></script>
    <script type="module">let lastmod = 0
    let reconnectAttempts = 0
    function startLiveReload() {
      const connection = new EventSource("/_bridgetown/live_reload")
    
      connection.addEventListener("message", event => {
        reconnectAttempts = 0
        if (document.querySelector("#bridgetown-build-error")) document.querySelector("#bridgetown-build-error").close()
        if (event.data == "reloaded!") {
          location.reload()
        } else {
          const newmod = Number(event.data)
          if (lastmod > 0 && newmod > 0 && lastmod < newmod) {
            location.reload()
          } else {
            lastmod = newmod
          }
        }
      })
    
      connection.addEventListener("builderror", event => {
        let dialog = document.querySelector("#bridgetown-build-error")
        if (!dialog) {
          dialog = document.createElement("dialog")
          dialog.id = "bridgetown-build-error"
          dialog.style.borderColor = "red"
          dialog.style.fontSize = "110%"
          dialog.innerHTML = `
            <p style="color:red">There was an error when building the site:</p>
            <output><pre></pre></output>
            <p><small>Check your Bridgetown logs for further details.</small></p>
          `
          document.body.appendChild(dialog)
          dialog.showModal()
        }
        dialog.querySelector("pre").textContent = JSON.parse(event.data)
      })
    
      connection.addEventListener("error", () => {
        if (connection.readyState === 2) {
          // reconnect with new object
          connection.close()
          reconnectAttempts++
          if (reconnectAttempts < 25) {
            console.warn("Live reload: attempting to reconnect in 3 seconds...")
            setTimeout(() => startLiveReload(), 3000)
          } else {
            console.error("Too many live reload connections failed. Refresh the page to try again.")
          }
        }
      })
    }
    
    startLiveReload()
    </script>
    
      </head>
      <body class="default ">
        <main>
          <section class="hero">
      <div class="hero-content">
        <h1 class="hero-title">
          <span class="syntax-bracket">&lt;</span><span class="name-text">Matthew Lang</span><span class="syntax-bracket">/&gt;</span>
        </h1>
        <p class="hero-subtitle">Building modern web experiences</p>
        <div class="hero-social">
            <a href="https://sr.ht/~matthewlang/" target="_blank" rel="noopener noreferrer" aria-label="SourceHut">
              <svg width="24" height="24" viewBox="0 0 512 512" fill="currentColor">
                <path d="M256 56c-110.3 0-200 89.7-200 200s89.7 200 200 200 200-89.7 200-200S366.3 56 256 56zm0 368c-92.6 0-168-75.4-168-168S163.4 88 256 88s168 75.4 168 168-75.4 168-168 168zm0-304c-75.1 0-136 60.9-136 136s60.9 136 136 136 136-60.9 136-136-60.9-136-136-136zm0 240c-57.3 0-104-46.7-104-104s46.7-104 104-104 104 46.7 104 104-46.7 104-104 104z"/>
              </svg>
            </a>
            <a href="https://micro.blog/matthewlang" target="_blank" rel="noopener noreferrer" aria-label="Micro.blog">
              <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
                <path d="M12 2C6.48 2 2 6.48 2 12c0 4.41 2.87 8.15 6.84 9.49.5.09.68-.22.68-.48 0-.24-.01-.87-.01-1.71-2.78.6-3.37-1.34-3.37-1.34-.45-1.15-1.11-1.46-1.11-1.46-.91-.62.07-.61.07-.61 1 .07 1.53 1.03 1.53 1.03.89 1.53 2.34 1.09 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.94 0-1.09.39-1.98 1.03-2.68-.1-.25-.45-1.27.1-2.64 0 0 .84-.27 2.75 1.02.8-.22 1.65-.33 2.5-.33.85 0 1.7.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.37.2 2.39.1 2.64.64.7 1.03 1.59 1.03 2.68 0 3.84-2.34 4.68-4.57 4.93.36.31.68.92.68 1.85 0 1.34-.01 2.42-.01 2.75 0 .27.18.58.69.48C19.14 20.15 22 16.41 22 12c0-5.52-4.48-10-10-10z"/>
              </svg>
            </a>
     
    Found 2026-01-11 by HttpPlugin
    Create report
matthewlang.dev
CN:
matthewlang.dev
Key:
ECDSA-256
Issuer:
E8
Not before:
2026-01-11 20:27
Not after:
2026-04-11 20:27
Domain summary