diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index aa950ee70..b659bea10 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -1,15 +1,15 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=https_dns_proxy +PKG_NAME:=https-dns-proxy +PKG_VERSION:=2019-12-03 PKG_RELEASE=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy -PKG_SOURCE_DATE:=2019-10-09 -PKG_SOURCE_VERSION:=3d20c75c4a17aa569748e63ac169b9274178d573 -PKG_MIRROR_HASH:=149839f1db4ab9691db3955de526080a5b731ff8484b06f164497f4e244140da - -PKG_MAINTAINER:=Aaron Drew +PKG_SOURCE_DATE:=2019-12-03 +PKG_SOURCE_VERSION:=2adeafb67cbe8d67148219c48334856ae4f3bd75 +PKG_MIRROR_HASH:=58088baa092cd9634652d65f9b5650db88d2e102cb370710654db7b15f2f0e42 +PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE @@ -18,18 +18,19 @@ include $(INCLUDE_DIR)/cmake.mk CMAKE_OPTIONS += -DCLANG_TIDY_EXE= -define Package/https_dns_proxy - SECTION:=net - CATEGORY:=Network - TITLE:=DNS over HTTPS Proxy Server - DEPENDS:=+libcares +libcurl +libev +ca-bundle +define Package/https-dns-proxy + SECTION:=net + CATEGORY:=Network + TITLE:=DNS Over HTTPS Proxy + DEPENDS:=+libcares +libcurl +libev +ca-bundle + CONFLICTS:=https_dns_proxy endef -define Package/https_dns_proxy/install +define Package/https-dns-proxy/install $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d ${1}/etc/config - $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/ - $(INSTALL_BIN) ./files/https_dns_proxy.init $(1)/etc/init.d/https_dns_proxy - $(INSTALL_CONF) ./files/https_dns_proxy.config $(1)/etc/config/https_dns_proxy + $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy + $(INSTALL_BIN) ./files/https-dns-proxy.init $(1)/etc/init.d/https-dns-proxy + $(INSTALL_CONF) ./files/https-dns-proxy.config $(1)/etc/config/https-dns-proxy endef -$(eval $(call BuildPackage,https_dns_proxy)) +$(eval $(call BuildPackage,https-dns-proxy)) diff --git a/net/https-dns-proxy/files/https_dns_proxy.config b/net/https-dns-proxy/files/https-dns-proxy.config similarity index 51% rename from net/https-dns-proxy/files/https_dns_proxy.config rename to net/https-dns-proxy/files/https-dns-proxy.config index b5b49ba66..6c88f7235 100644 --- a/net/https-dns-proxy/files/https_dns_proxy.config +++ b/net/https-dns-proxy/files/https-dns-proxy.config @@ -1,19 +1,15 @@ -config https_dns_proxy +config https-dns-proxy + option bootstrap_dns '8.8.8.8,8.8.4.4' + option resolver_url 'https://dns.google/dns-query' option listen_addr '127.0.0.1' option listen_port '5053' - option bootstrap_dns '8.8.8.8,8.8.4.4' - option url_prefix 'https://dns.google.com/resolve?' option user 'nobody' option group 'nogroup' - option subnet_addr '' - option proxy_server '' -config https_dns_proxy +config https-dns-proxy + option bootstrap_dns '1.1.1.1,1.0.0.1' + option resolver_url 'https://cloudflare-dns.com/dns-query' option listen_addr '127.0.0.1' option listen_port '5054' - option bootstrap_dns '1.1.1.1,1.0.0.1' - option url_prefix 'https://cloudflare-dns.com/dns-query?ct=application/dns-json&' option user 'nobody' option group 'nogroup' - option subnet_addr '' - option proxy_server '' diff --git a/net/https-dns-proxy/files/https_dns_proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init old mode 100644 new mode 100755 similarity index 69% rename from net/https-dns-proxy/files/https_dns_proxy.init rename to net/https-dns-proxy/files/https-dns-proxy.init index 5dee453d2..56ad6a3ac --- a/net/https-dns-proxy/files/https_dns_proxy.init +++ b/net/https-dns-proxy/files/https-dns-proxy.init @@ -5,10 +5,21 @@ export START=80 export USE_PROCD=1 -PROG=/usr/sbin/https_dns_proxy +PROG=/usr/sbin/https-dns-proxy xappend() { param="$param $1"; } +append_bool() { + local section="$1" + local option="$2" + local value="$3" + local default="$4" + local _loctmp + [ -z "$default" ] && default="0" + config_get_bool _loctmp "$section" "$option" "$default" + [ "$_loctmp" != "0" ] && xappend "$value" +} + append_parm() { local section="$1" local option="$2" @@ -20,21 +31,37 @@ append_parm() { xappend "$switch $_loctmp" } +append_match() { + local section="$1" + local option="$2" + local value="$3" + local match="$4" + local _loctmp + config_get_bool _loctmp "$section" "$option" + [ "$_loctmp" = "$match" ] && xappend "$value" +} + start_instance() { local cfg="$1" param listen_addr listen_port append_parm "$cfg" 'listen_addr' '-a' '127.0.0.1' append_parm "$cfg" 'listen_port' '-p' "$p" append_parm "$cfg" 'bootstrap_dns' '-b' - append_parm "$cfg" 'url_prefix' '-r' + append_parm "$cfg" 'resolver_url' '-r' append_parm "$cfg" 'user' '-u' 'nobody' append_parm "$cfg" 'group' '-g' 'nogroup' - append_parm "$cfg" 'subnet_addr' '-e' + append_parm "$cfg" 'edns_subnet' '-e' append_parm "$cfg" 'proxy_server' '-t' + append_parm "$cfg" 'logfile' '-l' + append_bool "$cfg" 'use_http1' '-x' + append_match "$cfg" 'verbosity' '-v' '1' + append_match "$cfg" 'verbosity' '-vv' '2' + append_match "$cfg" 'verbosity' '-vvv' '3' + append_match "$cfg" 'verbosity' '-vvvv' '4' procd_open_instance # shellcheck disable=SC2086 - procd_set_param command ${PROG} ${param} + procd_set_param command ${PROG} -4 ${param} procd_set_param respawn procd_close_instance @@ -47,14 +74,14 @@ start_instance() { } service_triggers() { - procd_add_reload_trigger 'https_dns_proxy' + procd_add_reload_trigger 'https-dns-proxy' } start_service() { local p=5053 dhcp_backup 'create' - config_load 'https_dns_proxy' - config_foreach start_instance 'https_dns_proxy' + config_load 'https-dns-proxy' + config_foreach start_instance 'https-dns-proxy' if [ -z "$(uci -q get dhcp.@dnsmasq[0].server)" ]; then dhcp_backup 'restore' fi @@ -72,6 +99,10 @@ stop_service() { fi } +service_triggers() { + procd_add_reload_trigger 'https-dns-proxy' +} + dnsmasq_add_doh_server() { local cfg="$1" value="$2" uci -q add_list dhcp."$cfg".server="$value"