Hi Adam,
as far as I understand, if you perform lookup with the
AVAHI_LOOKUP_USE_WIDE_AREA flag (which maps to LookupUseWideArea in my
library), Avahi will use a "classical" unicast DNS instead of the mDNS.
So seems that everything is already in place and no additional effort is
required.
--
Wishes, Alexander Pevzner ([email protected])
On 12/15/24 11:44 AM, Adam Burns wrote:
Hi Alexander,
Firstly, thank you for your work with Golang avahi bindings as well as
contributing to the improvement and clarity of Avahi API documentation!
I have been working in the area of unicast DNS-SD and we have a work-in-
progress prototype to allow decentralised unicast DNSSEC updates which
includes WA DNS-SD structures.
One core extension of our work could potentially be tighter integration
with Avahi. Avahi tools already support basic unicast browsing.
For example:
avahi-browse -batd zembla.zenr.io
+ n/a n/a floodgap _gopher._tcp
zembla.zenr.io
+ n/a n/a zembla _gopher._tcp
zembla.zenr.io
+ n/a n/a zembla _ssh._tcp
zembla.zenr.io
+ n/a n/a PTF Demo Day - DE _http._tcp
zembla.zenr.io
+ n/a n/a Freifunk Berlin _http._tcp
zembla.zenr.io
+ n/a n/a PTF Demo Day - EN _http._tcp
zembla.zenr.io
+ n/a n/a Freifunk - Free Networks _http._tcp
zembla.zenr.io
+ n/a n/a sig0namectl Homepage _http._tcp
zembla.zenr.io
+ n/a n/a Zembla Resource Map _http._tcp
zembla.zenr.io
+ n/a n/a Berlin - Official Website - EN _http._tcp
zembla.zenr.io
+ n/a n/a redb _loc._udp
redb.zenr.io
+ n/a n/a zembla _loc._udp
zembla.zenr.io
+ n/a n/a bluebox _loc._udp
bluebox.zenr.io
+ n/a n/a op6 _loc._udp
op6.zenr.io
+ n/a n/a cephalo13 _loc._udp
cephalo13.zenr.io
+ n/a n/a zembla _telnet._tcp
zembla.zenr.io
+ n/a n/a mapscii _telnet._tcp
zembla.zenr.io
Does your work currently extend into the unicast domain (pun intended)
as it is or would be easy to extend into?
Thanks & Regards,
Adam.
PS. Details of our early(!) work-in-progress prototype can be found at
https://sig0namectl.networkcommons.org - all comments, thoughts, &
criticisms are gratefully valued!
On 20/11/2024 09:12, Alexander Pevzner wrote:
Hi,
My name is Alexander Pevzner, and I am the author of two widely
distributed projects: sane-airscan (a "driverless" driver for SANE
scanners) and ipp-usb (a daemon for IPP-over-USB printer support).
Both projects utilize Avahi extensively.
I am excited to announce the release of a new Golang binding for Avahi:
https://github.com/alexpevzner/go-avahi
This binding aims to closely mirror the original C API, with a few
exceptions:
- It reports events via Go channels instead of callbacks, which is
more idiomatic in Golang.
- It follows Go naming conventions (e.g., NewAddressResolver vs.
avahi_address_resolver_new).
- It provides an automatic workaround for Avahi issues related to
localhost and loopback address handling.
- It implies the AVAHI_CLIENT_NO_FAIL mode.
Additionally, I have made an effort to create comprehensive
documentation for the Avahi API:
https://pkg.go.dev/github.com/alexpevzner/go-avahi
Since the Go API implemented in this package closely resembles the
original C API, this documentation may also be useful for users of
other programming languages.