https://github.com/carlosefr/mdns-publisher
Publish CNAMEs pointing to the local host over Avahi/mDNS
https://github.com/carlosefr/mdns-publisher
avahi bonjour multicast-dns python service-discovery
Last synced: 29 days ago
JSON representation
Publish CNAMEs pointing to the local host over Avahi/mDNS
- Host: GitHub
- URL: https://github.com/carlosefr/mdns-publisher
- Owner: carlosefr
- License: mit
- Fork: true (AlticeLabsProjects/mdns-publisher)
- Created: 2015-09-24T18:13:27.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-04-18T16:21:34.000Z (about 7 years ago)
- Last Synced: 2024-05-14T03:03:07.895Z (12 months ago)
- Topics: avahi, bonjour, multicast-dns, python, service-discovery
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 14
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
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:
* http://www.multicastdns.org
* https://www.avahi.org
* https://www.apple.com/support/bonjourDEPENDENCIES
------------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 installOr, 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.