Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is Multicast DNS Service Discovery for Python v0.14-wmcbrine
Originally by Paul Scott-Murphy, modified by William McBrine.

zeroconf.py is the implementation file, look at the end for examples of 
basic use. You can also view zwebbrowse.py to see how to browse for 
services.

This fork is used in all of my TiVo-related projects: HME for Python 
(and therefore HME/VLC), Network Remote, Remote Proxy, and pyTivo. 
Before this, I was tracking the changes for zeroconf.py in three 
separate repos. I figured I should have an authoritative source.

Although I make changes based on my experience with TiVos, I expect that 
they're generally applicable. This version also includes patches found 
on the now-defunct (?) Launchpad repo of pyzeroconf, and elsewhere 
around the net -- not always well-documented, sorry.

Long-term goals: Python 3.x


History
-------
0.13 - Various minor changes; see git for details.
       No longer compatible with Python 2.2. Only tested with 2.5-2.7.
       Fork by William McBrine.

0.12 - allow selection of binding interface
       typo fix - Thanks A. M. Kuchlingi
       removed all use of word 'Rendezvous' - this is an API change

0.11 - correction to comments for addListener method
       support for new record types seen from OS X
         - IPv6 address
         - hostinfo
       ignore unknown DNS record types
       fixes to name decoding
       works alongside other processes using port 5353
       (e.g. on Mac OS X)
       tested against Mac OS X 10.3.2's mDNSResponder
       corrections to removal of list entries for service browser

0.10 - Jonathon Paisley contributed these corrections:
       always multicast replies, even when query is unicast
       correct a pointer encoding problem
       can now write records in any order
       traceback shown on failure
       better TXT record parsing
       server is now separate from name
       can cancel a service browser

       modified some unit tests to accommodate these changes

0.09 - remove all records on service unregistration
       fix DOS security problem with readName

0.08 - changed licensing to LGPL

0.07 - faster shutdown on engine
       pointer encoding of outgoing names
       ServiceBrowser now works
       new unit tests

0.06 - small improvements with unit tests
       added defined exception types
       new style objects
       fixed hostname/interface problem
       fixed socket timeout problem
       fixed addServiceListener() typo bug
       using select() for socket reads
       tested on Debian unstable with Python 2.2.2

0.05 - ensure case insensitivty on domain names
       support for unicast DNS queries

0.04 - added some unit tests
       added __ne__ adjuncts where required
       ensure names end in '.local.'
       timeout on receiving socket for clean shutdown

About

A pure python implementation of multicast DNS service discovery

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages