Golang binding for Avahi announce
Alexander Pevzner
pzz at apevzner.com
Sun Dec 15 14:11:25 UTC 2024
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 (pzz at apevzner.com)
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.
>>
More information about the avahi
mailing list