parent
cbb000d77f
commit
8a0602f561
@ -1,13 +1,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mihomo
|
PKG_NAME:=mihomo
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
|
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
|
||||||
PKG_SOURCE_DATE:=2024-12-31
|
PKG_SOURCE_DATE:=2025-01-07
|
||||||
PKG_SOURCE_VERSION:=1c5f4a3ab12ae748cf85b1f14e1841f3b570e9c3
|
PKG_SOURCE_VERSION:=c7661d7765fb62acbc6571e76f2922083b0b2b04
|
||||||
PKG_MIRROR_HASH:=f0ab4e3d6379da2dbfb1f2d67dde142dcc5d7a8e3c5e93e8fd9e885abe072e48
|
PKG_MIRROR_HASH:=1a306482c459557995dabbef2fa1007d00324095bc59165d939a97074e731c42
|
||||||
|
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
|
PKG_MAINTAINER:=Joseph Mory <morytyann@gmail.com>
|
||||||
@ -16,7 +16,7 @@ PKG_BUILD_DEPENDS:=golang/host
|
|||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
PKG_BUILD_FLAGS:=no-mips16
|
PKG_BUILD_FLAGS:=no-mips16
|
||||||
|
|
||||||
PKG_BUILD_VERSION:=alpha-1c5f4a3
|
PKG_BUILD_VERSION:=alpha-c7661d7
|
||||||
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
|
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
|
||||||
|
|
||||||
GO_PKG:=github.com/metacubex/mihomo
|
GO_PKG:=github.com/metacubex/mihomo
|
||||||
|
@ -490,13 +490,13 @@ service_started() {
|
|||||||
log "Transparent Proxy" "Set proxy for router."
|
log "Transparent Proxy" "Set proxy for router."
|
||||||
if [ "$tcp_transparent_proxy_mode" == "redirect" ]; then
|
if [ "$tcp_transparent_proxy_mode" == "redirect" ]; then
|
||||||
nft insert rule inet "$FW_TABLE" nat_output jump router_dns_hijack
|
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
|
else
|
||||||
nft flush chain inet "$FW_TABLE" nat_output
|
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" 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
|
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
|
fi
|
||||||
# lan proxy
|
# lan proxy
|
||||||
if [ "$lan_proxy" == 1 ]; then
|
if [ "$lan_proxy" == 1 ]; then
|
||||||
|
@ -108,6 +108,10 @@ table inet mihomo {
|
|||||||
meta nfproto @dns_hijack_nfproto meta l4proto udp th dport 53 counter redirect to :$DNS_PORT
|
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 {
|
chain all_redirect {
|
||||||
meta nfproto @proxy_nfproto meta l4proto { tcp, udp } counter redirect to :$REDIR_PORT
|
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
|
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 {
|
chain all_tproxy {
|
||||||
meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK tproxy to :$TPROXY_PORT counter accept
|
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
|
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 {
|
chain all_tun {
|
||||||
meta nfproto @proxy_nfproto meta l4proto { tcp, udp } meta mark set mark ^ $FW_MARK counter
|
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
|
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 {
|
chain dstnat {
|
||||||
type nat hook prerouting priority dstnat + 1; policy accept;
|
type nat hook prerouting priority dstnat + 1; policy accept;
|
||||||
fib daddr type { local, multicast, broadcast, anycast } counter return
|
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 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 } ip dscp == @bypass_dscp ip daddr != $FAKE_IP counter return
|
||||||
meta l4proto { tcp, udp } ip6 dscp == @bypass_dscp 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 {
|
chain mangle_output {
|
||||||
@ -234,6 +238,6 @@ table inet mihomo {
|
|||||||
meta nfproto ipv6 meta l4proto . th dport != @proxy_dport counter return
|
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 } ip dscp == @bypass_dscp ip daddr != $FAKE_IP counter return
|
||||||
meta l4proto { tcp, udp } ip6 dscp == @bypass_dscp 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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user