From 8a0602f561cf00cf8d371a9efb9e32146333357d Mon Sep 17 00:00:00 2001 From: gitea-action Date: Wed, 8 Jan 2025 23:00:22 +0800 Subject: [PATCH] mihomo: sync upstream last commit: https://github.com/morytyann/OpenWrt-mihomo/commit/173b705a1fba54dd1f4dbb10b18d09dea85d442a --- mihomo/Makefile | 10 +++++----- mihomo/files/mihomo.init | 6 +++--- mihomo/files/nftables/hijack.nft | 24 ++++++++++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/mihomo/Makefile b/mihomo/Makefile index d05551843..e4fcf84e5 100644 --- a/mihomo/Makefile +++ b/mihomo/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mihomo -PKG_RELEASE:=4 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_DATE:=2024-12-31 -PKG_SOURCE_VERSION:=1c5f4a3ab12ae748cf85b1f14e1841f3b570e9c3 -PKG_MIRROR_HASH:=f0ab4e3d6379da2dbfb1f2d67dde142dcc5d7a8e3c5e93e8fd9e885abe072e48 +PKG_SOURCE_DATE:=2025-01-07 +PKG_SOURCE_VERSION:=c7661d7765fb62acbc6571e76f2922083b0b2b04 +PKG_MIRROR_HASH:=1a306482c459557995dabbef2fa1007d00324095bc59165d939a97074e731c42 PKG_LICENSE:=MIT PKG_MAINTAINER:=Joseph Mory @@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 PKG_BUILD_FLAGS:=no-mips16 -PKG_BUILD_VERSION:=alpha-1c5f4a3 +PKG_BUILD_VERSION:=alpha-c7661d7 PKG_BUILD_TIME:=$(shell date -u -Iseconds) GO_PKG:=github.com/metacubex/mihomo diff --git a/mihomo/files/mihomo.init b/mihomo/files/mihomo.init index d9a4344e4..1c46452c8 100644 --- a/mihomo/files/mihomo.init +++ b/mihomo/files/mihomo.init @@ -490,13 +490,13 @@ service_started() { log "Transparent Proxy" "Set proxy for router." if [ "$tcp_transparent_proxy_mode" == "redirect" ]; then nft insert rule inet "$FW_TABLE" nat_output jump router_dns_hijack - nft add rule inet "$FW_TABLE" nat_output meta l4proto tcp jump router_${tcp_transparent_proxy_mode} + nft add rule inet "$FW_TABLE" nat_output meta l4proto tcp jump "router_${tcp_transparent_proxy_mode}" else nft flush chain inet "$FW_TABLE" nat_output nft add rule inet "$FW_TABLE" nat_output jump router_dns_hijack - nft add rule inet "$FW_TABLE" mangle_output meta l4proto tcp jump router_reroute + nft add rule inet "$FW_TABLE" mangle_output meta l4proto tcp jump "router_${tcp_transparent_proxy_mode}" fi - nft add rule inet "$FW_TABLE" mangle_output meta l4proto udp jump router_reroute + nft add rule inet "$FW_TABLE" mangle_output meta l4proto udp jump "router_${udp_transparent_proxy_mode}" fi # lan proxy if [ "$lan_proxy" == 1 ]; then diff --git a/mihomo/files/nftables/hijack.nft b/mihomo/files/nftables/hijack.nft index 6105d6e9b..a8d2b675f 100644 --- a/mihomo/files/nftables/hijack.nft +++ b/mihomo/files/nftables/hijack.nft @@ -108,6 +108,10 @@ table inet mihomo { meta nfproto @dns_hijack_nfproto meta l4proto udp th dport 53 counter redirect to :$DNS_PORT } + chain router_redirect { + meta nfproto @proxy_nfproto meta l4proto { tcp, udp } counter redirect to :$REDIR_PORT + } + chain all_redirect { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } counter redirect to :$REDIR_PORT } @@ -127,6 +131,10 @@ table inet mihomo { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } counter redirect to :$REDIR_PORT } + chain router_tproxy { + meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter + } + chain all_tproxy { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK tproxy to :$TPROXY_PORT counter accept } @@ -146,6 +154,10 @@ table inet mihomo { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK tproxy to :$TPROXY_PORT counter accept } + chain router_tun { + meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter + } + chain all_tun { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter } @@ -165,14 +177,6 @@ table inet mihomo { meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter } - chain router_redirect { - meta nfproto @proxy_nfproto meta l4proto { tcp, udp } counter redirect to :$REDIR_PORT - } - - chain router_reroute { - meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter accept - } - chain dstnat { type nat hook prerouting priority dstnat + 1; policy accept; fib daddr type { local, multicast, broadcast, anycast } counter return @@ -217,7 +221,7 @@ table inet mihomo { meta nfproto ipv6 meta l4proto . th dport != @proxy_dport counter return meta l4proto { tcp, udp } ip dscp == @bypass_dscp ip daddr != $FAKE_IP counter return meta l4proto { tcp, udp } ip6 dscp == @bypass_dscp counter return - meta l4proto udp th dport 53 counter return + meta nfproto @dns_hijack_nfproto udp dport 53 counter return } chain mangle_output { @@ -234,6 +238,6 @@ table inet mihomo { meta nfproto ipv6 meta l4proto . th dport != @proxy_dport counter return meta l4proto { tcp, udp } ip dscp == @bypass_dscp ip daddr != $FAKE_IP counter return meta l4proto { tcp, udp } ip6 dscp == @bypass_dscp counter return - meta l4proto udp th dport 53 counter return + meta nfproto @dns_hijack_nfproto udp dport 53 counter return } }