quark

quark web server
git clone git://git.suckless.org/quark
Log | Files | Refs | LICENSE

quark.1 (3100B)


      1 .Dd 2020-09-27
      2 .Dt QUARK 1
      3 .Os suckless.org
      4 .Sh NAME
      5 .Nm quark
      6 .Nd simple static web server
      7 .Sh SYNOPSIS
      8 .Nm
      9 .Fl p Ar port
     10 .Op Fl h Ar host
     11 .Op Fl u Ar user
     12 .Op Fl g Ar group
     13 .Op Fl s Ar num
     14 .Op Fl t Ar num
     15 .Op Fl d Ar dir
     16 .Op Fl l
     17 .Op Fl i Ar file
     18 .Oo Fl v Ar vhost Oc ...
     19 .Oo Fl m Ar map Oc ...
     20 .Nm
     21 .Fl U Ar file
     22 .Op Fl p Ar port
     23 .Op Fl u Ar user
     24 .Op Fl g Ar group
     25 .Op Fl s Ar num
     26 .Op Fl t Ar num
     27 .Op Fl d Ar dir
     28 .Op Fl l
     29 .Op Fl i Ar file
     30 .Oo Fl v Ar vhost Oc ...
     31 .Oo Fl m Ar map Oc ...
     32 .Sh DESCRIPTION
     33 .Nm
     34 is a simple HTTP GET/HEAD-only web server for static content.
     35 It supports virtual hosts (see
     36 .Fl v ) ,
     37 explicit redirects (see
     38 .Fl m ) ,
     39 directory listings (see
     40 .Fl l ) ,
     41 conditional "If-Modified-Since"-requests (RFC 7232), range requests
     42 (RFC 7233) and well-known URIs (RFC 8615), while refusing to serve
     43 hidden files and directories.
     44 .Sh OPTIONS
     45 .Bl -tag -width Ds
     46 .It Fl d Ar dir
     47 Serve
     48 .Ar dir
     49 after chrooting into it.
     50 The default is ".".
     51 .It Fl g Ar group
     52 Set group ID when dropping privileges, and in socket mode the group of the
     53 socket file, to the ID of
     54 .Ar group .
     55 The default is "nogroup".
     56 .It Fl h Ar host
     57 Use
     58 .Ar host
     59 as the server hostname.
     60 The default is the loopback interface (i.e. localhost).
     61 .It Fl i Ar file
     62 Set
     63 .Ar file
     64 as the directory index.
     65 The default is "index.html".
     66 .It Fl l
     67 Enable directory listing.
     68 .It Fl m Ar map
     69 Add the URI prefix mapping rule specified by
     70 .Ar map ,
     71 which has the form
     72 .Qq Pa from to [chost] ,
     73 where each element is separated with spaces (0x20) that can be
     74 escaped with '\\'.
     75 .Pp
     76 The prefix
     77 .Pa from
     78 of all matching URIs is replaced with
     79 .Pa to ,
     80 optionally limited to the canonical virtual host
     81 .Pa chost .
     82 If no virtual hosts are given,
     83 .Pa chost
     84 is ignored.
     85 .It Fl p Ar port
     86 In host mode, listen on port
     87 .Ar port
     88 for incoming connections.
     89 In socket mode, use
     90 .Ar port
     91 for constructing proper virtual host
     92 redirects on non-standard ports.
     93 .It Fl U Ar file
     94 Create the UNIX-domain socket
     95 .Ar file ,
     96 listen on it for incoming connections and remove it on exit.
     97 .It Fl s Ar num
     98 Set the number of connection slots per worker thread to
     99 .Ar num .
    100 The default is 64.
    101 .It Fl t Ar num
    102 Set the number of worker threads to
    103 .Ar num .
    104 The default is 4.
    105 .It Fl u Ar user
    106 Set user ID when dropping privileges,
    107 and in socket mode the user of the socket file,
    108 to the ID of
    109 .Ar user .
    110 The default is "nobody".
    111 .It Fl v Ar vhost
    112 Add the virtual host specified by
    113 .Ar vhost ,
    114 which has the form
    115 .Qq Pa chost regex dir [prefix] ,
    116 where each element is separated with spaces (0x20) that can be
    117 escaped with '\\'.
    118 .Pp
    119 A request matching the virtual host regular expression
    120 .Pa regex
    121 (see
    122 .Xr regex 3 )
    123 is redirected to the canonical host
    124 .Pa chost ,
    125 if they differ, using the directory
    126 .Pa dir
    127 as the root directory, optionally prefixing the URI with
    128 .Pa prefix .
    129 If any virtual hosts are specified, all requests on non-matching
    130 hosts are discarded.
    131 .El
    132 .Sh CUSTOMIZATION
    133 .Nm
    134 can be customized by creating a custom config.h from config.def.h and
    135 (re)compiling the source code. This keeps it fast, secure and simple.
    136 .Sh AUTHORS
    137 .An Laslo Hunhold Aq Mt dev@frign.de