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