Repository navigation
feat(system): apply the panel's DNS server to the OS resolver - #5658
Open
Hiddify-Official wants to merge 1 commit into
Open
Hiddify-Official wants to merge 1 commit into
Hiddify-Official wants to merge 1 commit into
Conversation
On every apply, the IPs in dns_server (comma separated, invalid entries ignored) are written to /etc/systemd/resolved.conf.d/hiddify-dns.conf and systemd-resolved is restarted only when that file changed. With no valid IP the file is removed and the system default comes back. Skipped in Docker. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
This script runs for every non-Docker mode and unconditionally calls systemctl restart systemd-resolved. On hosts where systemd-resolved is not installed, enabled, or managed by another resolver, the command can fail and abort the rest of run.sh.j2. Could this be guarded with a service/command availability check, with a safe fallback or warning? |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The panel's DNS Server setting only affected the proxy cores; the server's own OS resolver stayed on whatever the host was set to, so choosing an ad-blocking or family DNS in the panel did not apply to the server itself.
Change
scripts/common/run.sh.j2(runs on every apply): parsesdns_server(comma/semicolon separated), keeps valid IPv4/IPv6 entries, writes them to/etc/systemd/resolved.conf.d/hiddify-dns.conf(DNS=…,Domains=~.) and restarts systemd-resolved only when the file changed.Tested
resolvectl dnsand name resolution correct each time; nothing restarted when unchanged.bash -n.Review
Domains=~.choice (makes this DNS the global default over per-link DHCP DNS) and the Docker skip.Related: hiddify/hiddifypanel#160
🤖 Generated with Claude Code