Install build dependencies per platform (one-line):
sudo dnf install gcc make libcurl-devel openssl-devel zlib-devel
sudo apt install build-essential libcurl4-openssl-dev libssl-dev zlib1g-dev
brew install curl openssl@3 pkg-config
pacman -S mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-curl mingw-w64-ucrt-x86_64-openssl
Then build:
cd cli make # builds ./ownsona (or ownsona.exe on Windows) make test # sanity-check the binary, no server traffic
The Makefile detects the platform via uname -s and asks
curl-config --static-libs for static linker flags. Static
linking works on macOS Homebrew and MSYS2 UCRT64; on Fedora and
Debian/Ubuntu it falls back to dynamic linking (libcurl required on
the target machine).
The binary is small (~80–100 KB dynamically linked, ~3-5 MB statically).