Process Rule
You may assign policy for specified process. Process rules work on Chute Mac and Chute Android: on iOS and tvOS the sandbox has no process attribution, so PROCESS-NAME, PROCESS-PATH and PROCESS-NAME-REGEX never match there and such rules are skipped. On Android, PROCESS-NAME and PROCESS-NAME-REGEX match the package name of the app that opened the connection and PROCESS-PATH the path of its APK, for TCP connections the VPN captures; a connection through the HTTP or SOCKS5 listener has no owner Chute can look up. UDP traffic carries no process information on any platform, so process rules never match it.
There are 3 process rule types: PROCESS-NAME, PROCESS-PATH, and PROCESS-NAME-REGEX.
PROCESS-NAME
PROCESS-NAME,Telegram,Proxy
Rule matches if the process name of the request matches. Wildcard characters * and ? are supported.
The process name a session carries is only ever a name, never a full path: for macOS application bundles it is the app's localized display name; for other processes it is the executable filename. A PROCESS-NAME value that contains
/is matched against the process path instead —PROCESS-NAME,/Applications/Safari.app/,Proxyworks, a trailing/standing for everything inside the bundle. PROCESS-PATH is the clearer way to write that.
PROCESS-PATH
PROCESS-PATH,/Applications/Safari.app,Proxy
Rule matches if the full process path of the request matches the pattern (case-insensitive). Wildcard characters * and ? are supported.
Notice: PROCESS-PATH works on macOS for all inbounds (HTTP, SOCKS5, and TUN). For application bundles the rule matches against the bundle path (e.g.
/Applications/Safari.app); for other processes it matches against the full executable path. On Android it matches against the path of the app's APK file. Matching is case-insensitive. On iOS the process path is never populated, so PROCESS-PATH rules do not match there.
PROCESS-NAME-REGEX
PROCESS-NAME-REGEX,^Safari$,DIRECT
Rule matches if the process name matches the regular expression.