# kamid -- 9p file server daemon kamid is a FREE, easy-to-use and portable implementation of a 9p file server daemon for UNIX-like systems. ## Building When building from a release tarball: $ ./configure $ make # make install # eventually to build from a git checkout: $ ./autogen.sh $ ./configure $ make ## Usage In order to run, the `_kamid` user must exists, with `/var/empty` as home directory. A valid configuration file `/etc/kamid.conf` is also needed. kamid must be started with root privileges. A sample configuration file: ``` # /etc/kamid.conf pki localhost cert "/etc/ssl/localhost.crt" pki localhost key "/etc/ssl/private/localhost.key" table users { "SHA256:..." => "op" } listen on localhost port 1337 tls pki localhost auth ``` ## Contributing Every form of contribution is well accepted! Just send an email or open a pull request (either on Codeberg or GitHub.) Don't know where to start? Take a look at the [TODO](./TODO) file! ## Porting kamid is developed primarly on OpenBSD, but it's known to work on Debian, Devuan and NixOS. Have you ported / compiled kamid on other systems? Cool, I'd be happy to hear about it! I'm particularly interested in the difficulties in doing so to ease the portability. ## Testing The regression suite uses sudo (or doas) because it needs root privileges for certain operations. To run the test suite: $ make test The regression are written using a custom DSL, ninepscript. `contrib/9ps-mode.el` is the major mode for Emacs. There's another regression suite written in common lisp in `regress/lisp/9p-test`; it depends on other lisp libraries available through quicklisp. Make sure to have sbcl and the relevant lisp dependencies installed, then run $ make HAVE_LISP=yes test ## License kamid is released under a BSD-like license. The bulk of the code is under the ISC license, but some file are BSD2 or BSD3. `regress/lisp/9p-test/` (the common lisp regression suite) is released under the GNU GPLv3+.