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.

Attachment: OpenPGP_0xE4C76DBFE283909C.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to