|
|
@@ -55,12 +55,12 @@ func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destin
|
|
|
ctx = proxy.ContextWithTarget(ctx, destination)
|
|
|
|
|
|
outbound := ray.NewRay(ctx)
|
|
|
- sniferList := proxyman.ProtocoSniffersFromContext(ctx)
|
|
|
- if destination.Address.Family().IsDomain() || len(sniferList) == 0 {
|
|
|
+ snifferList := proxyman.ProtocoSniffersFromContext(ctx)
|
|
|
+ if destination.Address.Family().IsDomain() || len(snifferList) == 0 {
|
|
|
go d.routedDispatch(ctx, outbound, destination)
|
|
|
} else {
|
|
|
go func() {
|
|
|
- domain, err := snifer(ctx, sniferList, outbound)
|
|
|
+ domain, err := sniffer(ctx, snifferList, outbound)
|
|
|
if err == nil {
|
|
|
newError("sniffed domain: ", domain).WithContext(ctx).WriteToLog()
|
|
|
destination.Address = net.ParseAddress(domain)
|
|
|
@@ -72,11 +72,11 @@ func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destin
|
|
|
return outbound, nil
|
|
|
}
|
|
|
|
|
|
-func snifer(ctx context.Context, sniferList []proxyman.KnownProtocols, outbound ray.OutboundRay) (string, error) {
|
|
|
+func sniffer(ctx context.Context, snifferList []proxyman.KnownProtocols, outbound ray.OutboundRay) (string, error) {
|
|
|
payload := buf.New()
|
|
|
defer payload.Release()
|
|
|
|
|
|
- sniffer := NewSniffer(sniferList)
|
|
|
+ sniffer := NewSniffer(snifferList)
|
|
|
totalAttempt := 0
|
|
|
for {
|
|
|
select {
|