avahi.service(5)
πΈ NAME πΈ
avahi.service β the avahi-daemon static service file, bestie. That's the whole assignment. It lives in the File Formats Manual (section 5), so like, it's giving "config file lore" energy and honestly? Iconic. π
β¨ SYNOPSIS β¨
/etc/avahi/services/*.service
π¦ DESCRIPTION π¦
Okay so /etc/avahi/services/*.service? Those files are XML fragments containing static DNS-SD service data. No cap.
And here's the part that's actually kind of slay: every single service file can contain multiple service definitions, and they all share the same name. The way that's useful is for publishing service data for services that implement multiple protocols β i.e. a printer implementing _ipp._tcp and _printer._tcp. π¨οΈβ¨
π XML TAGS π
<service-group>β the document tag of avahi service files, the big one, the main character. It should contain one<name>and one or more<service>elements. π<name replace-wildcards="yes|no">β the service name, periodt. Ifreplace-wildcardsis"yes", then any occurrence of the string"%h"gets replaced by the local host name. This can be used for service names like"Remote Terminal on %h". Ifreplace-wildcardsis not specified, it defaults to"no". π«Ά<service protocol="ipv4|ipv6|any">β contains the service information for exactly one service type. It should contain one<type>and one<port>element. Optionally it may also contain one<domain-name>, one<host-name>, any number of<subtype>and any number of<txt-record>elements. Theprotocolattribute specifies the protocol to advertise the service on β and ifanyis used (which is the default, btw), the service will be advertised on both IPv4 and IPv6. Both, bestie. π<type>β contains the DNS-SD service type for this service. e.g."_http._tcp". π<subtype>β contains an additional DNS-SD service subtype for this service. e.g."_anon._sub._ftp._tcp". It's giving "and also this, as a treat". π<domain-name>β the domain name this service should be registered in. If it's omitted, it defaults to the default domain of the avahi daemon. (probably.local) π<host-name>β the host name of the host that provides this service. This should be a host that is resolvable by multicast or unicast DNS. Please note π that you need to specify a fully-qualified domain name (FQDN) here, i.e..localis not appended implicitly! The host name doesn't need to be part of the domain specified in<domain-name>. Seeavahi.hosts(5)for more information on how to publish additional host name mappings. π<port>β the IP port number the service listens on. π’<txt-record value-format="text|binary-hex|binary-base64">β DNS-SD TXT record data, and okay this one has LAYERS so let's go:- If
value-formatis"text", the value of the TXT record is taken verbatim. - If
value-formatis"binary-hex"then the value of the TXT record is decoded by taking pairs of characters after the"="char and interpreting them as the textual representation of the two-digit hexadecimal number. Both uppercase and lowercase hexadecimal digits are allowed. The0xor0Xprefix is not allowed. This requires the length of the value to be even. - If
value-formatis"binary-base64"then the value of the TXT record is decoded with a base64 decoder. The character set used isA-Za-z0-9+/. This requires the length of the value to be a multiple of 4, with"="as padding at the end. - If
value-formatis not specified, it defaults to"text". π§
- If
Examples β and yes, all the values are decoded to the string "value" without quotes:
<txt-record>key=value</txt-record>
<txt-record value-format="text">key=value</txt-record>
<txt-record value-format="binary-hex">key=76616c7565</txt-record>
<txt-record value-format="binary-base64">key=dmFsdWU=</txt-record>
π AUTHORS π
The Avahi Developers <avahi (at) lists (dot) freedesktop (dot) org>; Avahi is available from http://avahi.org/ π«‘
π SEE ALSO π
Go read them, bestie, they're the supporting cast. π
π COMMENTS π
This man page was written using xml2man(1) by Oliver Kurth. Respect the craft. π
Okay that's the whole page, mwah. Just so you know where this came from: it's filed in the Manuals section, sitting in the User corner of the manual, and the whole thing is avahi.service(5). Now go publish some services. Slay. πππ¦
π¦ where this page comes from
- alpine 3.24: avahi-doc 0.9_rc4-r0 Β· LGPL-2.1-or-later
- centos-stream 10: avahi 0.9~rc2-7.el10 Β· LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
- fedora 43: avahi 0.9~rc2-6.fc43 Β· LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
- fedora 43: avahi 0.9~rc2-6.fc43 Β· LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
- fedora 44: avahi 0.9~rc2-8.fc44 Β· LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
- fedora 44: avahi 0.9~rc2-8.fc44 Β· LGPL-2.1-or-later AND LGPL-2.0-or-later AND BSD-2-Clause-Views AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms