Kamid
A FREE, easy-to-use and portable implementation of a 9p file server daemon for UNIX-like systems.
Install / Use
/learn @omar-polo/KamidREADME
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.
It includes the kamid(8) daemon, a control utility kamictl(8), the kamiftp(1) 9P CLI client and the TLS proxy kamiproxy(1).
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 <users>
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 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+.
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
