Domain felixgao.dev
Finland
Hetzner Online GmbH
Software information

Caddy

tcp/443 tcp/80

Python 3.13.5

tcp/443

Werkzeug 3.1.3

tcp/443

  • MacOS file listing through .DS_Store file
    First seen 2025-05-11 16:00
    Last seen 2025-12-13 10:16
    Open for 215 days
  • MacOS file listing through .DS_Store file
    First seen 2025-03-12 23:01
    Last seen 2026-01-01 07:18
    Open for 294 days
    • Severity: low
      Fingerprint: 5f32cf5d6962f09c39aac35b39aac35bf639e88d42c9c8a6891957f1294adb24

      Found 14 files trough .DS_Store spidering:
      
      /assets
      /assets/flag-orpheus-left-bw.png
      /assets/flag-orpheus-left.png
      /assets/flag-orpheus-top-bw.png
      /assets/flag-orpheus-top.png
      /assets/flag-standalone-bw.png
      /assets/flag-standalone.png
      /assets/generation.js
      /assets/hack_club_theme.css
      /assets/icon-progress-rounded.png
      /assets/icon-rounded.png
      /assets/nest.png
      /assets/style.css
      /index.html
      Found on 2026-01-01 07:18
  • MacOS file listing through .DS_Store file
    First seen 2025-03-12 23:01
    Last seen 2026-01-01 07:18
    Open for 294 days
    • Severity: low
      Fingerprint: 5f32cf5d6962f09c39aac35b39aac35bf639e88d42c9c8a6891957f1294adb24

      Found 14 files trough .DS_Store spidering:
      
      /assets
      /assets/flag-orpheus-left-bw.png
      /assets/flag-orpheus-left.png
      /assets/flag-orpheus-top-bw.png
      /assets/flag-orpheus-top.png
      /assets/flag-standalone-bw.png
      /assets/flag-standalone.png
      /assets/generation.js
      /assets/hack_club_theme.css
      /assets/icon-progress-rounded.png
      /assets/icon-rounded.png
      /assets/nest.png
      /assets/style.css
      /index.html
      Found on 2026-01-01 07:18
  • MacOS file listing through .DS_Store file
    First seen 2025-05-11 16:00
    Last seen 2026-01-02 12:23
    Open for 235 days
  • Open service 37.27.51.34:80 · qr.felixgao.dev

    2026-01-02 23:45

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://qr.felixgao.dev/
    Server: Caddy
    Date: Fri, 02 Jan 2026 23:45:55 GMT
    Content-Length: 0
    
    Found 2026-01-02 by HttpPlugin
    Create report
  • Open service 37.27.51.34:443 · qr.felixgao.dev

    2026-01-02 23:45

    HTTP/1.0 400 Bad Request
    
    
    Client sent an HTTP request to an HTTPS server.
    
    Found 2026-01-02 by HttpPlugin
    Create report
  • Open service 37.27.51.34:443 · felixgao.dev

    2026-01-02 12:23

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 410
    Content-Type: text/html; charset=utf-8
    Date: Fri, 02 Jan 2026 12:23:21 GMT
    Etag: "d9k4jeoazlorbe"
    Last-Modified: Wed, 30 Apr 2025 16:46:20 GMT
    Server: Caddy
    Vary: Accept-Encoding
    Via: 1.1 Caddy
    Connection: close
    
    Page title: Coming Soon *tm
    
    <!DOCTYPE html>
    <head>
      <title>Coming Soon *tm</title>
    </head>
    <body>
      <h1>Hello!</h1>
    
      <p>Welcome! My name is Felix. There isn't anything here yet but expect something here (hopefully) soon!</p>
      <p>Find me around!</p>
    
      <ul>
        <li><b>Email:</b> me@this_domain or my_first_name@hackclub.com</li>
        <li><b>Hack Club's Slack:</b>@Felix Gao</li>
      </ul>
    
      <p>P.S. Abhay please stop gaming</p>
    </body>
    
    Found 2026-01-02 by HttpPlugin
    Create report
  • Open service 37.27.51.34:80 · felixgao.dev

    2026-01-02 05:21

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://felixgao.dev/
    Server: Caddy
    Date: Fri, 02 Jan 2026 05:21:42 GMT
    Content-Length: 0
    
    Found 2026-01-02 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:80 · qr.felixgao.dev

    2026-01-01 07:18

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 6484
    Content-Type: text/html; charset=utf-8
    Date: Thu, 01 Jan 2026 07:18:54 GMT
    Etag: "d724r56bmusg504"
    Last-Modified: Tue, 14 Jan 2025 21:56:30 GMT
    Server: Caddy
    Vary: Accept-Encoding
    Via: 1.1 Caddy
    Connection: close
    
    Page title: QR Code Generator
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>QR Code Generator</title>
    
        <!-- Framework for QR code generation // https://github.com/davidshimjs/qrcodejs -->
        <script type="text/javascript" src="https://unpkg.com/qr-code-styling@1.5.0/lib/qr-code-styling.js"></script>
        <script src="assets/generation.js"></script>
    
        <link rel="stylesheet" href="assets/hack_club_theme.css"> <!-- Hackclub theme :yay: -->
        <link rel="stylesheet" href="assets/style.css">
    
    </head>
    
    <body>
        <h1>QR Code Generator</h1>
    
        <p>Need a shortened URL with analytics? Check out <a href="https://url.felixgao.dev">url.felixgao.dev</a>!</p>
    
        <div class="card sunken">
            <label for="url-field">URL or text to convert</label>
            <input type="text" id="url-field">
            <p><b>Tip: </b>Start your URL with https:// so devices will recognize it as a link!</p>
    
    
            <label for="error-correction">Error correction level</label>
            <select id="error-correction">
                <option value="L">Low</option>
                <option value="M" selected="selected">Medium (Default)</option>
                <option value="Q">Quartile</option>
                <option value="H">High</option>
            </select>
            <p><b>Tip: </b>Set a higher level (Quartile/High) if you want to print this outside, where the QR code will take
                damage from the outdoors. Set a lower level if you need the QR code to be small for some reason (Low). Keep
                it normal otherwise (Medium) :).</p>
    
    
            <div class="colour-picker">
                <div>
                    <label for="dots-color">QR Code Color</label>
                    <input type="color" id="dots-color" value="#000000">
                </div>
            </div>
    
            <label class="margin-10-top">Choose an (optional) image to add! Maybe make it Hack Club themed?</label>
    
            <div class="gallery">
                <div class="align-side">
                    <input type="radio" name="image" id="image-none" value="image-none" checked>
                    <label class="gallery-item" for="image-none" aria-label="Don't add an image to the QR code">
                        No Image
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image1" value="image1">
                    <label class="gallery-item" for="image1" aria-label="Add a red flag with the Hack Club logo">
                        <img src="assets/flag-standalone.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image2" value="image2">
                    <label class="gallery-item" for="image2"
                        aria-label="Add a hand from the left holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image3" value="image3">
                    <label class="gallery-item" for="image3"
                        aria-label="Add a hand from the top holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-top.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image4" value="image4">
                    <label class="gallery-item" for="image4" aria-label="Add a black flag with the Hack Club logo">
                        <img src="assets/flag-standalone-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image5" value="image5">
                    <label class="gallery-item" for="image5"
                        aria-label="Add a hand from the left holding a black flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <
    Found 2026-01-01 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:443 · qr.felixgao.dev

    2026-01-01 07:18

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 6484
    Content-Type: text/html; charset=utf-8
    Date: Thu, 01 Jan 2026 07:18:51 GMT
    Etag: "d724r56bmusg504"
    Last-Modified: Tue, 14 Jan 2025 21:56:30 GMT
    Server: Caddy
    Vary: Accept-Encoding
    Via: 1.1 Caddy
    Connection: close
    
    Page title: QR Code Generator
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>QR Code Generator</title>
    
        <!-- Framework for QR code generation // https://github.com/davidshimjs/qrcodejs -->
        <script type="text/javascript" src="https://unpkg.com/qr-code-styling@1.5.0/lib/qr-code-styling.js"></script>
        <script src="assets/generation.js"></script>
    
        <link rel="stylesheet" href="assets/hack_club_theme.css"> <!-- Hackclub theme :yay: -->
        <link rel="stylesheet" href="assets/style.css">
    
    </head>
    
    <body>
        <h1>QR Code Generator</h1>
    
        <p>Need a shortened URL with analytics? Check out <a href="https://url.felixgao.dev">url.felixgao.dev</a>!</p>
    
        <div class="card sunken">
            <label for="url-field">URL or text to convert</label>
            <input type="text" id="url-field">
            <p><b>Tip: </b>Start your URL with https:// so devices will recognize it as a link!</p>
    
    
            <label for="error-correction">Error correction level</label>
            <select id="error-correction">
                <option value="L">Low</option>
                <option value="M" selected="selected">Medium (Default)</option>
                <option value="Q">Quartile</option>
                <option value="H">High</option>
            </select>
            <p><b>Tip: </b>Set a higher level (Quartile/High) if you want to print this outside, where the QR code will take
                damage from the outdoors. Set a lower level if you need the QR code to be small for some reason (Low). Keep
                it normal otherwise (Medium) :).</p>
    
    
            <div class="colour-picker">
                <div>
                    <label for="dots-color">QR Code Color</label>
                    <input type="color" id="dots-color" value="#000000">
                </div>
            </div>
    
            <label class="margin-10-top">Choose an (optional) image to add! Maybe make it Hack Club themed?</label>
    
            <div class="gallery">
                <div class="align-side">
                    <input type="radio" name="image" id="image-none" value="image-none" checked>
                    <label class="gallery-item" for="image-none" aria-label="Don't add an image to the QR code">
                        No Image
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image1" value="image1">
                    <label class="gallery-item" for="image1" aria-label="Add a red flag with the Hack Club logo">
                        <img src="assets/flag-standalone.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image2" value="image2">
                    <label class="gallery-item" for="image2"
                        aria-label="Add a hand from the left holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image3" value="image3">
                    <label class="gallery-item" for="image3"
                        aria-label="Add a hand from the top holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-top.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image4" value="image4">
                    <label class="gallery-item" for="image4" aria-label="Add a black flag with the Hack Club logo">
                        <img src="assets/flag-standalone-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image5" value="image5">
                    <label class="gallery-item" for="image5"
                        aria-label="Add a hand from the left holding a black flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <
    Found 2026-01-01 by HttpPlugin
    Create report
  • Open service 37.27.51.34:80 · qr.felixgao.dev

    2026-01-01 07:18

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 6484
    Content-Type: text/html; charset=utf-8
    Date: Thu, 01 Jan 2026 07:18:51 GMT
    Etag: "d724r56bmusg504"
    Last-Modified: Tue, 14 Jan 2025 21:56:30 GMT
    Server: Caddy
    Vary: Accept-Encoding
    Via: 1.1 Caddy
    Connection: close
    
    Page title: QR Code Generator
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>QR Code Generator</title>
    
        <!-- Framework for QR code generation // https://github.com/davidshimjs/qrcodejs -->
        <script type="text/javascript" src="https://unpkg.com/qr-code-styling@1.5.0/lib/qr-code-styling.js"></script>
        <script src="assets/generation.js"></script>
    
        <link rel="stylesheet" href="assets/hack_club_theme.css"> <!-- Hackclub theme :yay: -->
        <link rel="stylesheet" href="assets/style.css">
    
    </head>
    
    <body>
        <h1>QR Code Generator</h1>
    
        <p>Need a shortened URL with analytics? Check out <a href="https://url.felixgao.dev">url.felixgao.dev</a>!</p>
    
        <div class="card sunken">
            <label for="url-field">URL or text to convert</label>
            <input type="text" id="url-field">
            <p><b>Tip: </b>Start your URL with https:// so devices will recognize it as a link!</p>
    
    
            <label for="error-correction">Error correction level</label>
            <select id="error-correction">
                <option value="L">Low</option>
                <option value="M" selected="selected">Medium (Default)</option>
                <option value="Q">Quartile</option>
                <option value="H">High</option>
            </select>
            <p><b>Tip: </b>Set a higher level (Quartile/High) if you want to print this outside, where the QR code will take
                damage from the outdoors. Set a lower level if you need the QR code to be small for some reason (Low). Keep
                it normal otherwise (Medium) :).</p>
    
    
            <div class="colour-picker">
                <div>
                    <label for="dots-color">QR Code Color</label>
                    <input type="color" id="dots-color" value="#000000">
                </div>
            </div>
    
            <label class="margin-10-top">Choose an (optional) image to add! Maybe make it Hack Club themed?</label>
    
            <div class="gallery">
                <div class="align-side">
                    <input type="radio" name="image" id="image-none" value="image-none" checked>
                    <label class="gallery-item" for="image-none" aria-label="Don't add an image to the QR code">
                        No Image
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image1" value="image1">
                    <label class="gallery-item" for="image1" aria-label="Add a red flag with the Hack Club logo">
                        <img src="assets/flag-standalone.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image2" value="image2">
                    <label class="gallery-item" for="image2"
                        aria-label="Add a hand from the left holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image3" value="image3">
                    <label class="gallery-item" for="image3"
                        aria-label="Add a hand from the top holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-top.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image4" value="image4">
                    <label class="gallery-item" for="image4" aria-label="Add a black flag with the Hack Club logo">
                        <img src="assets/flag-standalone-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image5" value="image5">
                    <label class="gallery-item" for="image5"
                        aria-label="Add a hand from the left holding a black flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <
    Found 2026-01-01 by HttpPlugin
    Create report
  • Open service 37.27.51.34:443 · qr.felixgao.dev

    2026-01-01 07:18

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 6484
    Content-Type: text/html; charset=utf-8
    Date: Thu, 01 Jan 2026 07:18:51 GMT
    Etag: "d724r56bmusg504"
    Last-Modified: Tue, 14 Jan 2025 21:56:30 GMT
    Server: Caddy
    Vary: Accept-Encoding
    Via: 1.1 Caddy
    Connection: close
    
    Page title: QR Code Generator
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>QR Code Generator</title>
    
        <!-- Framework for QR code generation // https://github.com/davidshimjs/qrcodejs -->
        <script type="text/javascript" src="https://unpkg.com/qr-code-styling@1.5.0/lib/qr-code-styling.js"></script>
        <script src="assets/generation.js"></script>
    
        <link rel="stylesheet" href="assets/hack_club_theme.css"> <!-- Hackclub theme :yay: -->
        <link rel="stylesheet" href="assets/style.css">
    
    </head>
    
    <body>
        <h1>QR Code Generator</h1>
    
        <p>Need a shortened URL with analytics? Check out <a href="https://url.felixgao.dev">url.felixgao.dev</a>!</p>
    
        <div class="card sunken">
            <label for="url-field">URL or text to convert</label>
            <input type="text" id="url-field">
            <p><b>Tip: </b>Start your URL with https:// so devices will recognize it as a link!</p>
    
    
            <label for="error-correction">Error correction level</label>
            <select id="error-correction">
                <option value="L">Low</option>
                <option value="M" selected="selected">Medium (Default)</option>
                <option value="Q">Quartile</option>
                <option value="H">High</option>
            </select>
            <p><b>Tip: </b>Set a higher level (Quartile/High) if you want to print this outside, where the QR code will take
                damage from the outdoors. Set a lower level if you need the QR code to be small for some reason (Low). Keep
                it normal otherwise (Medium) :).</p>
    
    
            <div class="colour-picker">
                <div>
                    <label for="dots-color">QR Code Color</label>
                    <input type="color" id="dots-color" value="#000000">
                </div>
            </div>
    
            <label class="margin-10-top">Choose an (optional) image to add! Maybe make it Hack Club themed?</label>
    
            <div class="gallery">
                <div class="align-side">
                    <input type="radio" name="image" id="image-none" value="image-none" checked>
                    <label class="gallery-item" for="image-none" aria-label="Don't add an image to the QR code">
                        No Image
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image1" value="image1">
                    <label class="gallery-item" for="image1" aria-label="Add a red flag with the Hack Club logo">
                        <img src="assets/flag-standalone.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image2" value="image2">
                    <label class="gallery-item" for="image2"
                        aria-label="Add a hand from the left holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image3" value="image3">
                    <label class="gallery-item" for="image3"
                        aria-label="Add a hand from the top holding a red flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-top.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image4" value="image4">
                    <label class="gallery-item" for="image4" aria-label="Add a black flag with the Hack Club logo">
                        <img src="assets/flag-standalone-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <input type="radio" name="image" id="image5" value="image5">
                    <label class="gallery-item" for="image5"
                        aria-label="Add a hand from the left holding a black flag with the Hack Club logo">
                        <img src="assets/flag-orpheus-left-bw.png" alt="">
                    </label>
                </div>
    
                <div class="align-side">
                    <
    Found 2026-01-01 by HttpPlugin
    Create report
  • Open service 37.27.51.34:80 · url.felixgao.dev

    2025-12-31 23:48

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://url.felixgao.dev/
    Server: Caddy
    Date: Wed, 31 Dec 2025 23:48:18 GMT
    Content-Length: 0
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 37.27.51.34:443 · url.felixgao.dev

    2025-12-31 23:48

    HTTP/1.1 502 Bad Gateway
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 0
    Date: Wed, 31 Dec 2025 23:48:18 GMT
    Server: Caddy
    Via: 1.1 Caddy
    Connection: close
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:80 · url.felixgao.dev

    2025-12-31 23:48

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://url.felixgao.dev/
    Server: Caddy
    Date: Wed, 31 Dec 2025 23:48:19 GMT
    Content-Length: 0
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:443 · url.felixgao.dev

    2025-12-31 23:48

    HTTP/1.1 502 Bad Gateway
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 0
    Date: Wed, 31 Dec 2025 23:48:17 GMT
    Server: Caddy
    Via: 1.1 Caddy
    Connection: close
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:80 · monitor.felixgao.dev

    2025-12-31 23:47

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://monitor.felixgao.dev/
    Server: Caddy
    Date: Wed, 31 Dec 2025 23:47:01 GMT
    Content-Length: 0
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:443 · monitor.felixgao.dev

    2025-12-31 23:47

    HTTP/1.1 200 OK
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 3939
    Content-Type: text/html; charset=utf-8
    Date: Wed, 31 Dec 2025 23:47:02 GMT
    Server: Werkzeug/3.1.3 Python/3.13.5
    Via: 1.1 Caddy
    Via: 1.1 Caddy
    Connection: close
    
    Page title: Resource Monitor & Vitals
    
    <!DOCTYPE html>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        
        <title>Resource Monitor & Vitals</title>
    
        <!-- Websocket connection for data
        <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE+E7Qv1j+DyZwA==" crossorigin="anonymous"></script> -->
        <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-annotation@1.0.0"></script>
        <script src="/static/monitor.js"></script>
    
        <link rel="stylesheet" href="/static/monitor.css">
    
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
    </head>
    <body>
        <h1>Resource & Vital Monitor</h1>
    
        <div id="warning-prompt" style="display: none;">
            <p><b>Woah There!</b> The server isn't responding, data went bye bye D:</p>
        </div>
    
        <div>
            <h2>CPU Usage</h2>
            <div class="container">
                <p id="cpu-usage"></p>
                
                <div class="graph-selector" data-group="cpu-options">
                    <button class="toggle-button selected" onclick="selectButton(this, 'cpu-options')" name="global-usage">Global Usage</button>
                    <button class="toggle-button" onclick="selectButton(this, 'cpu-options')" name="core-usage">Per-Core Usage</button>
                </div>
            </div>
    
            <div style="position: relative; height:80vh; width:100%">
                <canvas id="cpu-graph" class="line-graph"></canvas>
            </div>
        </div>
    
        <div>
            <h2>Memory Usage</h2>
            <div class="container">
                <p id="memory-usage"></p>
    
                <div class="graph-selector" data-group="memory-options">
                    <button class="toggle-button selected" onclick="selectButton(this, 'memory-options')" name="global-usage">Global Usage</button>
                    <button class="toggle-button" onclick="selectButton(this, 'memory-options')" name="my-usage">My Usage</button>
                </div>
            </div>
    
            <div style="position: relative; height:80vh; width:100%;">
                <canvas id="memory-graph" class="line-graph"></canvas>
            </div>
        </div>
    
        <div id="bottom-bar">
            <div style="width:50%;">
                <h2>Storage Usage</h2>
                <div class="container">
                    <p id="storage-usage"></p>
    
                    <div class="graph-selector" data-group="storage-options">
                        <button class="toggle-button selected" onclick="selectButton(this, 'storage-options')" name="global-usage">Global Usage</button>
                        <button class="toggle-button" onclick="selectButton(this, 'storage-options')" name="my-usage">My Usage</button>
                        <button class="toggle-button" onclick="selectButton(this, 'storage-options')" name="directory-usage">By Directory</button>
                    </div>
                </div>
                <div style="aspect-ratio: 1/1; width: 80%; margin: 0 auto; margin-top: 1rem;">
                    <canvas id="storage-graph"></canvas>
                </div>
            </div>
    
            <div style="width:50%;">
                <h2>Usages by PID</h2>
                <table class="pid-data" id="pid-chart">
                    <tr>
                        <th style="width:10%;">PID</th>
                        <th style="width:50%;">Process Name</th>
                        <th style="width:10%;">CPU (%)</th>
                        <th style="width:10%;">Memory (GB)</th>
                        <th style="width:20%;">Status</th>
                    </tr>
                </table>
            </div>
        </div>
    </body>
    </html>
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 37.27.51.34:443 · monitor.felixgao.dev

    2025-12-31 23:47

    HTTP/1.1 200 OK
    Alt-Svc: h3=":443"; ma=2592000
    Content-Length: 3939
    Content-Type: text/html; charset=utf-8
    Date: Wed, 31 Dec 2025 23:47:01 GMT
    Server: Werkzeug/3.1.3 Python/3.13.5
    Via: 1.1 Caddy
    Via: 1.1 Caddy
    Connection: close
    
    Page title: Resource Monitor & Vitals
    
    <!DOCTYPE html>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        
        <title>Resource Monitor & Vitals</title>
    
        <!-- Websocket connection for data
        <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE+E7Qv1j+DyZwA==" crossorigin="anonymous"></script> -->
        <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-annotation@1.0.0"></script>
        <script src="/static/monitor.js"></script>
    
        <link rel="stylesheet" href="/static/monitor.css">
    
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
    </head>
    <body>
        <h1>Resource & Vital Monitor</h1>
    
        <div id="warning-prompt" style="display: none;">
            <p><b>Woah There!</b> The server isn't responding, data went bye bye D:</p>
        </div>
    
        <div>
            <h2>CPU Usage</h2>
            <div class="container">
                <p id="cpu-usage"></p>
                
                <div class="graph-selector" data-group="cpu-options">
                    <button class="toggle-button selected" onclick="selectButton(this, 'cpu-options')" name="global-usage">Global Usage</button>
                    <button class="toggle-button" onclick="selectButton(this, 'cpu-options')" name="core-usage">Per-Core Usage</button>
                </div>
            </div>
    
            <div style="position: relative; height:80vh; width:100%">
                <canvas id="cpu-graph" class="line-graph"></canvas>
            </div>
        </div>
    
        <div>
            <h2>Memory Usage</h2>
            <div class="container">
                <p id="memory-usage"></p>
    
                <div class="graph-selector" data-group="memory-options">
                    <button class="toggle-button selected" onclick="selectButton(this, 'memory-options')" name="global-usage">Global Usage</button>
                    <button class="toggle-button" onclick="selectButton(this, 'memory-options')" name="my-usage">My Usage</button>
                </div>
            </div>
    
            <div style="position: relative; height:80vh; width:100%;">
                <canvas id="memory-graph" class="line-graph"></canvas>
            </div>
        </div>
    
        <div id="bottom-bar">
            <div style="width:50%;">
                <h2>Storage Usage</h2>
                <div class="container">
                    <p id="storage-usage"></p>
    
                    <div class="graph-selector" data-group="storage-options">
                        <button class="toggle-button selected" onclick="selectButton(this, 'storage-options')" name="global-usage">Global Usage</button>
                        <button class="toggle-button" onclick="selectButton(this, 'storage-options')" name="my-usage">My Usage</button>
                        <button class="toggle-button" onclick="selectButton(this, 'storage-options')" name="directory-usage">By Directory</button>
                    </div>
                </div>
                <div style="aspect-ratio: 1/1; width: 80%; margin: 0 auto; margin-top: 1rem;">
                    <canvas id="storage-graph"></canvas>
                </div>
            </div>
    
            <div style="width:50%;">
                <h2>Usages by PID</h2>
                <table class="pid-data" id="pid-chart">
                    <tr>
                        <th style="width:10%;">PID</th>
                        <th style="width:50%;">Process Name</th>
                        <th style="width:10%;">CPU (%)</th>
                        <th style="width:10%;">Memory (GB)</th>
                        <th style="width:20%;">Status</th>
                    </tr>
                </table>
            </div>
        </div>
    </body>
    </html>
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 37.27.51.34:80 · monitor.felixgao.dev

    2025-12-31 23:47

    HTTP/1.1 308 Permanent Redirect
    Connection: close
    Location: https://monitor.felixgao.dev/
    Server: Caddy
    Date: Wed, 31 Dec 2025 23:47:01 GMT
    Content-Length: 0
    
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:443 · felixgao.dev

    2025-12-31 08:38

    HTTP/1.1 502 Bad Gateway
    Alt-Svc: h3=":443"; ma=2592000
    Connection: close
    Content-Type: text/plain; charset=utf-8
    Server: Caddy
    Date: Wed, 31 Dec 2025 08:38:43 GMT
    Content-Length: 631
    
    
    Something went wrong on the project owner's end. You may want to contact felixgao [at] hackclub [dot] app to resolve this issue.
    
    
                                              .MM.
                                              ;MM.
    KKc.lONMMWXk;    ckXWMMWXk:   'xXWMMWXxoKKNMMXKKKK
    MMXNo'.  .lWM0.oWNo'.  .,dWWldMW:.  .:XMN'dMM:....
    MMW.       :MMWMN.        'MMMMWc.     .. cMM.
    MMO        .MMMMWXXXXXXXXXXWWO,dKNMNKOd:. cMM.
    MMO        .MMMMX                  .':OMMccMM.
    MMO        .MMKNMO.      .kK0KKl      .MMk:MM;
    MMO        .MMd.oXMKxoox0MXl ,OMNkdodkWWk. kWMKOOo
    dd:        .dd;   ,xKNNKx,     .o0XNX0l.    .:oddc
    - hackclub.app
    Found 2025-12-31 by HttpPlugin
    Create report
  • Open service 2a01:4f9:3081:399c::4:80 · felixgao.dev

    2025-12-31 08:38

    HTTP/1.1 502 Bad Gateway
    Alt-Svc: h3=":443"; ma=2592000
    Connection: close
    Content-Type: text/plain; charset=utf-8
    Server: Caddy
    Date: Wed, 31 Dec 2025 08:38:42 GMT
    Content-Length: 631
    
    
    Something went wrong on the project owner's end. You may want to contact felixgao [at] hackclub [dot] app to resolve this issue.
    
    
                                              .MM.
                                              ;MM.
    KKc.lONMMWXk;    ckXWMMWXk:   'xXWMMWXxoKKNMMXKKKK
    MMXNo'.  .lWM0.oWNo'.  .,dWWldMW:.  .:XMN'dMM:....
    MMW.       :MMWMN.        'MMMMWc.     .. cMM.
    MMO        .MMMMWXXXXXXXXXXWWO,dKNMNKOd:. cMM.
    MMO        .MMMMX                  .':OMMccMM.
    MMO        .MMKNMO.      .kK0KKl      .MMk:MM;
    MMO        .MMd.oXMKxoox0MXl ,OMNkdodkWWk. kWMKOOo
    dd:        .dd;   ,xKNNKx,     .o0XNX0l.    .:oddc
    - hackclub.app
    Found 2025-12-31 by HttpPlugin
    Create report
felixgao.dev
CN:
felixgao.dev
Not before:
2025-12-31 00:00
Not after:
2026-03-31 23:59
qr.felixgao.dev
CN:
qr.felixgao.dev
Not before:
2026-01-01 00:00
Not after:
2026-04-01 23:59
url.felixgao.dev
CN:
url.felixgao.dev
Not before:
2025-12-31 00:00
Not after:
2026-03-31 23:59
monitor.felixgao.dev
CN:
monitor.felixgao.dev
Not before:
2025-12-31 00:00
Not after:
2026-03-31 23:59
felixgao.dev
CN:
felixgao.dev
Not before:
2025-10-27 00:00
Not after:
2026-01-25 23:59