diff --git a/VERSION b/VERSION index 605ff68d..12f7d154 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.13.14-rr-edition-2.5.0-r2 +1.13.14-rr-edition-2.5.0-r3 diff --git a/packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r2_aarch64_cortex-a53.ipk b/packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r3_aarch64_cortex-a53.ipk similarity index 56% rename from packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r2_aarch64_cortex-a53.ipk rename to packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r3_aarch64_cortex-a53.ipk index 14dd5e76..e15bd74b 100644 Binary files a/packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r2_aarch64_cortex-a53.ipk and b/packages/24.10/arm64/sing-box-rr_1.13.14-rr-edition-2.5.0-r3_aarch64_cortex-a53.ipk differ diff --git a/packages/25.12/arm64/sing-box-rr-1.13.14-r2.apk b/packages/25.12/arm64/sing-box-rr-1.13.14-r3.apk similarity index 56% rename from packages/25.12/arm64/sing-box-rr-1.13.14-r2.apk rename to packages/25.12/arm64/sing-box-rr-1.13.14-r3.apk index 9043d4d2..0a156354 100644 Binary files a/packages/25.12/arm64/sing-box-rr-1.13.14-r2.apk and b/packages/25.12/arm64/sing-box-rr-1.13.14-r3.apk differ diff --git a/packages/25.12/x86_64/sing-box-rr-1.13.14-r2.apk b/packages/25.12/x86_64/sing-box-rr-1.13.14-r3.apk similarity index 58% rename from packages/25.12/x86_64/sing-box-rr-1.13.14-r2.apk rename to packages/25.12/x86_64/sing-box-rr-1.13.14-r3.apk index d4fa4120..63564466 100644 Binary files a/packages/25.12/x86_64/sing-box-rr-1.13.14-r2.apk and b/packages/25.12/x86_64/sing-box-rr-1.13.14-r3.apk differ diff --git a/sing-box-rr/route/rule/rule_action.go b/sing-box-rr/route/rule/rule_action.go index fb60a4d7..d24c8d73 100644 --- a/sing-box-rr/route/rule/rule_action.go +++ b/sing-box-rr/route/rule/rule_action.go @@ -29,13 +29,17 @@ func NewRuleAction(ctx context.Context, logger logger.ContextLogger, action opti case "": return nil, nil case C.RuleActionTypeRoute: - overrideGateway := M.ParseAddr(action.RouteOptions.OverrideGateway) + var overrideGateway *netip.Addr + if action.RouteOptions.OverrideGateway != "" { + parsed := M.ParseAddr(action.RouteOptions.OverrideGateway) + overrideGateway = &parsed + } return &RuleActionRoute{ Outbound: action.RouteOptions.Outbound, RuleActionRouteOptions: RuleActionRouteOptions{ OverrideAddress: M.ParseSocksaddrHostPort(action.RouteOptions.OverrideAddress, 0), OverridePort: action.RouteOptions.OverridePort, - OverrideGateway: &overrideGateway, + OverrideGateway: overrideGateway, NetworkStrategy: (*C.NetworkStrategy)(action.RouteOptions.NetworkStrategy), FallbackDelay: time.Duration(action.RouteOptions.FallbackDelay), UDPDisableDomainUnmapping: action.RouteOptions.UDPDisableDomainUnmapping,