Description: A list of the commands and tools that are in the djbwares toolset, with hyperlinks to on-line copies of their manual pages.

# Command and tool list

The djbwares toolset comprises these commands. See their manual pages for documentation.

## Log management

- `multilog` — read a sequence of lines from stdin and append selected lines to any number of logs

- `tai64n` — put a precise timestamp on each line

- `tai64nlocal` — convert precise TAI64N timestamps to a human-readable format

## Date and time

### Calendar tools

- `easter` — print the date of Easter in one or more years

- `nowutc` — print the current UTC time

- `yearcal` — print a calendar for one or more years

### Clock management

- `clockadd` — adjust the local UNIX clock, once

- `clockspeed` — speed up or slow down the local clock, continuously

- `clockview` — convert an adjustment to the local clock into human-readable form

- `date@` — UCSPI-TCP DAYTIME client

- `leapsecs` — compile the leap seconds table used by the Bernstein TAI library

- `sntpclock` — check a system's clock through NTP

- `taiclock` — check a system's clock through TAICLOCK

- `taiclockd` — announce the system's clock through TAICLOCK over a combined IPv4 and IPv6 stack

- `taiclock4d` — announce the system's clock through TAICLOCK over IPv4

## The Domain Name System

### DNS servers

- `axfrdns` — UCSPI-TCP general-purpose content DNS server

- `dnscache` — a caching proxy DNS server

- `rbldns` — an RBL source content DNS server using the UDP protocol

- `tinydns` — a general-purpose content DNS server using the UDP protocol

- `walldns` — an opaque content DNS server using the UDP protocol

### DNS query tools

- `axfr-get` — perform an old-style "zone transfer" database replication

- `dnsfilter` — filter a stream, looking up the domain names of any IP addresses

- `dnsip` — look up the IP address(es) for a domain name

- `dnsipq` — look up the IP address(es) for a domain name after applying name qualification

- `dnsmx` — look up the mail exchanger names and weightings for a domain name

- `dnsname` — look up the domain name for an IP address

- `dnsnamex` — look up the domain name for an IP address

- `dnsq` — query a content DNS server using the DNS protocol

- `dnsqr` — query a proxy DNS server using the DNS protocol

- `dnsqrx` — query a proxy DNS server using the DNS protocol

- `dnstrace` — diagnose DNS query resolution problems

- `dnstracesort` — translate the output of dnstrace into human-readable form

- `dnstxt` — look up the text resource records for a domain name

- `host` — query a proxy/content DNS server using the DNS protocol

- `tinydns-get` — query a content DNS server by reading its database directly

### DNS server data management

- `rbldns-data` — compile the database used by rbldns

- `tinydns-data` — compile the database used by tinydns

- `tinydns-edit` — modify a tinydns-data source file

### DNS server configuration

- `dnscache-showctl` — dump a `dnscache` service configuration

- `tinydns-showctl` — dump a `tinydns` service configuration

Note: All of these are obsolete.

- `axfrdns-conf` — obsolete program for creating service definitions

- `dnscache-conf` — obsolete program for creating service definitions

- `rbldns-conf` — obsolete program for creating service definitions

- `tinydns-conf` — obsolete program for creating service definitions

- `walldns-conf` — obsolete program for creating service definitions

## Unix Client-Server Program Interface

- `addcr` — insert a CR before each LF

- `delcr` — delete any CR before an LF

- `fixcrio` — insert missing CRs at the ends of lines in both input and output

- `mconnect-io` — converse with a line-protocol network server

- `mconnect` — connect to and converse with a line-protocol server over the network

- `rblsmtpd` — wrap a UCSPI-TCP SMTP server with RBL checks

- `recordio` — record the input and output of a program

- `tcpcat` — general-purpose empty-request UCSPI-TCP client

- `tcpclient` — create an outgoing TCP connection

- `tcprules` — compile rules for tcpserver

- `tcprulescheck` — check tcprules

- `tcpserver` — accept incoming TCP connections

## Chain-loading tools

### Chain-loading tools for manipulating the current process state

- `argv0` — run a program with a specified 0th argument.

- `envdir` — run another program with environment modified according to files in a specified directory.

- `envuidgid` — run another program with environment variables indicating a

- `nobuf` — run a program such that the C library does not attempt stdio block buffering

- `setlock` — run another program with a file locked

- `setuidgid` — run another program under a specified account's uid and gid

- `softlimit` — run another program with new resource limits.

### Chain-loading tools for use in services

- `background` — run a program without waiting for it

- `fghack` — an anti-backgrounding tool

- `pgrphack` — run a program in a separate process group

## daemontools service management

- `supervise` — start and monitors a service.

- `svc` — control services monitored by supervise

- `svok` — check whether supervise is running

- `svscan` — start and monitor a collection of services

- `svstat` — print the status of services monitored byi supervise

## publicfile content service

### publicfile servers

All publicfile servers can share a common content directory tree.

- `ftpd` — UCSPI-TCP FTP server for static content

- `geminid` — UCSPI-TCP GEMINI server for static content (requires UCSPI-SSL tools; also usable for simple static NICNAME and FINGER servers that do not look at system accounts)

- `gopherd` — UCSPI-TCP GOPHER server for static content

- `httpd` — UCSPI-TCP HTTP server for static content

### publicfile clients

- `finger@` — UCSPI-TCP FINGER client

- `http@` — UCSPI-TCP HTTP client

- `who@` — UCSPI-TCP SYSTAT client

### publicfile miscellany

- `configure` — obsolete publicfile configuration program

## terminal management

### pseudo-terminal management

- `ptybandage` — wrap a transparent pseudo-terminal around a program

- `ptyget` — allocate a pseudo-terminal

- `ptyio` — feed input to a pseudo-terminal and print its output

- `ptyrun` — wrap a pseudo-terminal around a program

- `ptyspawn` — run a program on a pseudo-terminal

### general terminal management

- `excloff` — stop reserving a terminal device for exclusive use

- `exclon` — start reserving a terminal device for exclusive use

- `ttydetach` — run a program without a controlling terminal

## Miscellany

- `random-ip` — generate randomly-chosen IPv4 addresses