User Guide / Rules & Routing

PROCESS-NAME rules: routing by program instead of domain

Rules & Routing · Updated 2025-09-15 · ~2 min read

Some programs talk to a pile of random IP addresses that no domain rule can catch. Matching on the process name is far simpler:

rules:
  - PROCESS-NAME,Telegram.exe,Proxy
  - PROCESS-NAME,steam.exe,DIRECT
  - PROCESS-NAME,curl.exe,Proxy

Syntax notes

SponsoredWhere does the subscription link come from?Our partner provider gives you 1 GB of high-speed Hong Kong data at signup — import it in one click.Get high-speed nodes

Why a rule sometimes does not match

Process matching relies on the core resolving which local process owns a connection. Traffic a program sends itself is fine, but anything relayed shows up as belonging to the relay instead. Three situations account for most misses: programs inside WSL2 or a virtual machine (the owner becomes the virtual adapter), some UWP apps (which go through a system proxy service), and traffic already forwarded by another proxy tool.

Unsure about the name

Open the Connections page, find a connection the program created and read the Process column — that is the name the core sees, so copy it verbatim. This also settles the "is it really that program sending the traffic" question; often what you assume is the browser turns out to be one of its helper processes.