Vito Technitium DNS Plugin
A Vito plugin that adds Technitium DNS Server as a DNS provider, enabling zone and DNS record management directly from Vito.
Summary
Vito ships with Cloudflare as a built-in DNS provider. This plugin adds Technitium as an additional option using Vito's plugin system — no core files are modified.
Once enabled, the plugin registers Technitium in the DNS provider list. You can then connect your self-hosted Technitium instance, import zones, and create, update, or delete DNS records from the Vito dashboard.
Key differences from Cloudflare
- Self-hosted: Technitium runs on your own infrastructure. You provide the server URL and port.
- Authentication: Uses a single API token (generated from the Technitium web console), passed as a query parameter.
- Zone-based: Technitium manages authoritative zones. Only Primary zones are listed by default.
- No proxy support: Unlike Cloudflare, Technitium is a pure DNS server. The
proxiedflag is alwaysfalse. - Record identification: Technitium does not assign numeric IDs to records. Records are identified by their domain name, type, and data. This plugin uses base64-encoded composite IDs internally.
Supported operations
- Connect and authenticate with Technitium HTTP API
- List and retrieve Primary zones
- Create, update, and delete DNS records (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR)
Supported record types
| Type | Content field | Priority |
|---|---|---|
| A | IPv4 address | — |
| AAAA | IPv6 address | — |
| CNAME | Target hostname | — |
| MX | Mail server hostname | ✓ |
| TXT | Text value | — |
| NS | Name server hostname | — |
| SRV | Target hostname | ✓ |
| CAA | flags tag "value" |
— |
| PTR | Pointer name | — |
Setup
- Open your Technitium DNS web console (usually
http://your-server:5380). - Navigate to Administration → Sessions → Create API Token and generate a non-expiring token.
- Enable the plugin in Vito (Admin → Plugins).
- Add a new DNS provider, select Technitium, and fill in:
- Server URL: The full URL with port (e.g.
http://dns.example.com:5380) - API Token: The token you generated
- Zone Filter (optional): Comma-separated list of zones to show
- Server URL: The full URL with port (e.g.
Zone Filter
Technitium may host many zones (including internal, secondary, or forwarder zones). By default, the plugin only shows Primary zones and excludes internal ones.
If you want to further restrict which zones appear in Vito, use the optional Zone Filter field. Enter a comma-separated list of zone names (e.g. example.com, mysite.org). Only matching zones will be shown.
If the field is left empty, all Primary zones are returned.
Security Notes
- The API token grants full access to your Technitium DNS server. Keep it secure.
- If your Technitium instance is not exposed to the internet, make sure the Vito server can reach it on the configured port.
- Consider using HTTPS if the Technitium web console is accessible over the network (Technitium supports TLS certificates).
Development
To develop locally, place the plugin at:
app/Vito/Plugins/LiittleCookie/VitoTechnitiumDns/
The namespace must be App\Vito\Plugins\LiittleCookie\VitoTechnitiumDns.
Then go to Admin → Plugins → Discover to install and enable it.
Community & Open Source
This plugin is community-built and open source. It is not officially maintained by the Vito core team.
Contributions, bug reports, and feature requests are welcome.
Licensed under the same terms as the Vito project.