/mdns-beacon

Multicast DNS (mDNS) Beacon to announce multiple CNAME aliases across your local network.

Primary LanguagePythonMIT LicenseMIT

mDNS Beacon

PyPI - Version PyPI - Python Version Tests Codecov Read the Docs PyPI - License

Black pre-commit Contributor Covenant

Multicast DNS (mDNS) Beacon to announce multiple CNAME aliases across your local network. Under development. Use by your own risk❗

Features

  • ✅ Announce multiple aliases on the local network.
  • ✅ Listening utility to discover services during development.
  • ❌ Configuration file.
  • ❌ Windows support.

Quickstart

Install mdns-beacon from the Python Package Index:

$ pip install mdns-beacon

Usage

$ mdns-beacon --help
Usage: mdns-beacon [OPTIONS] COMMAND [ARGS]...

  Simple multicast DNS (mDNS) command line interface utility.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  blink   Announce aliases on the local network.
  listen  Listen for services on the local network.

Announce an example service:

$ mdns-beacon blink example --alias sub1.example --address 127.0.0.1 --type http --protocol tcp
⠋ Announcing services (Press CTRL+C to quit) ...

Listen to a specific service type:

$ mdns-beacon listen --service _http._tcp.local.

                                       🚨📡 mDNS Beacon Listener 📡🚨
┏━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━┓
┃ # ┃ Type              ┃ Name                           ┃ Address IPv4 ┃ Port ┃ Server              ┃ TTL ┃
┡━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━┩
│ 0 │ _http._tcp.local. │ example._http._tcp.local.      │ 127.0.0.1    │ 80   │ example.local.      │ 120 │
│ 1 │ _http._tcp.local. │ sub1.example._http._tcp.local. │ 127.0.0.1    │ 80   │ sub1.example.local. │ 120 │
└───┴───────────────────┴────────────────────────────────┴──────────────┴──────┴─────────────────────┴─────┘

⠧ Listen for services (Press CTRL+C to quit) ...

Credits

This package was created with Cookiecutter and the fedejaure/cookiecutter-modern-pypackage project template.