Domain pranaysashank.com
The Netherlands
High5! B.V.
Software information

nginx nginx

tcp/80

  • Open service 46.23.81.157:80 · pranaysashank.com

    2026-01-10 10:48

    HTTP/1.1 302 Moved Temporarily
    Server: nginx
    Date: Sat, 10 Jan 2026 10:48:43 GMT
    Content-Type: text/html
    Content-Length: 138
    Connection: close
    Location: https://pranaysashank.com/
    
    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-10 by HttpPlugin
    Create report
  • Open service 46.23.81.157:443 · pranaysashank.com

    2026-01-10 10:48

    HTTP/1.1 200 OK
    Access-Control-Allow-Origin: *
    Access-Control-Request-Methods: GET, HEAD, OPTIONS
    Content-Length: 7241
    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, 31 Aug 2025 15:15:31 GMT
    Vary: Accept-Encoding
    Date: Sat, 10 Jan 2026 10:48:43 GMT
    Connection: close
    
    Page title: Pranay Sashank's blog
    
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Pranay Sashank's blog</title>
        <style>
            /* https://bestmotherfucking.website/ */
            @media (prefers-color-scheme: dark){
                body {color:#fff;background:#000}
                a:link {color:#9cf}
                a:hover, a:visited:hover {color:#cef}
                a:visited {color:#c9f}
            }
            body{
                margin:1em auto;
                max-width:40em;
                padding:0 .62em;
                font:1.2em/1.62 sans-serif;
            }
            h1,h2,h3 {
                line-height:1.2;
            }
            @media print{
                body{
                    max-width:none
                }
            }
        </style>
    </head>
    <main>
        <h2>Pranay Sashank's blog</h2>
        <p>This is my personal website.</p>
        <h3>Contact</h3>
        <address>
            <p>You can contact me via email at:
                <a href="mailto:ps@pranaysashank.com">ps@pranaysashank.com</a>
            </p>
        </address>
        <article>
            <section>
                <h3>Emulating aarch64 on x86_64 with qemu</h3>
                <p>This is what I had to do to get a aarch64 emulation on
                my x86 laptop.</p>
            </section>
            <section>
              <p>
                The simplest way if you're running NixOS is setting <pre><code>binfmt.emulatedSystems = ["aarch64-linux"];</code></pre>
                in your configuration and running the build with <pre><code>pkgs = import nixpkgs { system = "aarch64-linux"; }</code></pre>
              </p>
              <h4>## Spawning a container with systemd-nspawn</h4>
              <h5>### Getting debian linux distro</h6>
              <pre>
    <code>
      $ qemu-img create aarch64-debian.img 128G
      $ mkfs.ext4 aarch64-debian.img
      $ mkdir mount-point.dir
      $ sudo mount -o loop aarch64-debian.img mount-point.dir
      $ sudo debootstrap --include=systemd-container --arch arm64 bookworm mount-point.dir
    </code>
              </pre>
              <h5>### Spawning the container</h6>
              <p>On host, set binfmt entry for aarch64-linux. On NixOS,
                the interpreter path is always in
                /run/binfmt/{aarch64-linux}. Download qemu-aarch64-static
                from <a href="https://github.com/multiarch/qemu-user-static/releases">here</a>.
                And copy it to the path that is reported on the host in
                the container.
              </p><pre>
    <code>
      $ cat /proc/sys/fs/binfmt_misc/aarch64-linux
      enabled
      interpreter /run/binfmt/aarch64-linux
      flags: P
      offset 0
      magic 7f454c460201010000000000000000000200b700
      mask ffffffffffffff00ffffffffffff00fffeffffff
    </code>
              </pre>
              <p>systemd-nspawn mounts filesystems /dev/, /run/ and
                similar when container starts and are destroyed when
                container exits. So I can't just copy the downloaded qemu
                interpreter to /run. Instead I copy it to /bin in the
                distro and copy it /run when container is started.</p>
              <pre>
    <code>
      $ cp ~/Downloads/qemu-aarch64-static ~/mount-point.dir/bin/
      $ chmod 755 ~/mount-point.dir/bin/qemu-aarch64-static # can't login as any other user in the container without this
    </code>
              </pre>
              <p>Update: You can instead create a symlink in a directory on host
              and mount it on to the container with <code>--bind=binfmt:/run/binfmt/</code></p>
              <pre>
    <code>
      $ mkdir binfmt; cd binfmt
      $ ln -s /bin/qemu-aarch64-static aarch64-linux
    </code>
              </pre>
              <p>Here, I am not sure how binfmt registries work across
              host and container, I don't see a binfmt entry in
              container's /proc/sys/fs/binfmt_misc though the
              documentation for nspawn says it limits access to /proc/sys
              as read only. However only when the qemu interpreter is
              present at the path set in the binfmt entry inside the
               container does it work. So this is what I am doing right now.<p>
              <pre>
    <code>
      $ sudo systemd-nspawn -D mount-point.dir -U --bind=binfmt:/run/binfmt/ --machine de
    Found 2026-01-10 by HttpPlugin
    Create report
pranaysashank.com
CN:
pranaysashank.com
Key:
ECDSA-256
Issuer:
E8
Not before:
2026-01-10 09:49
Not after:
2026-04-10 09:49
Domain summary
IP summary