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.
7 ## Building
9 NB: the -main branch targets only OpenBSD. To build on other
10 platforms, use the -portable branch.
12 $ majo obj
13 $ make
14 $ make install
16 This will install the following commands:
18 - kamid, the daemon
19 - kamictl, an utility to control the daemon
20 - kamiftp, an ftp(1)-like 9p client
21 - kamirepl, a low-level 9p client
22 - man pages (only installed if building sources from a kamid release
23 tarball)
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 ## Testing
46 The regression suite uses doas(1) because it needs root privileges for
47 some operatinos. To run the test suite:
49 $ make regress
51 The regression are written with a custom DSL, called ninepscript.
52 `contrib/9ps-mode.el` is the major mode for Emacs.
54 There's another regression suite written in common lisp in
55 `regress/lisp/9p-test`; it depends on other common lisp libraries
56 available through quicklisp. Make sure to have sbcl installed and the
57 relevant lisp dependencies installed, then run
59 $ make HAVE_LISP=yes regress
62 ## License
64 kamid is released under a BSD-like license. The bulk of the code is
65 under the ISC license, but some file are BSD2 or BSD3.
67 `regress/lisp/9p-test/` (the common lisp regression suite) is released
68 under the GNU GPLv3+.