No description
Find a file
hexlocation 8d25287b0c
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix: quick memory overwrite thingy
2025-11-10 23:53:46 +01:00
examples fix: new tag function, make it actually close 2025-11-10 22:50:42 +01:00
src fix: quick memory overwrite thingy 2025-11-10 23:53:46 +01:00
.clang-format formatting 2025-11-06 08:22:32 +01:00
.dockerignore fix fix and fix + docker 2025-11-07 08:08:40 +01:00
.gitignore feat: plugin support and example. 2025-11-05 20:41:30 +01:00
.woodpecker.yaml actually... 2025-11-07 15:53:11 +01:00
build.sh feat: file serving 2025-11-07 20:05:11 +01:00
CONFIG.md add config definition 2025-11-06 23:21:15 +01:00
Dockerfile yay! 2025-11-10 23:32:54 +01:00
kuba.png feat: poc 2025-11-02 13:43:25 +01:00
LICENSE feat: everything 2025-11-02 20:53:21 +01:00
QUICKSTART.md config 2025-11-06 23:06:12 +01:00
README.md fix: readme 2025-11-10 23:11:42 +01:00

Kuba Logo kuba

A relatively light-weight web application written in C that programatically renders dynamic HTML using Umka.

Dependencies

  • libumka (currently only supports any version starting from commit 3ee7fc0, which is the master branch as of writing).
  • libmicrohttpd

Todo

  • Basic Umka compiler
    • Dynamically loading multiple Umka scripts.
    • Reading route information (when should that specific Umka file be rendered?)
  • HTTP server
    • Simple (mostly PoC) implementation
    • Virtual Hosts (separated handlers)
    • TLS support*
    • Modification of flags passed to MHD_start_daemon
    • Dual-stack (IPv4 & IPv6), should be as simple as passing a flag to MHD.
  • External plugins (possibly using dlsym & dlopen?) to open up support for e.g. a MySQL wrapper.

* not sure whether i'm even going to implement this.

Note

  • Project has not been extensively tested and was "made 4 fun". Use at own risk.
    • There are some unresolved memory leaks, and although they are pretty insignificant, they exist.
  • Project is public domain (https://unlicense.org).
  • Project is mostly inspired by kcgi/PHP
  • Initially planned to use FastCGI, but pairing fcgi together with Umka caused unexplainable segfaults (tf?) so I went for a standalone HTTP server instead.