Skip to main content

Publish CNAMEs pointing to the local host over Avahi/mDNS

Project description

ABOUT

This service/library publishes CNAME records pointing to the local host over multicast DNS using the Avahi daemon found in all major Linux distributions. Useful as a poor-man’s service discovery or as a helper for named virtual-hosts in development environments.

Since Avahi is compatible with Apple’s Bonjour, these names are usable from MacOS X and Windows too.

See also:

DEPENDENCIES

Besides a running Avahi daemon, this service requires the dbus-python bindings which, in turn, requires the development packages for D-Bus and D-Bus Glib (eg. dbus-devel and dbus-glib-devel in CentOS 7).

INSTALLATION

This package can be installed from source by running:

python setup.py build
python setup.py install

Or, you can install the latest stable release from PyPI:

pip install mdns-publisher

Note: If you’re using Python 2.7 and you get errors installing dbus-python, you may need to upgrade your pip version:

pip install --upgrade pip

RUNNING

Pass (one or more) CNAMEs as command-line arguments to mdns-publish-cname:

mdns-publish-cname name01.local name02.local

Names must use the .local domain but can have arbitrary sub-domains:

mdns-publish-cname name01.local name02.local name03.mysubdomain.local

If the server running mdns-publish-cname is being announced over mDNS as myserver.local, all of these names will be answered by Avahi as CNAMEs for myserver.local, regardless of any sub-domains they might have. They remain available as long as mdns-publish-cname is running.

Run mdns-publish-cname with no arguments to find out about the available options.

Note: You can find a sample mdns-publish-cname.service file for systemd in the source repository.

INTEGRATING

The AvahiPublisher class in the mpublisher module can be integrated into your application to have it publish its own CNAMEs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
mdns-publisher-0.9.2.tar.gz (7.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page