Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Process-name rule fails to match UDP traffic #1800

Closed
9 tasks done
sino1641 opened this issue Jan 20, 2025 · 1 comment
Closed
9 tasks done

[Bug] Process-name rule fails to match UDP traffic #1800

sino1641 opened this issue Jan 20, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@sino1641
Copy link

sino1641 commented Jan 20, 2025

Verify steps

  • I have read the documentation and understand the meaning of all the configuration items I have written, rather than just piling up seemingly useful options or default values.
  • I have carefully reviewed the documentation and have not resolved the issue.
  • I have searched the Issue Tracker for the issue I want to raise and did not find it.
  • I am a non-Chinese user.
  • I have tested with the latest Alpha branch version, and the issue still persists.
  • I have provided the server and client configuration files and processes that can reproduce the issue locally, rather than a sanitized complex client configuration file.
  • I provided the simplest configuration that can be used to reproduce the errors in my report, rather than relying on remote servers or piling on a lot of unnecessary configurations for reproduction.
  • I have provided complete logs, rather than just the parts I think are useful out of confidence in my own intelligence.
  • I have directly reproduced the error using the Mihomo command-line program, rather than using other tools or scripts.

Operating System

Windows

System Version

win11 24h2

Mihomo Version

Mihomo Meta alpha-fc23318 windows amd64 with go1.23.4 Sun Jan 19 01:59:13 UTC 2025
Use tags: with_gvisor

Configuration File

rules:
  - PROCESS-NAME,iperf3.exe,speedtest
  - AND,((PROCESS-NAME,iperf3.exe),(NETWORK,udp)),speedtest
  - MATCH,Match

Description

The process-name rule is currently unable to match UDP traffic correctly even if it is explicitly specified with AND operator.
See my example using iperf3.

Reproduction Steps

  1. Use iperf3.exe as an example. Attach the rule set above into an active config.
  2. Establish a test using iperf3. iperf3 -c ping.online.net
    • iperf3 is connected to 5201/tcp on speedtest nodes.
  3. Establish a test using iperf3 udp mode. iperf3 -c ping.online.net -u
    • iperf3 is connected to both 5201/tcp and 5201/udp, tcp connection uses speedtest nodes when the udp one is fallen back to Match.

Logs

I have set DEBUG level, but no special log printed during my testing.

@sino1641 sino1641 added the bug Something isn't working label Jan 20, 2025
@xishang0128
Copy link
Contributor

  • I have read the documentation and understand the meaning of all the configuration items I have written, rather than just piling up seemingly useful options or default values.

https://wiki.metacubex.one/en/config/rules/#priority

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants