Skip to content
Tech News
← Back to articles

Show HN: A pure ARM64 Assembly web server, now on Linux with CGI for no reason

read original more articles
Why This Matters

This ARM64 assembly-based web server demonstrates the potential for ultra-lightweight, high-performance server implementations using low-level programming. While primarily a proof of concept, it highlights the possibilities for optimized, minimalistic server solutions in the tech industry, especially for specialized or resource-constrained environments.

Key Takeaways

ymawky -- web server in ARM assembly

This is ymawky (yuh maw kee), a web server written entirely in ARM64 assembly. ymawky is a syscall-only, no libc, fork-per-connection web server written by hand. While originally developed for MacOS, this branch is a fully-featured Linux port.

Building

Build Commands

To compile a stripped binary, run make . To compile a binary with debugging symbols, run make debug

Prerequisites

ymawky requires gcc and binutils to assemble.

Ensure there is a www/ directory next to the ymawky executable. That's the document root where ymawky searches for files. GET with an empty filename ( GET / ) will search for www/index.html , so you might want to make sure there's an index.html as well.

ymawky will try to serve static error pages when a client's request results in error, eg 404. The pages it searches for in err/(code).html , so ensure err/ exists alongisde ymawky and www/ . See Configuration to modify the default file and docroot.

Running

... continue reading