Thanks for helping improve UplinkWitness.
The project aims to keep a small, dependable generic Internet-monitoring core while adding deeper router diagnostics through optional adapters.
Especially useful contributions include:
- Linux distribution and hardware compatibility reports
- FRITZ!Box model / FRITZ!OS compatibility reports
- reproducible bug fixes
- unit and integration tests
- documentation improvements
- router adapters that preserve the vendor-neutral core
- Open or reference an issue when the change is substantial.
- Keep credentials, public IP addresses, event logs and other private network data out of commits.
- Keep changes focused; avoid unrelated formatting or refactors in the same PR.
- Run:
python -m unittest discover -s tests -v
python -m py_compile monitor.py dashboard.py
bash -n install.sh configure.sh run_monitor.sh run_dashboard.sh- Explain how the change was tested.
New vendor integrations should not make the generic monitor depend on that vendor. Prefer an adapter boundary that exposes optional router/WAN telemetry to the existing classifier and dashboard.
Do not claim compatibility with hardware you have not tested or for which there is no reliable external report.
Please include:
- Linux distribution and version
- CPU architecture
- wired or wireless connection
- router model
- router firmware, if relevant
- generic or enhanced mode
- UplinkWitness version/commit
- what worked and what failed
Legacy runtime identifiers such as linewatch.service and LINEWATCH_* remain valid during the rename transition and should not be changed casually in compatibility or upgrade work.
See docs/TESTING.md for the validation checklist.
By contributing, you agree that your contribution will be distributed under the project's MIT License.