From 64a8693e55ee6d64a83668b54b13a1dbae721beb Mon Sep 17 00:00:00 2001 From: Meo597 <197331664+Meo597@users.noreply.github.com> Date: Tue, 3 Nov 2026 20:36:42 +0800 Subject: [PATCH] fix(freedom): apply default final rules to MASQUE and warn on blocks --- proxy/freedom/freedom.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proxy/freedom/freedom.go b/proxy/freedom/freedom.go index 85ae6eec7..d57a4d528 100644 --- a/proxy/freedom/freedom.go +++ b/proxy/freedom/freedom.go @@ -164,7 +164,7 @@ func getDefaultFinalRule(inbound *session.Inbound) *FinalRule { switch inbound.Name { case "vless-reverse": return defaultBlockAllRule - case "vless", "vmess", "trojan", "hysteria", "wireguard": + case "vless", "vmess", "trojan", "hysteria", "wireguard", "masque": return defaultBlockPrivateRule default: if strings.HasPrefix(inbound.Name, "shadowsocks") { @@ -228,7 +228,7 @@ func (h *Handler) blockDelay(rule *FinalRule) time.Duration { func (h *Handler) blackhole(ctx context.Context, input buf.Reader, output buf.Writer, rule *FinalRule, dest *net.Destination) error { delay := h.blockDelay(rule) - errors.LogInfo(ctx, "blocked target: ", *dest, ", blackholing connection for ", delay) + errors.LogWarning(ctx, "target blocked by a final rule: ", *dest, ", blackholing connection for ", delay) defer common.Close(output) done := make(chan struct{}) go func() { // a DispatchLink inbound's reader ignores Interrupt, so don't wait for this copy