New WebUI for https-dns-proxy -- need testers

I'd like to invite folks here to test the https-dns-proxy WebUI package rewritten in javascript.

On top of being a smaller package with fewer dependencies than before, it now supports customization of providers (ie: providing a custom user name for nextdns.io service or custom filters for AhaDNS Blitz and picking regional resolvers for BlahDNS and some others).

The package you need to force-reinstall is luci-app-https-dns-proxy and it's available from my repository.

If you encounter any issues, please provide:

  1. The screenshot of WebUI misbehaving/reporting error
  2. The content of /etc/config/https-dns-proxy
  3. The output of service https-dns-proxy info

Thanks!

PS. Huge thanks to @jow, @stokito and @vsviridov!

7 Likes

Hi @stangri just reporting that when clicking on "edit" on the instance it throws this error:

root@OpenWrt:~# service https-dns-proxy info
{
        "https-dns-proxy": {
                "instances": {
                        "instance1": {
                                "running": true,
                                "pid": 7947,
                                "command": [
                                        "/usr/sbin/https-dns-proxy",
                                        "-r",
                                        "https://dns.nextdns.io/<redacted>",
                                        "-a",
                                        "127.0.0.1",
                                        "-p",
                                        "5053",
                                        "-b",
                                        "##.##.##.##,##.##.##.##",
                                        "-4",
                                        "-u",
                                        "nobody",
                                        "-g",
                                        "nogroup",
                                        "-i",
                                        "3600"
                                ],
                                "term_timeout": 5,
                                "data": {
                                        "firewall": [
                                                {
                                                        "type": "redirect",
                                                        "target": "DNAT",
                                                        "src": "lan",
                                                        "proto": "tcp udp",
                                                        "src_dport": "53",
                                                        "dest_port": "53",
                                                        "family": "any",
                                                        "reflection": false
                                                }
                                        ],
                                        "mdns": {
                                                "https-dns-proxy_5053": {
                                                        "service": "_https-dns-proxy._udp.local",
                                                        "port": 5053,
                                                        "txt": [
                                                                "DNS over HTTPS proxy"
                                                        ]
                                                }
                                        },
                                        "url": "https://dns.nextdns.io/<redacted>"
                                },
                                "respawn": {
                                        "threshold": 3600,
                                        "timeout": 5,
                                        "retry": 5
                                }
                        }
                },
                "triggers": [
                        [
                                "interface.*",
                                [
                                        "if",
                                        [
                                                "eq",
                                                "interface",
                                                "wan"
                                        ],
                                        [
                                                "run_script",
                                                "/etc/init.d/https-dns-proxy",
                                                "restart"
                                        ]
                                ],
                                1000
                        ],
                        [
                                "config.change",
                                [
                                        "if",
                                        [
                                                "eq",
                                                "package",
                                                "https-dns-proxy"
                                        ],
                                        [
                                                "run_script",
                                                "/etc/init.d/https-dns-proxy",
                                                "reload"
                                        ]
                                ],
                                1000
                        ]
                ]
        }
}
root@OpenWrt:~#
config main 'config'
	option dnsmasq_config_update '*'
	list force_dns_port '53'
	option force_dns '1'
	option canary_domains_icloud '0'
	option canary_domains_mozilla '0'
	option procd_trigger_wan6 '0'


config https-dns-proxy
	option listen_addr '127.0.0.1'
	option user 'nobody'
	option group 'nogroup'
	option bootstrap_dns '##.##.##.##,##.##.##.##'
	option resolver_url 'https://dns.nextdns.io<redacted>'
	option listen_port '5053'
	option polling_interval '3600'
1 Like

Thanks, please redownload/force-reinstall same IPK. I've updated code for the whole GridSection, it should work now.

Ok I installed the new version:

Package: luci-app-https-dns-proxy
Version: 2023-05-25-4
Depends: libc, luci-base, https-dns-proxy
Status: install user installed
Architecture: all
Installed-Time: 1693428907

root@OpenWrt:~#

GUI still shows 2023-05-25-3 though with the error still present.

GUI shows the version of the principal package.

The browser most likely cached the javascript file, that's why you're still seeing the error. You may need to use Incognito window or have to clear javascript cache: https://ourtechroom.com/tech/force-clear-css-js-files-cache-from-browser/.

Thanks for the tip, I had already tried ctrl + F5 which should have done it but it didn't (Firefox). Did it through dev tools per that link and it works!

So is everything working with the new version?

Yes, nice work!

Hi I did just find that on custom instances when I change the parameter and save then save & apply I noticed it is not changing in the list and I also get the "There are no changes to apply".

I tried with the network cache off as well.

As @account4538 has mentioned above I had a startup issue and it has been fixed for me very smartly I may add by @stangri.
https_dns_proxy was starting for me on boot, but DNS resolution was broken, you seem to have the server stopping by what your log says and you would be best to start a new thread.

I have tested his patches prior to being merged into master and it worked awesome.
I have rebuilt form source with updated feeds and all it working as expected.
have you tried updating to the latest feeds?

I don't know what it has to do with this topic as the new luci app seems to work awesome for me also.

I’m in the wilderness without reliable internet access until the end of the week. I’ve seen the report on GitHub and here and I’ll reply when I’m back to civilization.