This project is a Zeroconf (mDNS) service discovery and registration tool using and Flask. It discovers local mDNS services and mirrors them across multiple nodes over HTTP. Useful if you have a site to site VPN and don't want to allow multicast traffic on your VPN
- Discovers local mDNS services.
- Expose local mDNS services over HTTP
- Registers and updates services across multiple nodes.
- Uses Flask for the web server.
- Uses threading to handle service discovery and fetching remote services concurrently.
- Python >=3.10
pip
for package management
-
Clone the repository:
git clone git@github.com:cuza/mDNS-Mirror.git cd mDNS-Mirror
-
Create and activate the virtual enviroment:
python3 -m venv .venv source .venv/bin/activate
-
Install the required packages:
pip install -r requirements.txt
-
Create a
config.json
file with the list of node IP addresses:{ "nodes": ["192.168.1.2", "192.168.2.2"] }
-
Run the script:
python mdns-mirror.py
-
Optionally, you can pass the node IP addresses as command-line arguments:
python mdns-mirror.py 192.168.1.2 192.168.2.2
This project is licensed under the MIT License.