ProFTPD module mod_zeroconf

The mod_zeroconf module is designed to use the DNS Service Discovery technology (also known as Bonjour, or the ZEROCONF protocols) created by Apple to publish discoverable information about the running proftpd daemon.

This module is contained in the mod_zeroconf.c file for ProFTPD 1.3.x, and is not compiled by default. Installation instructions are discussed here. Detailed documentation on mod_zeroconf usage can be found here.

The most current version of mod_zeroconf can be found at:


Please contact TJ Saunders <tj at> with any questions, concerns, or suggestions regarding this module.



Syntax: ZeroconfEngine on|off
Default: off
Context: server config Module: mod_zeroconf
Compatibility: 1.3.0rc1 and later

The ZeroconfEngine directive enables or disables the mod_zeroconf functionality. If set to on, then mod_zeroconf will register all configured servers using the DNS Service Discovery protocols.


Syntax: ZeroconfInfo name [info]
Default: None
Context: server config, <VirtualHost>
Module: mod_zeroconf
Compatibility: 1.3.0rc1 and later

The ZeroconfInfo directive is used to configure the name that mod_zeroconf uses to register the server configuration, as well as optional information.

The name parameter specifies the name the administrator wishes to publish for this server configuration. By default, if no ZeroconfInfo directive is configured, mod_zeroconf will register a record using the ServerName of the server configuration.

The optional info parameter is a colon-delimited string of attributes about this server. This data can include things like whether the server allows anonymous access, supports SSL/TLS sessions, etc. Each attribute can be specified as a key/value pair, separated by =. For example, a ZeroconfInfo directive with an info parameter might look like:

  ZeroconfInfo "ProFTPD's Public Site" anonymous:ssl=SSLv3,TLSv1


Syntax: ZeroconfLog path|"none"
Default: None
Context: server config
Module: mod_zeroconf
Compatibility: 1.3.0rc1 and later

The ZeroconfLog directive is used to a specify a log file for mod_zeroconf reporting and debugging. The path parameter must be the full path to the file to use for logging. Note that this path must not be to a world-writable directory and, unless AllowLogSymlinks is explicitly set to on (generally a bad idea), the path must not be a symbolic link.

If path is "none", no logging will be done at all.


To install mod_zeroconf, copy the mod_zeroconf.c file into:
after unpacking the latest proftpd-1.3.x source code. Then follow the usual steps for using third-party modules in proftpd:
  ./configure --with-modules=mod_zeroconf
  make install


The mod_zeroconf module currently only works on Mac OS X machines running version 10.3 or later.

Example mod_zeroconf configuration:

  <IfModule mod_zeroconf.c>
    ZeroconfEngine on
    ZeroconfLog /var/log/proftpd/zeroconf.log
    ZeroconfInfo "Public FTP" anonymous:ssl=TLSv1

Author: $Author: tj $
Last Updated: $Date: 2006/05/19 22:58:03 $

© Copyright 2006 TJ Saunders
All Rights Reserved