Skip to content

Conversation

@jaycollett
Copy link
Contributor

@jaycollett jaycollett commented Jan 29, 2026

Summary

Adds enhanced app support for Technitium DNS, which was previously only a basic app (stub class with enhanced: false).

This implementation follows the Pi-hole pattern to display live stats on the dashboard tile:

  • Queries Blocked - total blocked queries count
  • Percent Blocked - percentage of queries blocked

Changes

  • TechnitiumDNS.php - Implement EnhancedApps interface with test(), livestats(), and url() methods
  • config.blade.php - Configuration form for override URL and API token
  • livestats.blade.php - Stats display template
  • app.json - Set enhanced: true

API Details

  • Uses Technitium API endpoint /api/dashboard/stats/get
  • Authentication via API token (created in Technitium web console under Administration > Create API Token)
  • Fetches totalBlocked and totalQueries from response stats

Test plan

  • Add Technitium DNS app in Heimdall
  • Configure with API token from Technitium console
  • Test button validates API connection
  • Dashboard tile displays queries blocked and percentage

Fixes linuxserver/Heimdall#1531

Implement the EnhancedApps interface for Technitium DNS to display
queries blocked and percentage blocked stats on the dashboard tile.

- Add test() method for API connection validation
- Add livestats() method to fetch stats from /api/dashboard/stats/get
- Add config.blade.php for API token configuration
- Add livestats.blade.php for stats display template
- Set enhanced: true in app.json

Closes linuxserver/Heimdall#1531
@mvdkleijn
Copy link
Collaborator

Sorry for the delay. I was busy working on https://opencommit.eu related stuff. Merging.

@mvdkleijn mvdkleijn merged commit 9c739d7 into linuxserver:master Feb 2, 2026
8 checks passed
@LinuxServer-CI LinuxServer-CI moved this from PRs to Done in Issue & PR Tracker Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

Technitium DNS not showing Config Section

2 participants