skarnet.org
Software
Unless otherwise mentioned, all of this software builds and runs under
every flavour of Unix - and only Unix.
Current, released, maintained software
- skalibs
A set of general-purpose C programming libraries. You need this first:
all the other software in this list depends on it.
- execline
A small scripting language, to be used in place of a shell in
non-interactive scripts.
- s6
skarnet.org's small & secure supervision software suite.
Comes with an ultra-fast init replacement, process management tools,
an asynchronous locking library, and more.
- s6-rc
A complete service manager for s6 systems.
- s6-portable-utils
Tiny portable generic utilities.
- s6-linux-utils
Tiny Linux-specific utilities.
- s6-dns
Good, usable DNS client libraries (synchronous and asynchronous),
and command-line DNS client utilities.
- s6-networking
UCSPI Unix and TCP tools, a SSL/TLS tunnel, access control tools,
and network time management utilities.
- s6-linux-init
A tool to automate the creation of suitable stage 1 init binaries for
s6-based Linux systems.
- lh-bootstrap
A set of scripts to build a disk image (for QEMU, for instance), running
s6 and s6-rc, with an Internet connection.
- sdnotify-wrapper
A wrapper for
daemons so they can use the simple readiness notification mechanism
recommended with s6 and still work under systemd with proper readiness
notification, without having to use the
sd_notify()
interface themselves.
- mdevd
A Linux kernel event manager daemon (like udevd) that understands the
mdev configuration file format and does not fork.
- utmps
A secure utmp/wtmp implementation.
- nsss
A small and statically linkable alternative to Name Service Switch.
- bcnm
A better client network manager.
Software in the works, available via git, but without numbered releases
- dnsfunnel
A small local DNS forwarder, to get away from multiple nameserver
entries in /etc/resolv.conf.
- s6-frontend
Tools to make the s6 ecosystem more user-friendly.
- skabus
A lightweight Unix message bus.
- pamela
A PAM wrapper to encapsulate dynamic loading of modules.
Unfortunately, the pamela experiment has shown that common PAM practices
makes it impossible to implement PAM in a secure way, so initiatives
like pamela are bound to fail. Development on this project is very
unlikely to continue.
Obsolete software
Software listed here might disappear at any moment. This list only
exists for transitional purposes.
- minidentd
A small ident server. (Now included in s6-networking.)
- skadns
An asynchronous DNS client library. (Now included in s6-dns.)
- conn-tools
A collection of simple tools to handle reliable connections between
processes. (Replaced with s6-networking.)
- skaembutils
Tiny portable utilities that I found missing from the
embutils. (Replaced with s6-portable-utils.)
- minutils
Tiny Linux-specific utilities that I found missing from the
embutils. (Replaced with s6-linux-utils.)
- minnotify
A client and a server to implement general-purpose notification over the network.
(Useless now that execline exists: can be replaced by trivial execline scripts.)
- symtools
A collection of simple tools to handle symlinks gracefully. (Now included in s6-portable-utils.)
- ucspilogd
A very, very small syslogd replacement. (Now included in s6.)
- The salted project has been abandoned. Instead, TLS/SSL support
has been added to s6-networking: with the
BearSSL backend, it is possible to
offer this support while still using extremely few resources.
Adaptations or patches to other people's software
- David Madore's
Book of Infinity, as a single C file
suitable for compilation with skalibs.
The Book of Infinity is a web robot trap.
- David Madore's
superstrip, as a single C file
suitable for compilation with skalibs.
superstrip is a very aggressive ELF stripping utility.
- djbdns-fwdzone
A patch to djbdns to allow
dnscache to
perform resolution or forwarding according to the query zone.
- nistp224-buffer
A patch to nistp224 to make
the main binaries use djb's buffer library instead of stdio.
- qmail-qmtproutes
An add-on to Russell Nelson's qmail-1.03-qmtpc patch for qmail. This one
allows you to send mail via QMTP using a qmtproutes file.
Notes
- Current versions of the packages use a standard
./configure && make && sudo make install
installation scheme. Older versions use an ad-hoc installation
scheme; if you need to install an older version and need help,
please contact the
skaware mailing-list.