|
6 | 6 | "sync/atomic" |
7 | 7 | "time" |
8 | 8 |
|
9 | | - "github.com/xtls/xray-core/app/proxyman" |
10 | 9 | "github.com/xtls/xray-core/common" |
11 | 10 | "github.com/xtls/xray-core/common/buf" |
12 | 11 | c "github.com/xtls/xray-core/common/ctx" |
@@ -43,7 +42,7 @@ type tcpWorker struct { |
43 | 42 | recvOrigDest bool |
44 | 43 | tag string |
45 | 44 | dispatcher routing.Dispatcher |
46 | | - sniffingConfig *proxyman.SniffingConfig |
| 45 | + sniffingRequest session.SniffingRequest |
47 | 46 | uplinkCounter stats.Counter |
48 | 47 | downlinkCounter stats.Counter |
49 | 48 |
|
@@ -118,13 +117,7 @@ func (w *tcpWorker) callback(conn stat.Connection) { |
118 | 117 | }) |
119 | 118 |
|
120 | 119 | content := new(session.Content) |
121 | | - if w.sniffingConfig != nil { |
122 | | - content.SniffingRequest.Enabled = w.sniffingConfig.Enabled |
123 | | - content.SniffingRequest.OverrideDestinationForProtocol = w.sniffingConfig.DestinationOverride |
124 | | - content.SniffingRequest.ExcludeForDomain = w.sniffingConfig.DomainsExcluded |
125 | | - content.SniffingRequest.MetadataOnly = w.sniffingConfig.MetadataOnly |
126 | | - content.SniffingRequest.RouteOnly = w.sniffingConfig.RouteOnly |
127 | | - } |
| 120 | + content.SniffingRequest = w.sniffingRequest |
128 | 121 | ctx = session.ContextWithContent(ctx, content) |
129 | 122 |
|
130 | 123 | if err := w.proxy.Process(ctx, net.Network_TCP, conn, w.dispatcher); err != nil { |
@@ -275,7 +268,7 @@ type udpWorker struct { |
275 | 268 | tag string |
276 | 269 | stream *internet.MemoryStreamConfig |
277 | 270 | dispatcher routing.Dispatcher |
278 | | - sniffingConfig *proxyman.SniffingConfig |
| 271 | + sniffingRequest session.SniffingRequest |
279 | 272 | uplinkCounter stats.Counter |
280 | 273 | downlinkCounter stats.Counter |
281 | 274 |
|
@@ -365,13 +358,7 @@ func (w *udpWorker) callback(b *buf.Buffer, source net.Destination, originalDest |
365 | 358 | Tag: w.tag, |
366 | 359 | }) |
367 | 360 | content := new(session.Content) |
368 | | - if w.sniffingConfig != nil { |
369 | | - content.SniffingRequest.Enabled = w.sniffingConfig.Enabled |
370 | | - content.SniffingRequest.OverrideDestinationForProtocol = w.sniffingConfig.DestinationOverride |
371 | | - content.SniffingRequest.ExcludeForDomain = w.sniffingConfig.DomainsExcluded |
372 | | - content.SniffingRequest.MetadataOnly = w.sniffingConfig.MetadataOnly |
373 | | - content.SniffingRequest.RouteOnly = w.sniffingConfig.RouteOnly |
374 | | - } |
| 361 | + content.SniffingRequest = w.sniffingRequest |
375 | 362 | ctx = session.ContextWithContent(ctx, content) |
376 | 363 | if err := w.proxy.Process(ctx, net.Network_UDP, conn, w.dispatcher); err != nil { |
377 | 364 | errors.LogInfoInner(ctx, err, "connection ends") |
@@ -487,7 +474,7 @@ type dsWorker struct { |
487 | 474 | stream *internet.MemoryStreamConfig |
488 | 475 | tag string |
489 | 476 | dispatcher routing.Dispatcher |
490 | | - sniffingConfig *proxyman.SniffingConfig |
| 477 | + sniffingRequest session.SniffingRequest |
491 | 478 | uplinkCounter stats.Counter |
492 | 479 | downlinkCounter stats.Counter |
493 | 480 |
|
@@ -517,13 +504,7 @@ func (w *dsWorker) callback(conn stat.Connection) { |
517 | 504 | }) |
518 | 505 |
|
519 | 506 | content := new(session.Content) |
520 | | - if w.sniffingConfig != nil { |
521 | | - content.SniffingRequest.Enabled = w.sniffingConfig.Enabled |
522 | | - content.SniffingRequest.OverrideDestinationForProtocol = w.sniffingConfig.DestinationOverride |
523 | | - content.SniffingRequest.ExcludeForDomain = w.sniffingConfig.DomainsExcluded |
524 | | - content.SniffingRequest.MetadataOnly = w.sniffingConfig.MetadataOnly |
525 | | - content.SniffingRequest.RouteOnly = w.sniffingConfig.RouteOnly |
526 | | - } |
| 507 | + content.SniffingRequest = w.sniffingRequest |
527 | 508 | ctx = session.ContextWithContent(ctx, content) |
528 | 509 |
|
529 | 510 | if err := w.proxy.Process(ctx, net.Network_UNIX, conn, w.dispatcher); err != nil { |
|
0 commit comments