DoH proxy: https-dns-proxy new RFC8484-supporting package and Web UI

Define the upstream servers in /etc/dnsmasq.conf, instead of using uci.

I.e.

server=127.0.0.1#5053

server=127.0.0.1#5054

into /etc/dnsmasq.conf . Will be unchanged.

Actually, I blindly copied those 2 lines, which were generated by https-dns-proxy, thinking they would be used for some important functions:

list doh_server '::1#5053'
list doh_server '::1#5054'

In fact, they are used to remember what corresponding list server lines were inserted by https-dns-proxy so it can cleanup when the service stops. Removing those lines solve the problem, as https-dns-proxy no longer performs the cleanup.

Nontheless, why does https-dns-proxy try to mess with /etc/config/dhcp if I tell it not to? dnsmasq_config_update is set to '-' already.

Because:

If there are no doh*server entries created by/for https-dns-proxy, it does not modify dhcp config on stop.

Otherwise, in the scenario where user changes dnsmasq instances in Luci to none, previously added entries will not get removed from the config -- the package doesn't get two configs/config diff, it's restarted after the config has been changed and needs to act upon config condition at that time.

1 Like

Sure, I can look into that. Do you have a suggestion on how to inject dnsmasq with pbr-generated nft sets so it will persist on dnsmasq restart and will not brick dnsmasq if the file doesn't exist yet (after reboot)?