From de644195a39acb1fd6748d3eaf941f58f6c43ff4 Mon Sep 17 00:00:00 2001 From: wener Date: Sun, 26 Jan 2025 20:51:30 +0800 Subject: [PATCH] feat: sniff add override_destination --- option/rule_action.go | 5 +++-- route/rule/rule_action.go | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/option/rule_action.go b/option/rule_action.go index b7003628..5550ba5f 100644 --- a/option/rule_action.go +++ b/option/rule_action.go @@ -271,8 +271,9 @@ func (r *RejectActionOptions) UnmarshalJSON(bytes []byte) error { } type RouteActionSniff struct { - Sniffer badoption.Listable[string] `json:"sniffer,omitempty"` - Timeout badoption.Duration `json:"timeout,omitempty"` + Sniffer badoption.Listable[string] `json:"sniffer,omitempty"` + Timeout badoption.Duration `json:"timeout,omitempty"` + OverrideDestination bool `json:"override_destination,omitempty"` } type RouteActionResolve struct { diff --git a/route/rule/rule_action.go b/route/rule/rule_action.go index f4f2299a..d398222f 100644 --- a/route/rule/rule_action.go +++ b/route/rule/rule_action.go @@ -79,8 +79,9 @@ func NewRuleAction(ctx context.Context, logger logger.ContextLogger, action opti return &RuleActionHijackDNS{}, nil case C.RuleActionTypeSniff: sniffAction := &RuleActionSniff{ - snifferNames: action.SniffOptions.Sniffer, - Timeout: time.Duration(action.SniffOptions.Timeout), + snifferNames: action.SniffOptions.Sniffer, + Timeout: time.Duration(action.SniffOptions.Timeout), + OverrideDestination: action.SniffOptions.OverrideDestination, } return sniffAction, sniffAction.build() case C.RuleActionTypeResolve: