quark

My build of quark - tiny HTTP server from suckless
git clone git clone https://git.krisyotam.com/krisyotam/quark.git
Log | Files | Refs | README | LICENSE

README.md (1683B)


      1 # Kris's build of quark
      2 
      3 My build of [quark](https://tools.suckless.org/quark/), an extremely small and simple HTTP GET/HEAD-only web server for static content.
      4 
      5 ---
      6 
      7 ## About
      8 
      9 quark is a tiny, secure HTTP server from suckless.org designed to serve static files with minimal attack surface.
     10 
     11 ---
     12 
     13 ## Features
     14 
     15 - **Minimal**: Tiny codebase, easy to audit
     16 - **Secure**: Privilege separation, chroot support
     17 - **Fast**: Event-driven architecture
     18 - **Standards**: HTTP/1.1 compliant (GET/HEAD only)
     19 - **Virtual hosts**: Support for multiple domains
     20 - **TLS**: Optional TLS support
     21 
     22 ---
     23 
     24 ## Usage
     25 
     26 ```bash
     27 # Serve current directory on port 8080
     28 quark -p 8080 -d /var/www/html
     29 
     30 # With virtual hosts
     31 quark -p 80 -d /var/www -v vhosts.conf
     32 
     33 # With chroot (as root)
     34 quark -p 80 -d /var/www -u nobody -g nogroup
     35 ```
     36 
     37 ### Options
     38 
     39 | Flag | Description |
     40 |------|-------------|
     41 | `-d` | Document root directory |
     42 | `-p` | Port to listen on |
     43 | `-h` | Host/IP to bind to |
     44 | `-u` | User to drop privileges to |
     45 | `-g` | Group to drop privileges to |
     46 | `-v` | Virtual hosts config file |
     47 | `-l` | Enable directory listing |
     48 
     49 ---
     50 
     51 ## Installation
     52 
     53 ```bash
     54 git clone https://github.com/krisyotam/quark
     55 cd quark
     56 sudo make install
     57 ```
     58 
     59 ---
     60 
     61 ## Other Suckless Repos
     62 
     63 - [dwm](https://github.com/krisyotam/dwm) - dynamic window manager
     64 - [st](https://github.com/krisyotam/st) - simple terminal
     65 - [dmenu](https://github.com/krisyotam/dmenu) - dynamic menu
     66 - [dwmblocks](https://github.com/krisyotam/dwmblocks) - modular status bar
     67 - [scron](https://github.com/krisyotam/scron) - simple cron daemon
     68 
     69 ---
     70 
     71 ## Contact
     72 
     73 - Kris Yotam <krisyotam@protonmail.com>
     74 - [https://krisyotam.com](https://krisyotam.com)