|
|
@@ -10,8 +10,8 @@ import (
|
|
|
"time"
|
|
|
|
|
|
"github.com/xtls/xray-core/common"
|
|
|
- "github.com/xtls/xray-core/common/errors"
|
|
|
"github.com/xtls/xray-core/common/buf"
|
|
|
+ "github.com/xtls/xray-core/common/errors"
|
|
|
"github.com/xtls/xray-core/common/log"
|
|
|
"github.com/xtls/xray-core/common/net"
|
|
|
"github.com/xtls/xray-core/common/protocol"
|
|
|
@@ -421,7 +421,11 @@ func (d *DefaultDispatcher) routedDispatch(ctx context.Context, link *transport.
|
|
|
outTag := route.GetOutboundTag()
|
|
|
if h := d.ohm.GetHandler(outTag); h != nil {
|
|
|
isPickRoute = 2
|
|
|
- errors.LogInfo(ctx, "taking detour [", outTag, "] for [", destination, "]")
|
|
|
+ if route.GetRuleTag() == "" {
|
|
|
+ errors.LogInfo(ctx, "taking detour [", outTag, "] for [", destination, "]")
|
|
|
+ } else {
|
|
|
+ errors.LogInfo(ctx, "Hit route rule: [", route.GetRuleTag(), "] so taking detour [", outTag, "] for [", destination, "]")
|
|
|
+ }
|
|
|
handler = h
|
|
|
} else {
|
|
|
errors.LogWarning(ctx, "non existing outTag: ", outTag)
|