dnstt fails with default record config

Open Beginner friendly
#5,424 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python
Domain
backend

Research direction

Start by locating the dnstt service template, such as run.sh.j2, and inspect how an empty record_type reaches the ExecStart line in /other/dnstt. Reproduce with an empty record_type and check the generated unit using journalctl -u hiddify-dnstt-.service. Done means the service no longer emits an argumentless -record-type flag and dnstt-server starts successfully.

Written by the indexing model from the issue text.

Description

[BUG] dnstt-server fails to start (crash loop) when record_type field is left empty in the panel

Description:
When adding or editing a dnstt domain via the Hiddify-Manager panel, leaving the record_type field empty results in a broken systemd service file. Instead of defaulting to txt or omitting the flag entirely, the backend generates the -record-type flag without any argument. This causes the dnstt-server to crash immediately with a 2/INVALIDARGUMENT status.

Steps to Reproduce:

Go to the Hiddify panel and configure a domain with dnstt transport.

Leave the record_type advanced field empty ("") (as is)

Apply configurations.

Check the status of the generated service using journalctl -u hiddify-dnstt-<domain>.service (the one in /other/dnstt)

Expected Behavior:
If the field is empty, the templating engine (e.g., run.sh.j2) should either fallback to "txt" or omit the -record-type flag from the ExecStart line so the dnstt-server binary can use its own default value.

Actual Behavior:
The systemd service file is generated with an incomplete flag at the end of the ExecStart line:
Ini, TOML

ExecStart=/opt/hiddify-manager/other/dnstt/dnstt-server ... -keepalive 0s -idle-timeout 0s -record-type 

This causes the daemon to crash.

Logs / Evidence:

May 29 19:20:15 server-1xgjqp systemd[1]: hiddify-dnstt-t.example.com.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
May 29 19:20:20 server-1xgjqp dnstt-server[1080423]: flag needs an argument: -record-type

Dominant language
Python
Stars
9.3k
Forks
1k
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from hiddify/Hiddify-Manager

All issues in hiddify/Hiddify-Manager

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.