diff --git a/dae/files/dae.init b/dae/files/dae.init index 8dd2116b..0551518d 100755 --- a/dae/files/dae.init +++ b/dae/files/dae.init @@ -49,17 +49,26 @@ cleanup_netns() { hijack_resolv_conf() { grep -q ' /tmp/resolv\.conf ' /proc/mounts && return 0 - cat /dev/null > "$RESOLV_DAE" + grep -E '^(search|domain) ' /tmp/resolv.conf > "$RESOLV_DAE" 2>/dev/null - if [ -f "/tmp/resolv.conf.d/resolv.conf.auto" ]; then - grep '^nameserver' "/tmp/resolv.conf.d/resolv.conf.auto" >> "$RESOLV_DAE" + local dns_list LOGICAL_WAN + . /lib/functions/network.sh + network_find_wan LOGICAL_WAN 2>/dev/null + if [ -n "$LOGICAL_WAN" ]; then + dns_list=$(ubus call "network.interface.$LOGICAL_WAN" status 2>/dev/null | \ + jsonfilter -e '@["dns-server"][*]' 2>/dev/null) fi - if [ ! -s "$RESOLV_DAE" ]; then - echo "nameserver 223.5.5.5" > "$RESOLV_DAE" - echo "nameserver 119.29.29.29" >> "$RESOLV_DAE" + if [ -z "$dns_list" ] && [ -f "/tmp/resolv.conf.d/resolv.conf.auto" ]; then + dns_list=$(awk '/^nameserver/{print $2}' "/tmp/resolv.conf.d/resolv.conf.auto") fi + [ -z "$dns_list" ] && dns_list="119.29.29.29 223.5.5.5" + + for dns in $dns_list; do + echo "nameserver $dns" >> "$RESOLV_DAE" + done + mount --bind "$RESOLV_DAE" /tmp/resolv.conf mount -o remount,ro,bind /tmp/resolv.conf } diff --git a/luci-app-daed/root/etc/init.d/luci_daed b/luci-app-daed/root/etc/init.d/luci_daed index 46dc063b..dede99c1 100755 --- a/luci-app-daed/root/etc/init.d/luci_daed +++ b/luci-app-daed/root/etc/init.d/luci_daed @@ -31,21 +31,30 @@ update_cron() { } hijack_resolv_conf() { - grep -q ' /tmp/resolv\.conf ' /proc/mounts && return 0 + grep -q ' /tmp/resolv\.conf ' /proc/mounts && return 0 - cat /dev/null > "$RESOLV_DAED" + grep -E '^(search|domain) ' /tmp/resolv.conf > "$RESOLV_DAED" 2>/dev/null - if [ -f "/tmp/resolv.conf.d/resolv.conf.auto" ]; then - grep '^nameserver' "/tmp/resolv.conf.d/resolv.conf.auto" >> "$RESOLV_DAED" - fi + local dns_list LOGICAL_WAN + . /lib/functions/network.sh + network_find_wan LOGICAL_WAN 2>/dev/null + if [ -n "$LOGICAL_WAN" ]; then + dns_list=$(ubus call "network.interface.$LOGICAL_WAN" status 2>/dev/null | \ + jsonfilter -e '@["dns-server"][*]' 2>/dev/null) + fi - if [ ! -s "$RESOLV_DAED" ]; then - echo "nameserver 223.5.5.5" > "$RESOLV_DAED" - echo "nameserver 119.29.29.29" >> "$RESOLV_DAED" - fi + if [ -z "$dns_list" ] && [ -f "/tmp/resolv.conf.d/resolv.conf.auto" ]; then + dns_list=$(awk '/^nameserver/{print $2}' "/tmp/resolv.conf.d/resolv.conf.auto") + fi - mount --bind "$RESOLV_DAED" /tmp/resolv.conf - mount -o remount,ro,bind /tmp/resolv.conf + [ -z "$dns_list" ] && dns_list="119.29.29.29 223.5.5.5" + + for dns in $dns_list; do + echo "nameserver $dns" >> "$RESOLV_DAED" + done + + mount --bind "$RESOLV_DAED" /tmp/resolv.conf + mount -o remount,ro,bind /tmp/resolv.conf } restore_resolv_conf() { diff --git a/upx-static/Makefile b/upx-static/Makefile index 6574e1c2..8f5118d3 100755 --- a/upx-static/Makefile +++ b/upx-static/Makefile @@ -5,9 +5,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=upx-static -PKG_VERSION:=5.1.1 +PKG_VERSION:=5.2.0 PKG_RELEASE:=1 -PKG_SOURCE_VERSION:=v5.1.1 +PKG_SOURCE_VERSION:=v5.2.0 # Map OpenWrt $(ARCH) to UPX pre-built binary arch name. # NOTE: OpenWrt uses "aarch64", UPX tarball uses "arm64". @@ -39,25 +39,25 @@ PKG_SOURCE_URL:=https://github.com/upx/upx/releases/download/$(PKG_SOURCE_VERSIO # AUTO-GENERATED HASHES BEGIN ifeq ($(UPX_ARCH),amd64) - PKG_HASH:=1ff660454227861e00772f743f66b900072116b9dc24f6ee28b97cce88a7828a + PKG_HASH:=3db5d3294707439db97866feab8d75d800f028f48481a40547411824da4288a1 else ifeq ($(UPX_ARCH),i386) - PKG_HASH:=54242a7f1fa05ecc254c83fac89437987af19492f0b27a3def1cdcf4746f8053 + PKG_HASH:=cde78cdb67bd70cf3edd29c029849a029760a4bca8331a9fe382675029747039 else ifeq ($(UPX_ARCH),arm64) - PKG_HASH:=a307c2c821eeab47607ba5c232408b22ab884cca13884682508b98f7308b8443 + PKG_HASH:=55d48a61e8ffd17152db871c855376cba7f08e830b37799d0947a16dff8ec36c else ifeq ($(UPX_ARCH),arm) - PKG_HASH:=0d0ac4c2fd367ccf595522487db118a7ef07e31146ff3cebefe4b34381a00a78 + PKG_HASH:=6675c2481c995447a5169ff9c4f7e303bef9372b26645c06f10016b36e649eac else ifeq ($(UPX_ARCH),armeb) - PKG_HASH:=46bcea55c16eb420df8567025b75bda6516ef1cb4b0b4e232a4a28f55f0add6c + PKG_HASH:=c63e70a62c8dd58e5f4c72b1f34c1bb20cc2e76922f86275d78251ed5ac99042 else ifeq ($(UPX_ARCH),mipsel) - PKG_HASH:=6e2c901c927be893141fa680ff4b86c3ac48d8390e6505db2fcf3a7ccd0c599b + PKG_HASH:=20d7af4fab1acf2395e4553c0c640454141781b584469e74031c61f80184fd7d else ifeq ($(UPX_ARCH),mips) - PKG_HASH:=15d3949dd620a86ebff7622201c1b81b00677face68ab7d179b9e72b003759c9 + PKG_HASH:=52316cc55fa6abe3a6298423b654c2349085d20d03ac3b51d065bfa66273f47e else ifeq ($(UPX_ARCH),powerpc) - PKG_HASH:=81bb6703ee02bd8b0664a8265fd607dccac606976c958d09333c4ed038aea2bf + PKG_HASH:=8815df50a5a1827873e35c0d4694e21bc789b6cf764b2433c787e8925f1da652 else ifeq ($(UPX_ARCH),powerpc64le) - PKG_HASH:=d8789d959f0a2fdd07890ebb332173a9b076cb6db2cb1fb22a2699ffd9f884c6 + PKG_HASH:=d9f9fe0f474dc9d4319a6ce205219075cb9b53f4f1ab9ab393b0a79c5261d050 else ifeq ($(UPX_ARCH),riscv64) - PKG_HASH:=8dec678ddcafb61837ecd59810f6ad89dfd30edd84333441aff44e088d4b7898 + PKG_HASH:=6d16f1817a9df1ae41e4facfb2eb3a7cc69a67f9bb05c2e6b83ade453c3384e3 else $(error Unsupported UPX_ARCH '$(UPX_ARCH)' for upx-static) endif diff --git a/v2ray-geodata/Makefile b/v2ray-geodata/Makefile index fd8914f4..6c599c63 100644 --- a/v2ray-geodata/Makefile +++ b/v2ray-geodata/Makefile @@ -30,7 +30,7 @@ define Download/geosite HASH:=7452b05d903867db8f3b3ace0c462b6033b37bef0b842a60133e5c6f91d3ef5d endef -GEOSITE_IRAN_VER:=202606080206 +GEOSITE_IRAN_VER:=202606150209 GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER) define Download/geosite-ir URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/