Static Multicast Routing Daemon

SMCRoute is a daemon and command line tool to manipulate the multicast routing table in the UNIX kernel. Both FreeBSD and Linux kernels are supported, but it may work on other systems as well. SMCRoute can be used as an alternative to dynamic multicast routing daemons like mrouted or pimd when (only) static multicast routes should be maintained and/or no proper IGMP signalling exists. Features Configuration file support, /etc/smcroute. [Read More]

No nonsense FTP/TFTP server

Tired of confusing configuration files and security features you don’t need? Try uftpd(8)! Supports both FTP and TFTP Has no confusing configuration file Listens to port ftp/tcp and tftp/udp found in /etc/services, or custom port(s) Serves files from the ftp user’s $HOME, as specified in /etc/passwd, or custom path Can run from inetd(8) or as a standalone daemon Can be built and installed as a .deb file, with debconf support Can run as root, with chroot and privsep, or as a regular user Supports TFTP blocksize negotiation, RFC 2348 Basically, it just works! [Read More]


Nemesis is a command-line network packet crafting and injection utility for UNIX-like and Windows systems. Well suited for testing Network Intrusion Detection Systems, firewalls, IP stacks and a variety of other tasks. As a command-line driven utility, it is perfect for automation and scripting. Nemesis can natively craft and inject ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP and UDP packets. Using the IP and the Ethernet injection modes, almost any custom packet can be crafted and injected. [Read More]

Fast init for Linux systems

Finit is a simple alternative to SysV init and systemd, reverse engineered from the EeePC fastinit ten years ago by Claudio Matsuoka — “gaps filled with frog DNA …” Finit supports runlevels, process monitoring, and starting services on demand using the built-in inetd, or by triggering a condition. E.g., “don’t start this service until basic networking is available”, or “wait until syslogd has started”. For more details, see the online documentation. [Read More]

System & Process Supervisor for Linux

watchdogd(8) is an advanced system and process supervisor daemon, primarily intended for embedded Linux and server systems. By default it periodically kicks the system watchdog timer (WDT) to prevent it from resetting the system. In its more advanced guise it monitors critical system resources, supervises the heartbeat of processes, records deadline transgressions, and initiates a controlled reset if needed. When a system comes back up after a reset, watchdogd determines the reset cause and records it in a file for later analysis by an operator or network management system (NMS). [Read More]

Minix Editline

This is a line editing library for UNIX. It can be linked into almost any program to provide command line editing and history. It is call compatible with the FSF readline library, but is a fraction of the size (and offers fewer features). The small size (<30k), lack of dependencies (no ncurses needed!) and the free license should make this library interesting to many embedded developers seeking a replacement for the GNU readline library. [Read More]

Small and Simple DDNS Client

In-a-dyn is a small and simple Dynamic DNS, DDNS, client with HTTPS support. It is commonly available in many GNU/Linux distributions, used in off-the-shelf routers and Internet gateways to automate the task of keeping your DNS record up to date with any IP address changes from your ISP. It can also be used in installations with redundant (backup) connections to the Internet. Supported Providers The following is a curated list of some of the natively supported DDNS providers. [Read More]

The original PIM-SM daemon

pimd is a lightweight standalone PIM-SM/SSM v2 multicast routing daemon. It is the original USC (netweb/ implementation of the protocol, RFC 2362. Today pimd strives for full RFC compliance, including RFC 4601, RFC 5059, and RFC 5796, with the v2.3.0 release supporting both PIM-SSM and IGMPv3. In 2003 the OpenBSD project managed to convince Stanford in to change the license of mrouted. This in turn also freed pimd, since it is built with DNA strands from mrouted. [Read More]

Mini SNMP daemon

This is an SNMP server for small and embedded systems, currently Linux and FreeBSD are supported. It is easily portable to other UNIX systems since it’s written in C. The daemon is very small (~40 kiB) and does not have nowhere near the feature set of Net-SNMP, therefore it has a very low impact on system resources. See my mini HowTo: Playing with SNMP for a quick introduction to setting up the SNMP tools and MIBs to avoid having to use numerical OIDs. [Read More]

smcroute.conf example

```conf # smcroute.conf example # The configuration file supports joining multicast groups, to use Layer-2 signaling so that switches and routers open up multicast traffic to your interfaces. Leave is not supported, remove the mgroup and SIGHUP your daemon, or send a specific leave command. # NOTE: Use of the mgroup command should be avoided if possible. Instead configure “router ports” or similar on the switches or bridges on your LAN. [Read More]