summaryrefslogtreecommitdiff
path: root/net/https-dns-proxy
diff options
context:
space:
mode:
Diffstat (limited to 'net/https-dns-proxy')
-rw-r--r--net/https-dns-proxy/Makefile2
-rw-r--r--net/https-dns-proxy/files/README.md5
-rw-r--r--net/https-dns-proxy/files/https-dns-proxy.config4
-rwxr-xr-xnet/https-dns-proxy/files/https-dns-proxy.init37
4 files changed, 25 insertions, 23 deletions
diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile
index 7e3d0a5ba..aab2c488c 100644
--- a/net/https-dns-proxy/Makefile
+++ b/net/https-dns-proxy/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=https-dns-proxy
PKG_VERSION:=2019-12-03
-PKG_RELEASE=3
+PKG_RELEASE=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
diff --git a/net/https-dns-proxy/files/README.md b/net/https-dns-proxy/files/README.md
index d844399bb..437cd8688 100644
--- a/net/https-dns-proxy/files/README.md
+++ b/net/https-dns-proxy/files/README.md
@@ -57,7 +57,7 @@ config https-dns-proxy
option listen_addr '127.0.0.1'
option listen_port '5054'
option user 'nobody'
- option group 'nogroup'```
+ option group 'nogroup'
```
The ```update_dnsmasq_config``` option can be set to dash (set to ```'-'``` to not change ```DNSMASQ``` server settings on start/stop), can be set to ```'*'``` to affect all ```DNSMASQ``` instance server settings or have a space-separated list of ```DNSMASQ``` instances to affect (like ```'0 4 5'```). If this option is omitted, the default setting is ```'*'```.
@@ -87,7 +87,8 @@ The https-dns-proxy instance settings are:
|user|String|nobody|Local user to run instance under.|
|group|String|nogroup|Local group to run instance under.|
|use_http1|Boolean|0|If set to 1, use HTTP/1 on installations with broken/outdated ```curl``` package. Included for posterity reasons, you will most likely not ever need it on OpenWrt.|
-|verbosity|Integer||Use setting between 1 to 4 to control the logging verbosity level.|String
+|verbosity|Integer|0|logging verbosity level. fatal = 0, error = 1, warning = 2, info = 3, debug = 4|
+|ipv6_resolvers_only|Boolean|0|If set to 1, Forces IPv6 DNS resolvers instead of IPv4|
## Thanks
diff --git a/net/https-dns-proxy/files/https-dns-proxy.config b/net/https-dns-proxy/files/https-dns-proxy.config
index 7f8ecd597..3c5eecf4d 100644
--- a/net/https-dns-proxy/files/https-dns-proxy.config
+++ b/net/https-dns-proxy/files/https-dns-proxy.config
@@ -8,8 +8,6 @@ config https-dns-proxy
option listen_port '5053'
option user 'nobody'
option group 'nogroup'
- option ipv4_resolvers '1'
- option verbosity '0' # fatal = 0, error = 1, warning = 2, info = 3, debug = 4
config https-dns-proxy
option bootstrap_dns '1.1.1.1,1.0.0.1'
@@ -18,5 +16,3 @@ config https-dns-proxy
option listen_port '5054'
option user 'nobody'
option group 'nogroup'
- option ipv4_resolvers '1'
- option verbosity '0' # fatal = 0, error = 1, warning = 2, info = 3, debug = 4
diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init
index 91c9f1ae0..8dd509edb 100755
--- a/net/https-dns-proxy/files/https-dns-proxy.init
+++ b/net/https-dns-proxy/files/https-dns-proxy.init
@@ -46,13 +46,17 @@ start_instance() {
append_parm "$cfg" 'proxy_server' '-t'
append_parm "$cfg" 'logfile' '-l'
append_bool "$cfg" 'use_http1' '-x'
- append_bool "$cfg" 'ipv4_resolvers' '-4'
config_get verbosity "$cfg" 'verbosity' "0"
for i in $(seq 1 $verbosity); do
xappend "-v"
done
+ config_get_bool ipv6_resolvers_only "$cfg" 'ipv6_resolvers_only' '0'
+ if [ "$ipv6_resolvers_only" == 0 ]; then
+ xappend "-4"
+ fi
+
procd_open_instance
# shellcheck disable=SC2086
procd_set_param command ${PROG} ${param}
@@ -64,22 +68,12 @@ start_instance() {
config_get listen_addr "$cfg" 'listen_addr' '127.0.0.1'
config_get listen_port "$cfg" 'listen_port' "$p"
- # Don't add the any address to dnsmasq
- case $listen_addr in
- 0.0.0.0|::ffff:0.0.0.0)
- listen_addr='127.0.0.1'
- ;;
- ::)
- listen_addr='::1'
- ;;
- esac
-
if [ "$dnsmasqConfig" = "*" ]; then
config_load 'dhcp'
- config_foreach dnsmasq_add_doh_server 'dnsmasq' "${listen_addr}#${listen_port}"
+ config_foreach dnsmasq_add_doh_server 'dnsmasq' "${listen_addr}" "${listen_port}"
elif [ -n "$dnsmasqConfig" ]; then
for i in $dnsmasqConfig; do
- dnsmasq_add_doh_server "@dnsmasq[${i}]" "${listen_addr}#${listen_port}"
+ dnsmasq_add_doh_server "@dnsmasq[${i}]" "${listen_addr}" "${listen_port}"
done
fi
p="$((p+1))"
@@ -117,9 +111,20 @@ service_triggers() {
}
dnsmasq_add_doh_server() {
- local cfg="$1" value="$2"
- uci -q del_list dhcp."$cfg".server="$value"
- uci -q add_list dhcp."$cfg".server="$value"
+ local cfg="$1" address="$2" port="$3"
+
+ # Don't add the any address to dnsmasq
+ case $address in
+ 0.0.0.0|::ffff:0.0.0.0)
+ address='127.0.0.1'
+ ;;
+ ::)
+ address='::1'
+ ;;
+ esac
+
+ uci -q del_list dhcp."$cfg".server="$address#$port"
+ uci -q add_list dhcp."$cfg".server="$address#$port"
}
dnsmasq_create_server_backup() {