[Feature Request] Enhance routing steam games
- Dominant language
- Go
- Stars
- 6.2k
- Forks
- 404
- Avg merge
- 57m
- Merged PRs (30d)
- 2
Description
### Greetings
Thanks for the good work for this project. This is a not-that-necessary feature. But it will be nice if we can have it.
### Feature Request
When I launch a steam game, the process name is like:
```
Z:\home\hiroo\.local\share\Steam\steamapps\common\P3R\P3R\Binaries\Win64\P3R.exe
```
And the dae logs show that it takes the process name as `Z:\home\hiroo\.l`. (I trimmed some information in the logs.)
```
Jul 15 19:24:41 my-instance dae[1278904]: level=info msg="" dialer="" dscp=0 ip="" mac="" network=udp4 outbound=proxy pid=1502686 pname="Z:\home\hiroo\.l" policy=min_moving_avg sniffed=
```
I need to write `pname("Z:\home\hiroo\.l") -> direct` to route the game process correctly, if I don't want it to be routed to proxy outbound, which is kind of unfriendly.
It will be helpful to support routing by comm, i.e. `P3R.exe` instead of the first several chars of cmdline.
```
# cat /proc/1502686/comm
P3R.exe
cat /proc/1502686/cmdline
Z:\home\hiroo\.local\share\Steam\steamapps\common\P3R\P3R\Binaries\Win64\P3R.exe
```
### Use Cases
It will help a lot for configuring routing separately for P2P games and other games.
For example, when playing Master Duel, I prefer to use proxy. And when playing Monster Hunter, I need to use direct outbound to connect with my friends.
### Potential Benefits
Not a critical or important feature. However, it will be easier to configure routing for different games, and furthermore different wine processes.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how dae obtains the process name shown as pname in its logs, comparing the existing cmdline handling with /proc//comm. Confirm the routing policy matching path, then verify that a rule matching P3R.exe can select direct while other game names remain independently configurable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- networking, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100