Blob


1 # kamid -- 9p file server daemon
3 kamid is a FREE, easy-to-use and portable implementation of a 9p file
4 server daemon for UNIX-like systems.
6 It includes the kamid(8) daemon, a control utility kamictl(8), the
7 kamiftp(1) 9P CLI client and the TLS proxy kamiproxy(1).
10 ## Building
12 When building from a release tarball:
14 $ ./configure
15 $ make
16 # make install # eventually
18 to build from a git checkout:
20 $ ./autogen.sh
21 $ ./configure
22 $ make
25 ## Usage
27 In order to run, the `_kamid` user must exists, with `/var/empty` as
28 home directory. A valid configuration file `/etc/kamid.conf` is also
29 needed. kamid must be started with root privileges.
31 A sample configuration file:
33 ```
34 # /etc/kamid.conf
35 pki localhost cert "/etc/ssl/localhost.crt"
36 pki localhost key "/etc/ssl/private/localhost.key"
38 table users { "SHA256:..." => "op" }
40 listen on localhost port 1337 tls pki localhost auth <users>
41 ```
44 ## Contributing
46 Every form of contribution is well accepted! Just send an email or
47 open a pull request (either on Codeberg or GitHub.)
49 Don't know where to start? Take a look at the [TODO](./TODO) file!
52 ## Porting
54 kamid is developed primarly on OpenBSD, but it's known to work on
55 Debian, Devuan and NixOS.
57 Have you ported / compiled kamid on other systems? Cool! I'd be happy
58 to hear about it! I'm particularly interested in the difficulties in
59 doing so to ease the portability.
62 ## Testing
64 The regression suite uses sudo (or doas) because it needs root
65 privileges for certain operations. To run the test suite:
67 $ make test
69 The regression are written using a custom DSL, ninepscript.
70 `contrib/9ps-mode.el` is the major mode for Emacs.
72 There's another regression suite written in common lisp in
73 `regress/lisp/9p-test`; it depends on other lisp libraries available
74 through quicklisp. Make sure to have sbcl and the relevant lisp
75 dependencies installed, then run
77 $ make HAVE_LISP=yes test
80 ## License
82 kamid is released under a BSD-like license. The bulk of the code is
83 under the ISC license, but some file are BSD2 or BSD3.
85 `regress/lisp/9p-test/` (the common lisp regression suite) is released
86 under the GNU GPLv3+.