AdguardTeam / dnsproxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
Apache License 2.0
2.44k stars 247 forks source link

Parse error while parsing upstreams configuration from a text file #409

Open andreydegt opened 3 months ago

andreydegt commented 3 months ago

OpenWRT 23.05.4, dnsproxy v0.67.0. Part of config for service:

config dnsproxy 'servers' list bootstrap 'tls://8.8.8.8'
list fallback '/etc/dnsproxy/fallback_list' list upstream '/etc/dnsproxy/dnslist'

I get an error with this: Sat Aug 3 15:20:45 2024 daemon.err dnsproxy[12495]: 2024/08/03 12:20:45 [fatal] error while parsing upstreams configuration: parsing error at index 0: cannot prepare the upstream: invalid address /etc/dnsproxy/dnslist: bad hostname "/etc/dnsproxy/dnslist": bad top-level domain name label "/etc/dnsproxy/dnslist": bad top-level domain name label rune '/'

But when I run dnsproxy from console it works. For example:

dnsproxy -l 127.0.2.1 -p 5354 -u /etc/dnsproxy/dnslist

In previous versions, reading from a file worked fine.

ainar-g commented 3 months ago

I cannot reproduce this. Can you reproduce this with dnsproxy itself as opposed to the OpenWrt package? Because it might be a package issue.

andreydegt commented 3 months ago

I don't see a way to do this yet. The strange thing here is that after receiving the upstream as a text file via the console, DNSproxy works fine. But after receiving the same upstream, it gives an error when starting the service. After all, the log says what exactly DNSproxy doesn't like. In the case when a real DNS is specified as an upstream in the config, this works fine. If it's a text file, this leads to an error.